Articles on: Automations

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:


Installation instructions are maintained in each library repository because every language and runtime has its own setup requirements.



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.


The reporter token is an alphanumeric string separated by dashes.


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.


Node identifiers in Crisp Status Page settings



Report status manually


This section is for advanced integrations only. Use the official reporter libraries whenever possible, unless you have a specific reason to call the Status Reporter API yourself.


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


Manual reporting only works for nodes configured in 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

Was this article helpful?

Share your feedback

Cancel

Thank you!