Skip to content
  • There are no suggestions because the search field is empty.

API FAQ's (Frequently Asked Questions)

This help article answers frequently asked questions about the Checklick API

If you’re integrating your own system with Checklick, this FAQ answers common questions about how the Checklick API works, what data it provides, and how to structure your integration.

The Checklick API is a RESTful API that returns JSON and follows the JSON:API specification.


Who can use the Checklick API?

The Checklick API is available to organizations using Checklick.

Each manager can generate their own secret API key. This key is separate from their username and password.

Your API access matches your access in the Checklick web app. That means you can only view and edit data for people within organizations you manage, plus organizations you can view because of checklist licences.


How do I get started?

To send your first test request:

  1. Log in to Checklick as a manager of your organization.
  2. Click the user context menu in the top-right corner.
  3. Click your name.
  4. Find the API Secret Key section and generate a new key.
  5. Copy the sample cURL command shown beneath your key and run it in your terminal.

If everything is set up correctly, you should receive a JSON response with a list of people in your organization.


What base URL and headers are required?

All API requests must be sent to:

https://api.checklick.com

Requests sent to other subdomains, such as app.checklick.com, or over plain HTTP will be refused.

Every request should include these headers:

Content-Type: application/vnd.api+json
Api-Version: 2
Authorization: Token token=YOUR_SECRET_KEY
Organization-Id: YOUR_ORG_ID

The Organization-Id acts as the request context, so the data you receive is limited to what you can access for that organization in Checklick.


What can I retrieve from the API?

The public API includes endpoints for:

  • users
  • tags
  • tag applications
  • checklists
  • levels
  • sections
  • skills
  • assessments
  • credentials

Some commonly used endpoints include:

  • GET /users
  • GET /users/:id
  • GET /users/:id/assessments
  • GET /users/:id/credentials
  • GET /tags
  • GET /checklists
  • GET /levels
  • GET /sections
  • GET /skills

How do users and visibility work?

Users are the people visible to your organization in Checklick.

You can retrieve them with:

  • GET /users
  • GET /users/:id

User records can include attributes such as:

  • first-name
  • last-name
  • email
  • birth-date
  • address fields
  • created-at
  • updated-at

Can I create or update users?

Yes.

The published API supports:

  • POST /users to create a user
  • PATCH /users/:id to update a user

When creating a user, the minimum required fields are:

  • username
  • first-name
  • last-name
  • email
  • birth-date
  • password
  • password-confirmation

Can I change the page size on GET requests?

Yes.

By default, paginated responses return 10 items per call.

You can request a different page size using:

page[size]=N

Example:

GET /users?page[size]=20&page[number]=1

Notes:

  • The default page size is 10
  • The recommended maximum is 20
  • Values above 20 may be capped by server configuration
  • Responses include pagination links such as next and last

Does the API support filtering and searching?

Yes.

List endpoints can be filtered using query parameters. Most attributes can be used as filters.

Example:

GET /users?filter[last_name]=Smith

You can also use time-based filters such as:

  • filter[created_on_or_after]
  • filter[created_before]

These use UNIX timestamps.


Does Checklick rate limit the API?

Checklick does not currently apply documented application-level rate limiting, and there is no published built-in throttling behavior such as HTTP 429 responses in the current API help content.

For large exports, we recommend:

  • using page[size]=20
  • keeping concurrency modest
  • implementing retry logic in your integration

If you need to export a large number of users, plan on roughly:

  • ceil(total_users / 20) list requests
  • plus any nested requests for credentials, assessments, or tag applications per user

What is a credential?

A credential represents the outcome for a level within a checklist program, including whether that level was passed.

Credential records include attributes such as:

  • evaluatee-id
  • evaluator-id
  • level-id
  • organization-id
  • pass
  • created-at

Example endpoint:

GET /users/1/credentials/14314799

Example response:

{
"type": "credentials",
"attributes": {
"created-at": "2025-12-10T04:34:02.227-05:00",
"evaluatee-id": 1,
"evaluator-id": 1,
"level-id": 2,
"organization-id": 1,
"pass": true
}
}

In this example, user 1 has pass: true on level-id: 2, recorded at organization 1.

You can retrieve credentials with:

  • GET /users/:user_id/credentials
  • GET /users/:user_id/credentials/:id

What is an assessment?

An assessment is the saved response for a single skill or form line in a checklist.

Depending on the skill definition, this can include:

  • checkboxes
  • radio selections
  • a points value
  • free text

