How to setup the Crisp Status Reporter library
Learn how to configure a Crisp Status Reporter library for push mode monitoring.
Crisp Status Reporter lets application nodes push their health to Crisp Status Page. Use it when you want an application to report its own status, CPU load, and RAM usage instead of being checked only through public HTTP, TCP, or ICMP polling.
Choose a reporter library
Crisp provides Status Reporter libraries for several application platforms. Install the library that matches your application stack, then follow the setup instructions from its GitHub repository.
Available reporter libraries:
- Rust → rs-crisp-status-reporter
- Node → node-crisp-status-reporter
- Golang → go-crisp-status-reporter
- Python → python-crisp-status-reporter
Get your reporter token and node identifiers
When configuring a reporter library, you need three values: token, service_id, and node_id. You can retrieve them from your Crisp Status Page settings.
Open Crisp, then go to Settings → Status Page.
Get your reporter token
Your private reporter token is available in Configure your Status Reporter. Copy it and keep it private, because it allows your reporter to authenticate status updates.
Get your node identifiers
Your service_id and node_id values are available from Manage monitored services. Hover the node you want to configure, then click Show details to reveal its identifiers.

Report status manually
Crisp Status exposes a reporter endpoint you can call at a fixed interval. This is useful when you need a custom integration that is not covered by an existing library.
Request format
API endpoint: https://report.crisp.watch/v1/report/[service_id]/[node_id]
Request method: HTTP POST
Request authentication: Basic Auth, with a blank username and your reporter token as the password
Request content type: application/json; charset=utf-8
{
"replica_id" : "[replica_id]",
"interval" : "[interval_seconds]",
"load" : {
"cpu" : "[cpu_load_average]",
"ram" : "[ram_percent_used]"
}
}
Replace these values before sending the request:
[service_id]→ the service identifier from your Crisp Status settings[node_id]→ the node identifier from your Crisp Status settings[replica_id]→ a replica identifier, such as an application hostname or IP address[interval_seconds]→ the reporting interval in seconds, such as60[cpu_load_average]→ a CPU load value from0.00to10.00[ram_percent_used]→ a RAM usage ratio from0.00to1.00
push mode.Reporting interval
Send reports at the same interval you declare in the request body. For example, if interval is set to 60, your application should report every 60 seconds.
If Crisp Status does not receive the expected report in time, the node can be marked as dead.
Frequently Asked Questions
Still have questions which were not covered in this article? Here is a collection of the most frequently asked questions on this topic.
Should I use a library or the manual API endpoint?
Use a reporter library whenever possible. The libraries handle the standard reporting flow for you and reduce the risk of sending malformed or irregular status reports.
Use the manual API endpoint only for custom runtimes or advanced integrations where no official library fits your setup.
What happens if my application stops reporting?
The node can be marked as dead. In push mode, Crisp Status expects reports at the interval you configured. If reports stop arriving on time, Crisp assumes the node may be down.
Updated on: 03/05/2026
Thank you!