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.
In this guide:
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:
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:
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
.
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:
timestamp
An ISO 8601 formatted timestamp. Default: nowalerts
list[object]
Alert history
Not included by default. Add flag withAlertDetails=true
to use.
key
sting
The unique identifier for this issue.
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
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>:
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