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 as`60`**[cpu_load_average]**→ a CPU load value from`0.00`to`10.00`**[ram_percent_used]**→ a RAM usage ratio from`0.00`to`1.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.
Последнее изменение: 05/05/2026
Спасибо!