How to setup the Crisp Status Reporter library?
*If you're using Crisp Status to monitor nodes in* `push` *mode, you will need to setup a Crisp Status Reporter on each of your monitored application node.*
Crisp Status Reporter libraries are easy to install in your applications. Crisp supports a growing number of application platforms. You may contact us if you need a non-supported programming language or platform added.
Libraries
Find a Crisp Status Reporter library for your language:
- *Rust*: rs-crisp-status-reporter
- *Node*: node-crisp-status-reporter
- *Golang*: go-crisp-status-reporter
- *Python*: python-crisp-status-reporter
Get your reporter token & node identifier
When configuring your reporter library in your application, you'll need the following values: ` `token `, `` `service_id `, `` `node_id ``.
You can retrieve them from your *Crisp Status* settings here:
- Go to your Crisp Dashboard
- Go to *Settings → Status Page*
Get your token
You can get your secret token in the "Configure your Status Reporter" section.
Get node identifiers
You can get your node identifiers (` `node_id ` + `` `service_id ``) in the "Manage monitored services" section.
When you hover a node with your mouse, click on "Show details" to reveal the identifiers.

Manually report status
Crisp Status exposes a Crisp Status Reporter API endpoint that you can use to do the periodic status push yourself. This section explains the format of a reporting request, and when to trigger such a request.
Report request format
*API endpoint:* [`` `https://report.crisp.watch/v1/report/[service_id]/node_id]` ``
` `[service_id] ` and `` `[node_id] `` with your node identifiers. See "Get node identifiers" above for more on how you can get those identifiers.*Request method:* ` `HTTP POST ``
*Request authentication:* ` `Basic Auth ``, with username blank and password to token value (see "Get your token" above)
*Request content type:* ` `application/json; charset=utf-8 ``
*Request body:*
{ "replica_id" : "[replica_id]", "interval" : "[interval_seconds]", "load" : { "cpu" : "[cpu_load_average]", "ram" : "[ram_percent_used]" }}
Replace:
- *[replica_id]:* a replica identifier, can be anything defining the host pushing its status, eg. its IP address like
` `192.168.1.2`` - *[interval_seconds]:* the interval at which you plan to send periodic reports, in seconds, eg.
` `60`` for 1 minute - *[cpu_load_average]:* a float number from
` `0.00` to `` `10.00` indicating current CPU load (can be `` `0.00``) - *[ram_percent_used]:* a float number from
` `0.00` to `` `1.00` indicating the current percent of RAM used (can be `` `0.00``)
` `push `` mode.When to report status
The status reporting request is to be executed at a fixed interval, eg. every minute. Once you start reporting every minute, and you've set ` `interval ` in your request body to eg. `` `60 ` seconds, you need to commit to reporting at this interval. If you don't report in time, Crisp Status will mark the node as `` `DEAD ``.
Bijgewerkt op: 12/02/2026
Dankuwel!