---
title: How Do I Use the Checklick API
description: Learn how to use the Checklick API to integrate your organization’s systems with Checklick. Follow the quick start guide, understand API endpoints, authentication requirements, and how to manage users, tags, and checklists with secure, versioned RESTful requests.
---

[Skip to content](https://help.checklick.com/articles/how-do-i-use-the-checklick-api#main-content)

- [English](https://help.checklick.com/articles/how-do-i-use-the-checklick-api)
- [Français](https://help.checklick.com/fr/articles/how-do-i-use-the-checklick-api)

English

Show submenu for translations

[![Checklick Logo](https://help.checklick.com/hs-fs/hubfs/CheckLick%20Logo.png?width=100&height=19&name=CheckLick%20Logo.png)](https://support.checklick.com/migration/migrated/knowledge)

Open main navigation

Close main navigation

- - [English](https://help.checklick.com/articles/how-do-i-use-the-checklick-api)
    - [Français](https://help.checklick.com/fr/articles/how-do-i-use-the-checklick-api)

  English
  
  Show submenu for translations
- [Submit a Ticket](mailto:support@checklick.com)

[Submit a Ticket](mailto:support@checklick.com)

 How can we help you?

- There are no suggestions because the search field is empty.

1. [Help Center](https://help.checklick.com/articles?hsLang=en)
2. [The Checklick API](https://help.checklick.com/articles/the-checklick-api?hsLang=en)
3. [Using the API](https://help.checklick.com/articles/the-checklick-api?hsLang=en#using-the-api)

# How Do I Use the Checklick API

If your organization wants to integrate its own systems with Checklick, you can use Checklick's API. The API is available to all organizations.

#### Quick Start

To jump right in and send a test request to Checklick:

1. Log in to Checklick as a manager of your organization
2. Click the user context menu (top right)
3. Click your name
4. Find the section **API Secret Key** and click **generate new key**
5. You should now see a text box with a sample cURL command. Copy and paste this into your terminal and hit enter.
6. You should get a JSON response with a list of all people in your organization.

#### About the API

Checklick's API is a RESTful based API that returns data as JSON. The API adheres to the [JSON-API specification](https://jsonapi.org/), which is a documented standard for the structure of API requests and responses.

Each manager in Checklick is able to generate their own secret API key (independent of their username and password), which they can use to access data within Checklick via the API.

The scope of an API user’s data access will be the same as their scope of access in the web app. An API user will only be able to view and edit data from people within organizations they manage, and organizations they may view because of checklist licences.

#### API Endpoints

The API uses stateless, resource-based URIs. The following endpoints are available from **https://api.checklick.com** as of the latest API version (version 2):

| **URI** | **HTTP Verb** | **Description** |
| --- | --- | --- |
| **/users** | GET | Retrieve all people visible to this organization |
| **/users** | POST | Create one new person |
| **/users/1** | GET | Retrieve one person |
| **/users/1** | PATCH | Update one person |
| **/users/1/assessments** | GET | Retrieve all assessments (skill records) for one person |
| **/users/1/assessments/1** | GET | Retrieve a specific assessment record for one person |
| **/users/1/credentials** | GET | Retrieve all credential records for one person. **Credential records are what are used to produce level completion certificates.** |
| **/users/1/credentials/1** | GET | Retrieve a specific credential record for one person. **Credential records are what are used to produce level completion certificates.** |
| **/users/1/tag-applications** | GET | Retrieve all tag applications (general tags) for one person |
| **/users/1/tag-applications/1** | GET  | Retrieve a specific tag application for one person |
| **/users/1/tag-applications** | POST | Apply an existing tag to a person |
| **/users/1/tag-applications/1** | DELETE | Remove an existing tag from a person |
| **/tags** | GET | Retrieve all existing tags (created by your organization)  |
| **/tags** | POST | Create one new tag |
| **/tags/1** | GET | Retrieve one existing tag |
| **/tags/1** | PATCH  | Update one existing tag |
| **/tags/1** | DELETE | Delete one existing tag |
| **/tags/1/tag-applications** | GET | Reveal all tag applications (general tags) of one tag. |
| **/tags/1/tag-applications** | PUT | Apply an existing tag to a person |
| **/tags/1/tag-applications/1** | GET | Retrieve a specific tag application for one person |
| **/tags/1/tag-applications/1** | DELETE | Remove an existing tag from a person  |
| **/checklists** | GET | Retrieve all checklists available to this organization |
| **/checklists/1** | GET | Retrieve a specific checklist |
| **/levels** | GET | Retrieve all levels available to this organization |
| **/levels/1** | GET  | Retrieve a specific level |
| **/levels/1/credentials** | GET  | Retrieve all credentials (achieved levels) for this level and awarded to people visible to this organization. **Credential records are what are used to produce level completion certificates.** |
| **/levels/1/credentials/1** | GET  | Retrieve a specific credential. **Credential records are what are used to produce level completion certificates.** |
| **/sections** | GET  | Retrieve all sections available to this organization |
| **/sections/1** | GET  | Retrieve a specific section |
| **/skills** | GET  | Retrieve all skills available to this specific organization |
| **/skills/1** | GET  | Retrieve a specific skill |
| **/skills/1/assessments** | GET  | Retrieve all assessments (skill records levels) for this skill and recorded for people visible to this organization |
| **/skills/1/assessments/1** | GET  | Retrieve a specific assessment |

 

Here´s an example request for the following API endpoint **/tags POST Create one new tag**:

 

{

 "data": {

   "type": "tags",

   "attributes": {

     "name": "TAG NAME"    }

 }

}

 

 

**/tags/1/tag-applications PUT Apply an existing tag to a person:**

{

 "data": {

   "type": "tag\_applications",

   "attributes": {

     "detail": "detail text"

   },

   "relationships": {

     "tag": {

       "data": { "type": "tags", "id": 62782 }

     },

     "user": {

       "data": { "type": "users", "id": 161753 }

     }

   }

 }

}

 

 

#### Payload Description

### What are the minimum requirements for creating a new user?

When creating a new user the following fields are mandatory: username, first-name, last-name, email, birth-date, password, password-confirmation.

The full payload description is as follows:

{

  "data": {

    "type": "users",

    "attributes": {

      "username": "test user",

      "first-name": "testuser",

      "last-name": "testuser",

      "email": "test@test.com",

      "birth-date": "1999-02-19",

      "gender": "",

      "full-address": "",

      "street-address": "",

      "city": "",

      "province":  **null**,

      "country": "",

      "postal-code": "",

      "political":  **null**,

      "admin-area-2":  **null**,

      "admin-area-3":  **null**,

      "admin-area-4":  **null**,

      "admin-area-5":  **null**,

      "colloquial-area":  **null**,

      "ward":  **null**,

      "sublocality":  **null**,

      "neighborhood":  **null**,

      "premise":  **null**,

      "subpremise":  **null**,

      "lat":  **null**,

      "lng":  **null**,

      "phone":  **null**,

      "health-notes":  **null**,

      "emergency-contact-person":  **null**,

      "emergency-contact-details":  **null**,

      "password": "1234",

      "password-confirmation": "1234"

     }

  }

}      

   

Connection Requirements

 

### API Subdomain

All requests must be sent to **api**.checklick.com. Any API requests sent to app.checklick.com, www.checklick.com or any other Checklick subdomain will be refused.

### HTTPS

Requests sent over HTTP will be refused. All requests must be send using HTTPS. 

### Content-Type Header

All requests must include the [JSON API vendor-specific media type header](https://jsonapi.org/#mime-types). For example:

```
Content-Type:application/vnd.api+json
```

### API Version Header

The Checklick API is versioned, meaning future updates to the API won't necessarily break your current API implementation. The current API version is 2. All requests should include a version number as a header. For example:

```
Api-Version:2
```

### Secret Key

Checklick uses secret keys to authenticate each request (instead of username and password). Every manager of an organization can create a unique secret key. Here's how to generate your key:

1. Log in to Checklick as a manager of your organization
2. Click the user context menu (top right)
3. Click your name
4. Find the section **API Secret Key** and click **generate new key**

All requests must include a valid secret key. For example:

```
Authorization:Token token=2c96ef73e5ad003362b1851cb7c607f3
```

### Organization ID

Many Checklick organization managers manage more than one organization. As an additional method of authentication, all requests must include a header that specifies an organization ID that is from an organization managed by the user who's secret key was passed. For example:

```
Organization-Id:999
```

The organization ID will be used as the "context" for the request, meaning that the data that you received will be limited the same data you can access when you are managing that specific organization.

### Putting It All Together

If you are using cURL, your request might look something like this:

```
curl -X GET \
```

https://api.checklick.com/users \\

-H 'Api-Version: 2' \\

-H 'Authorization: Token token=2c96ef73e5ad003362b1851cb7c607f3' \\

-H 'Content-Type: application/vnd.api+json' \\

-H 'Organization-Id: 999'

This is a dummy request with fake headers. For a request with your *own* real headers, you can copy-and-paste the sample cURL command that is shown just beneath your API key in Checklick.

#### Pagination, Searching and Filtering

### Pagination

Results with more than 10 items will automatically be paginated. You'll see links at the bottom of your results to the first, next and last pages. For example:

```
"links": {
```

"first": "https://api.checklick.com/users?page%5Bnumber%5D=1&page%5Bsize%5D=10",

"last": "https://api.checklick.com/users?page%5Bnumber%5D=1&page%5Bsize%5D=10"

} 

### Searching or Filtering

When accessing endpoints that return multiple items, you can include a filter parameter to limit the numbers of items shown to you. These parameters should be included in your request as **query parameters**.

Most attributes can be used as parameters. For example, to filter all of your people by a specific last name, try:

```
https://api.checklick.com/users?filter[last_name]=Smith
```

You can also apply two special filters, **created\_on\_or\_after** and **created\_before** to show only records created on, after or before a specific date and time. The parameter for this filter is a UNIX timestamp. For example, to get all users created after January 1, 2018, try:

```
https://api.checklick.com/users/?filter[created_on_or_after]=1514764800
```

You can easily convert dates to UNIX timestamps using this [page](https://www.unixtimestamp.com/index.php).

- [Help for People with Checklick Accounts](https://help.checklick.com/articles/help-for-people-with-checklick-accounts?hsLang=en#main-content)

    - [Your Profile](https://help.checklick.com/articles/help-for-people-with-checklick-accounts?hsLang=en#your-profile)
    - [Your Logbook](https://help.checklick.com/articles/help-for-people-with-checklick-accounts?hsLang=en#your-logbook)
    - [Account Management](https://help.checklick.com/articles/help-for-people-with-checklick-accounts?hsLang=en#account-management)
- [Help with Checklick Storefronts](https://help.checklick.com/articles/help-with-checklick-storefronts?hsLang=en#main-content)

    - [Getting Started with Checklick Storefront](https://help.checklick.com/articles/help-with-checklick-storefronts?hsLang=en#getting-started-with-checklick-storefront)
    - [Storefront Management](https://help.checklick.com/articles/help-with-checklick-storefronts?hsLang=en#storefront-management)
    - [Running Your Storefront](https://help.checklick.com/articles/help-with-checklick-storefronts?hsLang=en#running-your-storefront)
- [Help for Evaluators and Managers](https://help.checklick.com/articles/help-for-evaluators-and-managers?hsLang=en#main-content)

    - [Getting Started](https://help.checklick.com/articles/help-for-evaluators-and-managers?hsLang=en#getting-started)
    - [Using Checklists](https://help.checklick.com/articles/help-for-evaluators-and-managers?hsLang=en#using-checklists)
    - [Managing your people](https://help.checklick.com/articles/help-for-evaluators-and-managers?hsLang=en#managing-your-people)
    - [Creating your own checklists](https://help.checklick.com/articles/help-for-evaluators-and-managers?hsLang=en#creating-your-own-checklists)
    - [Payment Plans and Billing](https://help.checklick.com/articles/help-for-evaluators-and-managers?hsLang=en#payment-plans-and-billing)
    - [Checklist Licensing (Sharing Your Checklists With Other Organizations)](https://help.checklick.com/articles/help-for-evaluators-and-managers?hsLang=en#checklist-licensing-sharing-your-checklists-with-other-organizations)
    - [Insights](https://help.checklick.com/articles/help-for-evaluators-and-managers?hsLang=en#insights)
- [Stripe Accounts](https://help.checklick.com/articles/stripe-accounts?hsLang=en)
- [The Checklick API](https://help.checklick.com/articles/the-checklick-api?hsLang=en#main-content)

    - [Using the API](https://help.checklick.com/articles/the-checklick-api?hsLang=en#using-the-api)

[![Checklick Logo](https://help.checklick.com/hs-fs/hubfs/CheckLick%20Logo.png?width=100&height=19&name=CheckLick%20Logo.png "Checklick Logo")](https://www.checklick.com/)

Checklick is a web-based platform for skill development.  
It helps generate checklists that are being used to test   
people’s abilities and provide feedback.

<https://www.facebook.com/checklick/> <https://x.com/checklick_team> <https://www.instagram.com/checklick_team/?hl=en> <https://www.checklick.com/> [mailto:support@checklick.com](mailto:support@checklick.com)

Copyright © 2025, Checklick