Assessment records can include:

  • skill-id
  • evaluatee-id
  • evaluator-id
  • organization-id
  • check-box-1 through check-box-10
  • radio-button
  • points-slider
  • text-field
  • created-at

Example endpoint:

GET /users/14/assessments/1979

Example response:

{
"type": "assessments",
"attributes": {
"check-box-1": true,
"check-box-2": false,
"created-at": "2015-06-30T05:37:02.894-04:00",
"evaluatee-id": 14,
"evaluator-id": 8,
"organization-id": 4,
"skill-id": 106
}
}

To interpret response fields such as checkboxes, use the related skill definition from:

GET /skills/:id

You can retrieve assessments with:

  • GET /users/:user_id/assessments
  • GET /users/:user_id/assessments/:id
  • GET /skills/:skill_id/assessments

What is the difference between assessments and credentials?

Assessments and credentials represent two different levels of evaluation data.

  • Assessments store the response for one skill
  • Credentials store the outcome for one level

If you’re looking for pass/fail at the level level, use credentials.

If you’re looking for detailed responses to individual checklist items, use assessments.


Where does pass/fail exist?

Pass/fail is available on credentials, not on assessments.

A credential’s pass value may be:

  • true
  • false
  • null

Assessments do not include a pass field, so skill-level results must be interpreted from the assessment response fields together with the related skill definition.

For a user’s current status for a given level, use the most recent credential by created-at for that evaluatee-id and level-id combination.


How do tags, skills, applications, checklists, levels, and sections relate?

Here is a simple glossary for the main API terms:

API term Meaning in Checklick
checklist The overall program or evaluation template
level A stage within that program
section A grouping of items within a level
skill One row or item on the evaluation form
assessment A saved answer for one skill
credential Pass/fail or progress for one level
tag A label definition in admin
tag-application A label applied to a person

How do I reconstruct the checklist or evaluation form structure?

The API does not return one single nested “form” document.

Instead, you build the structure by loading and joining several resources:

  1. GET /checklists
  2. GET /levels
  3. GET /sections
  4. GET /skills

Then overlay user-specific data from:

  • GET /users/:id/assessments
  • GET /users/:id/credentials

At a high level, the structure is:

checklist → level → section → skill

Then add event data from:

  • assessments
  • credentials

Is there a “forms” resource?

No.

There is no dedicated forms resource in the public API.

A Checklick form is represented through the combination of:

  • checklists
  • levels
  • sections
  • skills
  • assessments
  • credentials

Which organizations is a user affiliated with?

Affiliation is not exposed as a dedicated API resource.

You may still infer some affiliation context from:

  • GET /users/:user_id/tag-applications
  • the user lists returned under each Organization-Id you manage

Can I retrieve completed courses or storefront purchases from the public API?

Not through the public API documented here.

The public API supports checklist evaluation data such as:

  • credentials
  • assessments
  • checklist structure resources

However, storefront courses, registrations, and orders are not available on the public API described in the current documentation.

If your use case depends on course registration or payment data, please contact us to discuss options.


What is the recommended API call sequence?

A practical sync order is:

  1. Load catalog resources that change infrequently:

    • GET /checklists
    • GET /levels
    • GET /sections
    • GET /skills
  2. Load reference data such as:

    • organizations
    • tags
  3. Load users using paginated requests

  4. For each user, retrieve:

    • credentials
    • assessments
    • tag applications
  5. For ongoing syncs, repeat using supported date filters where available


How should I model this in an intermediate database?

A good approach is to treat each API resource as a source table in your warehouse or integration database.

Recommended modeling approach:

  • use stable integer id values as primary identifiers
  • use fields such as created-at for incremental syncs
  • use supported date filters where available
  • join entities using foreign keys such as:
    • skill-id
    • level-id
    • evaluatee-id
    • evaluator-id
    • organization-id

For deduplication across systems, use the Checklick user ID as the primary system key, then apply your own matching rules for attributes such as email and name if needed.


Is there an official ERD or deeper integration documentation?

Checklick does not currently publish a separate official ERD for integrators in the public help documentation.

The most reliable references are:

  • the published API help articles
  • the production API behavior
  • the resource relationships described in this FAQ

Why is my API request failing?

Most connection issues come from one of these setup problems:

  • missing Content-Type: application/vnd.api+json
  • missing Api-Version: 2
  • missing or invalid authorization token
  • missing or incorrect Organization-Id
  • sending the request to the wrong host instead of api.checklick.com
  • sending the request over HTTP instead of HTTPS

If you’ve checked those items and you’re still having trouble, contact support@checklick.com.