The Status API
Siren Investigate exposes an API to monitor the application status.
The API is available via the HTTP GET method at /api/status?pretty=true
The response status code will indicate the health of the application.
- 
200 - application is working as expected
 - 
503 - there is a problem with the application that requires an administrator intervention
 
The response payload is a JSON containing details about application components.
Example fragment of the payload when the application is working as expected:
{
  "name": "investigate.local",
  "version": "5.6.10",
  "buildNum": 8467,
  "buildSha": "6cb7fec4e154faa0a4a3fee4b33dfef91b9870d9",
  "buildTimestamp": "0000",
  "uuid": "82bed34c-9217-4c72-96ee-51de88979d54",
  "status": {
    "overall": {
      "state": "green",
      "title": "Green",
      "nickname": "Looking good",
      "icon": "success",
      "since": "2022-07-28T17:13:28.950Z"
    },
    "statuses": [
      {
          "id": "ui settings",
          "state": "green",
          "icon": "success",
          "message": "Ready",
          "since": "2022-07-28T17:13:32.752Z"
      },
      ...
    ]
  }
}
Example fragment of the payload when there is a problem with the application:
{
  "name": "investigate.local",
  "version": "5.6.10",
  "buildNum": 8467,
  "buildSha": "6cb7fec4e154faa0a4a3fee4b33dfef91b9870d9",
  "buildTimestamp": "0000",
  "uuid": "82bed34c-9217-4c72-96ee-51de88979d54",
  "status": {
    "overall": {
      "state": "red",
      "title": "Red",
      "nickname": "Danger Will Robinson! Danger!",
      "icon": "danger",
      "since": "2022-07-28T17:13:28.950Z"
    },
    "statuses": [
      {
          "id": "ui settings",
          "state": "green",
          "icon": "success",
          "message": "Ready",
          "since": "2022-07-28T17:13:32.752Z"
      },
      ...
      {
          "id": "migration",
          "state": "red",
          "icon": "danger",
          "message": "There was a problem with migration ...",
          "since": "2022-07-28T17:13:32.752Z"
      },
      ...
    ]
  }
}
By default, the status API endpoint requires authentication.
To disable authentication for this endpoint, add the following to investigate.yml
status.allowAnonymous: true