> For the complete documentation index, see [llms.txt](https://guides.tability.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://guides.tability.io/docs/become-a-tability-power-user/features/check-ins/using-the-check-ins-api.md).

# Using the Check-ins API

You can create check-ins using a special URL to which you send a JSON payload with the corresponding data.

For a full public API, please refer to [Tability API Guide](https://guides.tability.io/api/)

{% hint style="info" %}
This feature is available for Tability Plus and Tability Premium.
{% endhint %}

## Enabling remote check-ins for specific outcomes/key results

Remote check-ins can be enabled separately for each outcome in your workspace.

1. Open up your outcome panel
2. Click on the **Check-ins API** in the outcome panel menu\
   ![](/files/o0uuyXMJ59RmCPSLVnFf)
3. Enable the remote check-ins options and you'll be able to copy the remote check-ins URL\
   ![](/files/CHJeCPA43KtZwX06a5Oe)

## Get your personal API token to authenticate your request

Before creating your new check-in, Tability will need a way to know that it's you.

Open up a new window, and go to [https://tability.app/account](https://web.archive.org/web/20230922075821/https://tability.app/account) where you'll find your Personal API Token.

Keep that window open as we'll need to copy that value later.

## Using the Remote Check-in URL to post a new check-in

Now you can use this URL to post a new check-in with a simple HTTP POST request that will look like this:

```
POST https://api.tability.app/webhooks/checkins?remote_checkins_token=XXXXXXXXXXXXXXXX
Content-type: application/json
{
    "personal_api_token": "XXXXXXXXXXXXXXX",
    "score": "25000",
    "body": "MRR is now at $25,000"
}
```

The **remote\_checkins\_token** value should be the same as the one in Tability, and the personal\_api\_token value should be the same as your Personal API Token.

That's it! If you refresh your outcome panel you should see a new value on the graph. You'll notice that Tability automatically picks a color based on the score, but this is something that you can change as we'll see below.

## Advanced usage

### Manually setting the confidence

By default, Tability will pick the confidence based on the estimated progress.

* Green if the progress is above 70% of the projected growth.
* Yellow if the progress is between 50% and 70% of the projected growth.
* Red if the progress is below 50% of the projected growth.

You can set your own confidence in the POST request by adding the confidence parameter to the request:

```
POST https://api.tability.app/webhooks/checkins?remote_checkins_token=XXXXXXXXXXXXXXXX
Content-type: application/json
{
    "personal_api_token": "XXXXXXXXXXXXXXX",
    "score": "25000",
    "body": "MRR is now at $25,000",
    "confidence": "green",
}
```

### Incrementing the score from the previous value

There might be times when you'll want the new value to be added to the previous check-in. For instance, you're recording the total number of calls made, and you want to add 5 calls this week to the previous 30 calls recorded.

You can do that simply by adding the parameter score\_type and setting its value to "increment":

```
POST https://api.tability.app/webhooks/checkins?remote_checkins_token=XXXXXXXXXXXXXXXX
Content-type: application/json
{
    "personal_api_token": "XXXXXXXXXXXXXXX",
    "score": "5",
    "score_type": "increment",
    "body": "This request will increment the value by 5",
    "confidence": "green",
}
```

You can use a negative value for the score if you need to decrease the total value instead.
