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

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