API Docs

Issues API


The Issue API allows you to create issues, add updates, and publish them to your status pages. This guide includes a detailed reference of issue attributes, as well as examples of creating, modifying, and deleting an issue.

If this is your first time using the Cronitor API, see our API Overview that covers authentication and version pinning.

Logged-in users can view and interact with this endpoint directly in their browser at https://cronitor.io/api/issues.

name string

The display name of this issue. Used to identify the issue in alerts, within the Cronitor application, and, if published, on your status page(s).

environment string default: your default environment

The key of the environment this issue is assigned to. To view your full list of current environment keys, see: https://cronitor.io/app/settings/environments

severity string enum optional

The severity of the issue. Used within the Cronitor application, and, if published, on your status page(s). Options:

  • missing_data
  • operational
  • maintenance
  • degraded_performance
  • minor_outage
  • outage
state string enum default: unresolved

The current state of the issue. Used within the Cronitor application, and, if published, on your status page(s). Options:

  • unresolved
  • investigating
  • identified
  • monitoring
  • resolved
  • update
started string datetime default: now

An ISO 8601 formatted timestamp of when the issue started, e.g. 2023-06-02T09:39:31Z

assigned_to string email address optional

Must be a member of your Cronitor team. An email notification will be sent.

statuspages list[string] optional

An optional list of status pages where this issue should be published. Each list entry should be the key of an active status page in your account.

Not included by default. Add flag withStatusPageDetails=true to use.

affected_components list[string] optional

An optional list of affected status page components that this issue should be associated with. Each list entry should be the key of an active status page component in your account. Note: The affected component must belong to a status page included in statuspages.

Read Only Attributes

created timestamp

ISO 8601 formatted timestamp of when the issue was created.

updated timestamp

ISO 8601 formatted timestamp of when the issue was created.

monitors list[object]

Details, including the current pass/fail state, of any monitors associated with this issue.

Not included by default. Add flag withMonitorDetails=true to use.

updates list[object]

Details of any updates added to this issue. Attributes:

  • message Update description (max length: 2000 chars)
  • state The current issue state, from:
    • unresolved
    • investigating
    • identified
    • monitoring
    • resolved
    • update
  • timestamp An ISO 8601 formatted timestamp. Default: now
alerts list[object]

Alert history

Not included by default. Add flag withAlertDetails=true to use.

key sting

The unique identifier for this issue.

Creating Issues

POST https://cronitor.io/api/issues   |   status_codes: 201, 400
 // create an issue
curl --user <API-KEY>: \
    --header "Content-Type: application/json" \
    --request POST \
    --data '{
        "name": "Service Unavailable",
        "severity": "outage",
        "assigned_to": "developer@example.com"
    }' \
https://cronitor.io/api/issues

// create an issue and publish to a status page
curl --user <API-KEY>: \
    --header "Content-Type: application/json" \
    --request POST \
    --data '{
        "name": "Service Unavailable",
        "severity": "outage",
        "assigned_to": "developer@example.com",
        "statuspages": ["988ae49478f12afd"]
    }' \
https://cronitor.io/api/issues

Retrieving Issues

Issues can be retrieved in bulk by making a GET request to the top level issues resource.

GET https://cronitor.io/api/issues
curl https://cronitor.io/api/issues -u <API-KEY>:

An individual issue can be retrieved by making a GET request that includes an issue key in the URL.

GET https://cronitor.io/api/issues/:issueKey
curl https://cronitor.io/api/issues/c096dd184de20330 -u <API-KEY>:

Updating Issues

Issues can be modified by making a PUT request that includes an issue key in the URL.

PUT https://cronitor.io/api/issues/:issueKey   |   status_codes: 200, 400
curl --user <API-KEY>: \
    --header "Content-Type: application/json" \
    --request PUT \
    --data '{
        "state": "resolved"
    }' \
    https://cronitor.io/api/issues/c096dd184de20330