Download OpenAPI specification:
Here you'll learn how to leverage the power of StatusPal through its API to query your status page's status, create and update incidents, push custom metrics and more.
https://statuspal.io/api/v2 (US servers)https://statuspal.eu/api/v2 (EU servers)If you need some assistance please email us at support@statuspal.io.
curl https://statuspal.io/api/v2/hello \
-H 'Accept: application/json' \
-H 'Content-Type: application/json'
All datetime fields are stored in UTC and follow ISO 8601 standard (2022-01-01T00:00:00).
Some endpoints require authentication in order to be used, you'll need to pass your API
key in the Authorization header, you can find your API key in your
User Account page or under your organization's
"Security > API" Keys page.
curl -X POST \
https://statuspal.io/api/v2/status_pages/:subdomain/incidents \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Authorization: <your-api-key>' \
-d '{
"incident": {
"type": "major",
"title": "DB connection issues",
"service_ids": [1],
"updates": [{ "type": "issue", "description": "We investigating" }]
}
}'
Our API has the following rate limits:
300 requests per 10 seconds
100 requests per 10 seconds
If the rate limit is exceeded, the API will return a 429 status code.
Please contact us at support@statuspal.io and we'll be happy to help you.
| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
{- "status_page": {
- "url": "google.com",
- "time_zone": "Etc/UTC",
- "subdomain": "google",
- "name": "Google",
- "current_incident_type": "major"
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| serviceId required | integer The ID of a service |
{- "service": {
- "name": "Monitoring service",
- "id": 0,
- "current_incident_type": "major",
- "children": [
- { }
]
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
{- "status_page": {
- "url": "google.com",
- "time_zone": "Etc/UTC",
- "subdomain": "google",
- "name": "Google",
- "current_incident_type": "major"
}, - "services": [
- {
- "name": "Monitoring service",
- "id": 0,
- "current_incident_type": "major",
- "children": [
- { }
]
}
], - "incidents": [
- {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "title": "We are having issues with the DB connection",
- "starts_at": "2022-01-01T00:00:00",
- "ends_at": "2022-01-01T00:00:00",
- "type": "major",
- "service_ids": [
- 1
], - "updates": [
- {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "posted_at": "2022-01-01T00:00:00",
- "type": "issue",
- "description": "We have detected an issue with our CDN",
- "description_html": "<p>We have detected an issue with our CDN</p>",
- "translations": {
- "en": {
- "description": "English description"
}, - "es": {
- "description": "Spanish description"
}
}, - "subscribers_notified_at": "2022-01-01T00:00:00",
- "tweet": true
}
], - "translations": {
- "en": {
- "title": "English Title"
}, - "es": {
- "title": "Spanish Title"
}
}, - "notify": true,
- "maintenance_notify": true,
- "maintenance_notify_settings": {
- "before_notice_minutes": 7200,
- "second_before_notice_minutes": 0,
- "on_start": true,
- "on_end": true
}, - "affects_uptime": true
}
], - "maintenances": [
- {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "title": "We are having issues with the DB connection",
- "starts_at": "2022-01-01T00:00:00",
- "ends_at": "2022-01-01T00:00:00",
- "type": "scheduled",
- "service_ids": [
- 1
], - "updates": [
- {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "posted_at": "2022-01-01T00:00:00",
- "type": "issue",
- "description": "We have detected an issue with our CDN",
- "description_html": "<p>We have detected an issue with our CDN</p>",
- "translations": {
- "en": {
- "description": "English description"
}, - "es": {
- "description": "Spanish description"
}
}, - "subscribers_notified_at": "2022-01-01T00:00:00",
- "tweet": true
}
], - "translations": {
- "en": {
- "title": "English Title"
}, - "es": {
- "title": "Spanish Title"
}
}, - "notify": true,
- "maintenance_notify": true,
- "maintenance_notify_settings": {
- "before_notice_minutes": 7200,
- "second_before_notice_minutes": 0,
- "on_start": true,
- "on_end": true
}, - "affects_uptime": true
}
], - "upcoming_maintenances": [
- {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "title": "We are having issues with the DB connection",
- "starts_at": "2022-01-01T00:00:00",
- "ends_at": "2022-01-01T00:00:00",
- "type": "scheduled",
- "service_ids": [
- 1
], - "updates": [
- {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "posted_at": "2022-01-01T00:00:00",
- "type": "issue",
- "description": "We have detected an issue with our CDN",
- "description_html": "<p>We have detected an issue with our CDN</p>",
- "translations": {
- "en": {
- "description": "English description"
}, - "es": {
- "description": "Spanish description"
}
}, - "subscribers_notified_at": "2022-01-01T00:00:00",
- "tweet": true
}
], - "translations": {
- "en": {
- "title": "English Title"
}, - "es": {
- "title": "Spanish Title"
}
}, - "notify": true,
- "maintenance_notify": true,
- "maintenance_notify_settings": {
- "before_notice_minutes": 7200,
- "second_before_notice_minutes": 0,
- "on_start": true,
- "on_end": true
}, - "affects_uptime": true
}
], - "info_notices": [
- {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "title": "We are having issues with the DB connection",
- "featured_from": "2022-01-01T00:00:00",
- "featured_until": "2022-01-01T00:00:00",
- "service_ids": [
- 1
], - "updates": [
- {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "posted_at": "2022-01-01T00:00:00",
- "type": "issue",
- "description": "We have detected an issue with our CDN",
- "description_html": "<p>We have detected an issue with our CDN</p>",
- "translations": {
- "en": {
- "description": "English description"
}, - "es": {
- "description": "Spanish description"
}
}, - "subscribers_notified_at": "2022-01-01T00:00:00",
- "tweet": true
}
], - "translations": {
- "en": {
- "title": "English Title"
}, - "es": {
- "title": "Spanish Title"
}
}
}
], - "current_status_type": "major"
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| serviceId required | integer The ID of a service |
{- "service": {
- "name": "Monitoring service",
- "id": 0,
- "current_incident_type": "major",
- "children": [
- { }
]
}, - "incidents": [
- {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "title": "We are having issues with the DB connection",
- "starts_at": "2022-01-01T00:00:00",
- "ends_at": "2022-01-01T00:00:00",
- "type": "major",
- "service_ids": [
- 1
], - "updates": [
- {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "posted_at": "2022-01-01T00:00:00",
- "type": "issue",
- "description": "We have detected an issue with our CDN",
- "description_html": "<p>We have detected an issue with our CDN</p>",
- "translations": {
- "en": {
- "description": "English description"
}, - "es": {
- "description": "Spanish description"
}
}, - "subscribers_notified_at": "2022-01-01T00:00:00",
- "tweet": true
}
], - "translations": {
- "en": {
- "title": "English Title"
}, - "es": {
- "title": "Spanish Title"
}
}, - "notify": true,
- "maintenance_notify": true,
- "maintenance_notify_settings": {
- "before_notice_minutes": 7200,
- "second_before_notice_minutes": 0,
- "on_start": true,
- "on_end": true
}, - "affects_uptime": true
}
], - "maintenances": [
- {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "title": "We are having issues with the DB connection",
- "starts_at": "2022-01-01T00:00:00",
- "ends_at": "2022-01-01T00:00:00",
- "type": "scheduled",
- "service_ids": [
- 1
], - "updates": [
- {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "posted_at": "2022-01-01T00:00:00",
- "type": "issue",
- "description": "We have detected an issue with our CDN",
- "description_html": "<p>We have detected an issue with our CDN</p>",
- "translations": {
- "en": {
- "description": "English description"
}, - "es": {
- "description": "Spanish description"
}
}, - "subscribers_notified_at": "2022-01-01T00:00:00",
- "tweet": true
}
], - "translations": {
- "en": {
- "title": "English Title"
}, - "es": {
- "title": "Spanish Title"
}
}, - "notify": true,
- "maintenance_notify": true,
- "maintenance_notify_settings": {
- "before_notice_minutes": 7200,
- "second_before_notice_minutes": 0,
- "on_start": true,
- "on_end": true
}, - "affects_uptime": true
}
], - "upcoming_maintenances": [
- {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "title": "We are having issues with the DB connection",
- "starts_at": "2022-01-01T00:00:00",
- "ends_at": "2022-01-01T00:00:00",
- "type": "scheduled",
- "service_ids": [
- 1
], - "updates": [
- {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "posted_at": "2022-01-01T00:00:00",
- "type": "issue",
- "description": "We have detected an issue with our CDN",
- "description_html": "<p>We have detected an issue with our CDN</p>",
- "translations": {
- "en": {
- "description": "English description"
}, - "es": {
- "description": "Spanish description"
}
}, - "subscribers_notified_at": "2022-01-01T00:00:00",
- "tweet": true
}
], - "translations": {
- "en": {
- "title": "English Title"
}, - "es": {
- "title": "Spanish Title"
}
}, - "notify": true,
- "maintenance_notify": true,
- "maintenance_notify_settings": {
- "before_notice_minutes": 7200,
- "second_before_notice_minutes": 0,
- "on_start": true,
- "on_end": true
}, - "affects_uptime": true
}
], - "info_notices": [
- {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "title": "We are having issues with the DB connection",
- "featured_from": "2022-01-01T00:00:00",
- "featured_until": "2022-01-01T00:00:00",
- "service_ids": [
- 1
], - "updates": [
- {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "posted_at": "2022-01-01T00:00:00",
- "type": "issue",
- "description": "We have detected an issue with our CDN",
- "description_html": "<p>We have detected an issue with our CDN</p>",
- "translations": {
- "en": {
- "description": "English description"
}, - "es": {
- "description": "Spanish description"
}
}, - "subscribers_notified_at": "2022-01-01T00:00:00",
- "tweet": true
}
], - "translations": {
- "en": {
- "title": "English Title"
}, - "es": {
- "title": "Spanish Title"
}
}
}
], - "current_status_type": "major"
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| before | string Used as a cursor for pagination. |
| after | string Used as a cursor for pagination. |
| limit | integer Set the number of incidents to return in the response. This defaults to 20 items, and can be a maximum of 100. |
| type | string Example: type=major Filter incidents by incident type key. |
{- "incidents": [
- {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "title": "We are having issues with the DB connection",
- "starts_at": "2022-01-01T00:00:00",
- "ends_at": "2022-01-01T00:00:00",
- "type": "major",
- "service_ids": [
- 1
], - "updates": [
- {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "posted_at": "2022-01-01T00:00:00",
- "type": "issue",
- "description": "We have detected an issue with our CDN",
- "description_html": "<p>We have detected an issue with our CDN</p>",
- "translations": {
- "en": {
- "description": "English description"
}, - "es": {
- "description": "Spanish description"
}
}, - "subscribers_notified_at": "2022-01-01T00:00:00",
- "tweet": true
}
], - "translations": {
- "en": {
- "title": "English Title"
}, - "es": {
- "title": "Spanish Title"
}
}, - "notify": true,
- "maintenance_notify": true,
- "maintenance_notify_settings": {
- "before_notice_minutes": 7200,
- "second_before_notice_minutes": 0,
- "on_start": true,
- "on_end": true
}, - "affects_uptime": true
}
], - "links": {
- "next": "{STATUSPAL_HOST}/api/v2/status_pages/subdomain/incidents?after=cUrSoR",
- "prev": "string"
}, - "meta": {
- "total_count": 100
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
The incident
object (Incident) An incident, either major, minor or a scheduled maintenance |
{- "incident": {
- "title": "We are having issues with the DB connection",
- "starts_at": "2022-01-01T00:00:00",
- "ends_at": "2022-01-01T00:00:00",
- "type": "major",
- "service_ids": [
- 1
], - "updates": [
- {
- "posted_at": "2022-01-01T00:00:00",
- "type": "issue",
- "description": "We have detected an issue with our CDN",
- "translations": {
- "en": {
- "description": "English description"
}, - "es": {
- "description": "Spanish description"
}
}, - "notify": true,
- "tweet": true
}
], - "translations": {
- "en": {
- "title": "English Title"
}, - "es": {
- "title": "Spanish Title"
}
}, - "notify": true,
- "maintenance_notify": true,
- "maintenance_notify_settings": {
- "before_notice_minutes": 7200,
- "second_before_notice_minutes": 0,
- "on_start": true,
- "on_end": true
}
}
}{- "incident": {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "title": "We are having issues with the DB connection",
- "starts_at": "2022-01-01T00:00:00",
- "ends_at": "2022-01-01T00:00:00",
- "type": "major",
- "service_ids": [
- 1
], - "updates": [
- {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "posted_at": "2022-01-01T00:00:00",
- "type": "issue",
- "description": "We have detected an issue with our CDN",
- "description_html": "<p>We have detected an issue with our CDN</p>",
- "translations": {
- "en": {
- "description": "English description"
}, - "es": {
- "description": "Spanish description"
}
}, - "subscribers_notified_at": "2022-01-01T00:00:00",
- "tweet": true
}
], - "translations": {
- "en": {
- "title": "English Title"
}, - "es": {
- "title": "Spanish Title"
}
}, - "notify": true,
- "maintenance_notify": true,
- "maintenance_notify_settings": {
- "before_notice_minutes": 7200,
- "second_before_notice_minutes": 0,
- "on_start": true,
- "on_end": true
}, - "affects_uptime": true
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| incidentId required | integer The ID of an incident/maintenance |
{- "incident": {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "title": "We are having issues with the DB connection",
- "starts_at": "2022-01-01T00:00:00",
- "ends_at": "2022-01-01T00:00:00",
- "type": "major",
- "service_ids": [
- 1
], - "updates": [
- {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "posted_at": "2022-01-01T00:00:00",
- "type": "issue",
- "description": "We have detected an issue with our CDN",
- "description_html": "<p>We have detected an issue with our CDN</p>",
- "translations": {
- "en": {
- "description": "English description"
}, - "es": {
- "description": "Spanish description"
}
}, - "subscribers_notified_at": "2022-01-01T00:00:00",
- "tweet": true
}
], - "translations": {
- "en": {
- "title": "English Title"
}, - "es": {
- "title": "Spanish Title"
}
}, - "notify": true,
- "maintenance_notify": true,
- "maintenance_notify_settings": {
- "before_notice_minutes": 7200,
- "second_before_notice_minutes": 0,
- "on_start": true,
- "on_end": true
}, - "affects_uptime": true
}
}| incidentId required | integer The ID of an incident/maintenance |
| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
The incident
object (Incident) An incident, either major, minor or a scheduled maintenance |
{- "incident": {
- "title": "We are having issues with the DB connection",
- "starts_at": "2022-01-01T00:00:00",
- "ends_at": "2022-01-01T00:00:00",
- "type": "major",
- "service_ids": [
- 1
], - "updates": [
- {
- "posted_at": "2022-01-01T00:00:00",
- "type": "issue",
- "description": "We have detected an issue with our CDN",
- "translations": {
- "en": {
- "description": "English description"
}, - "es": {
- "description": "Spanish description"
}
}, - "notify": true,
- "tweet": true
}
], - "translations": {
- "en": {
- "title": "English Title"
}, - "es": {
- "title": "Spanish Title"
}
}, - "notify": true,
- "maintenance_notify": true,
- "maintenance_notify_settings": {
- "before_notice_minutes": 7200,
- "second_before_notice_minutes": 0,
- "on_start": true,
- "on_end": true
}
}
}{- "incident": {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "title": "We are having issues with the DB connection",
- "starts_at": "2022-01-01T00:00:00",
- "ends_at": "2022-01-01T00:00:00",
- "type": "major",
- "service_ids": [
- 1
], - "updates": [
- {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "posted_at": "2022-01-01T00:00:00",
- "type": "issue",
- "description": "We have detected an issue with our CDN",
- "description_html": "<p>We have detected an issue with our CDN</p>",
- "translations": {
- "en": {
- "description": "English description"
}, - "es": {
- "description": "Spanish description"
}
}, - "subscribers_notified_at": "2022-01-01T00:00:00",
- "tweet": true
}
], - "translations": {
- "en": {
- "title": "English Title"
}, - "es": {
- "title": "Spanish Title"
}
}, - "notify": true,
- "maintenance_notify": true,
- "maintenance_notify_settings": {
- "before_notice_minutes": 7200,
- "second_before_notice_minutes": 0,
- "on_start": true,
- "on_end": true
}, - "affects_uptime": true
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| incidentId required | integer The ID of an incident/maintenance |
{- "error": 401
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| incidentId required | integer The ID of an incident/maintenance |
The update
object (IncidentActivity) Communicates an update of an incident, the special type |
{- "update": {
- "posted_at": "2022-01-01T00:00:00",
- "type": "issue",
- "description": "We have detected an issue with our CDN",
- "translations": {
- "en": {
- "description": "English description"
}, - "es": {
- "description": "Spanish description"
}
}, - "notify": true,
- "tweet": true
}
}{- "update": {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "posted_at": "2022-01-01T00:00:00",
- "type": "issue",
- "description": "We have detected an issue with our CDN",
- "description_html": "<p>We have detected an issue with our CDN</p>",
- "translations": {
- "en": {
- "description": "English description"
}, - "es": {
- "description": "Spanish description"
}
}, - "subscribers_notified_at": "2022-01-01T00:00:00",
- "tweet": true
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| incidentId required | integer The ID of an incident/maintenance |
| updateId required | integer |
The update
object (IncidentActivity) Communicates an update of an incident, the special type |
{- "update": {
- "posted_at": "2022-01-01T00:00:00",
- "type": "issue",
- "description": "We have detected an issue with our CDN",
- "translations": {
- "en": {
- "description": "English description"
}, - "es": {
- "description": "Spanish description"
}
}, - "notify": true,
- "tweet": true
}
}{- "update": {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "posted_at": "2022-01-01T00:00:00",
- "type": "issue",
- "description": "We have detected an issue with our CDN",
- "description_html": "<p>We have detected an issue with our CDN</p>",
- "translations": {
- "en": {
- "description": "English description"
}, - "es": {
- "description": "Spanish description"
}
}, - "subscribers_notified_at": "2022-01-01T00:00:00",
- "tweet": true
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| incidentId required | integer The ID of an incident/maintenance |
| updateId required | integer |
{- "error": 401
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
{- "incident_templates": [
- {
- "id": 0,
- "title": "Incident template title",
- "description": "Some description",
- "service_ids": [
- 1
], - "incident_types": [
- "major"
], - "translations": {
- "en": {
- "title": "English title",
- "description": "English description"
}, - "es": {
- "title": "Spanish title",
- "description": "Spanish description"
}
}
}
]
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
The incident template
object (IncidentTemplate) Represents the incident template. |
{- "incident_template": {
- "title": "Incident template title",
- "description": "Some description",
- "service_ids": [
- 1
], - "incident_types": [
- "major"
], - "translations": {
- "en": {
- "title": "English title",
- "description": "English description"
}, - "es": {
- "title": "Spanish title",
- "description": "Spanish description"
}
}
}
}{- "incident_template": {
- "id": 0,
- "title": "Incident template title",
- "description": "Some description",
- "service_ids": [
- 1
], - "incident_types": [
- "major"
], - "translations": {
- "en": {
- "title": "English title",
- "description": "English description"
}, - "es": {
- "title": "Spanish title",
- "description": "Spanish description"
}
}
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| incidentTemplateId required | integer The ID of an incident template |
{- "incident_template": {
- "id": 0,
- "title": "Incident template title",
- "description": "Some description",
- "service_ids": [
- 1
], - "incident_types": [
- "major"
], - "translations": {
- "en": {
- "title": "English title",
- "description": "English description"
}, - "es": {
- "title": "Spanish title",
- "description": "Spanish description"
}
}
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| incidentTemplateId required | integer The ID of an incident template |
{- "error": 401
}| integrationId required | integer The ID of integration |
| incidentTemplateId required | integer The ID of an incident template |
The incident template
object (IncidentTemplate) Represents the incident template. |
{- "incident_template": {
- "title": "Incident template title",
- "description": "Some description",
- "service_ids": [
- 1
], - "incident_types": [
- "major"
], - "translations": {
- "en": {
- "title": "English title",
- "description": "English description"
}, - "es": {
- "title": "Spanish title",
- "description": "Spanish description"
}
}
}
}{- "incident_template": {
- "id": 0,
- "title": "Incident template title",
- "description": "Some description",
- "service_ids": [
- 1
], - "incident_types": [
- "major"
], - "translations": {
- "en": {
- "title": "English title",
- "description": "English description"
}, - "es": {
- "title": "Spanish title",
- "description": "Spanish description"
}
}
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| before | string Used as a cursor for pagination. |
| after | string Used as a cursor for pagination. |
| limit | integer Set the number of information notices to return in the response. This defaults to 20 items, and can be a maximum of 100. |
{- "info_notices": [
- {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "title": "We are having issues with the DB connection",
- "featured_from": "2022-01-01T00:00:00",
- "featured_until": "2022-01-01T00:00:00",
- "service_ids": [
- 1
], - "updates": [
- {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "posted_at": "2022-01-01T00:00:00",
- "type": "issue",
- "description": "We have detected an issue with our CDN",
- "description_html": "<p>We have detected an issue with our CDN</p>",
- "translations": {
- "en": {
- "description": "English description"
}, - "es": {
- "description": "Spanish description"
}
}, - "subscribers_notified_at": "2022-01-01T00:00:00",
- "tweet": true
}
], - "translations": {
- "en": {
- "title": "English Title"
}, - "es": {
- "title": "Spanish Title"
}
}
}
], - "links": {
- "next": "{STATUSPAL_HOST}/api/v2/status_pages/subdomain/info_notices?after=cUrSoR",
- "prev": "string"
}, - "meta": {
- "total_count": 100
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
The information notice
object (InfoNotice) An information notice |
{- "info_notice": {
- "title": "We are having issues with the DB connection",
- "featured_from": "2022-01-01T00:00:00",
- "featured_until": "2022-01-01T00:00:00",
- "service_ids": [
- 1
], - "updates": [
- {
- "posted_at": "2022-01-01T00:00:00",
- "type": "issue",
- "description": "We have detected an issue with our CDN",
- "translations": {
- "en": {
- "description": "English description"
}, - "es": {
- "description": "Spanish description"
}
}, - "notify": true,
- "tweet": true
}
], - "translations": {
- "en": {
- "title": "English Title"
}, - "es": {
- "title": "Spanish Title"
}
}
}
}{- "info_notice": {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "title": "We are having issues with the DB connection",
- "featured_from": "2022-01-01T00:00:00",
- "featured_until": "2022-01-01T00:00:00",
- "service_ids": [
- 1
], - "updates": [
- {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "posted_at": "2022-01-01T00:00:00",
- "type": "issue",
- "description": "We have detected an issue with our CDN",
- "description_html": "<p>We have detected an issue with our CDN</p>",
- "translations": {
- "en": {
- "description": "English description"
}, - "es": {
- "description": "Spanish description"
}
}, - "subscribers_notified_at": "2022-01-01T00:00:00",
- "tweet": true
}
], - "translations": {
- "en": {
- "title": "English Title"
}, - "es": {
- "title": "Spanish Title"
}
}
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| infoNoticeId required | integer The ID of an information notice |
{- "info_notice": {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "title": "We are having issues with the DB connection",
- "featured_from": "2022-01-01T00:00:00",
- "featured_until": "2022-01-01T00:00:00",
- "service_ids": [
- 1
], - "updates": [
- {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "posted_at": "2022-01-01T00:00:00",
- "type": "issue",
- "description": "We have detected an issue with our CDN",
- "description_html": "<p>We have detected an issue with our CDN</p>",
- "translations": {
- "en": {
- "description": "English description"
}, - "es": {
- "description": "Spanish description"
}
}, - "subscribers_notified_at": "2022-01-01T00:00:00",
- "tweet": true
}
], - "translations": {
- "en": {
- "title": "English Title"
}, - "es": {
- "title": "Spanish Title"
}
}
}
}| infoNoticeId required | integer The ID of an information notice |
| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
The information notice
object (InfoNotice) An information notice |
{- "info_notice": {
- "title": "We are having issues with the DB connection",
- "featured_from": "2022-01-01T00:00:00",
- "featured_until": "2022-01-01T00:00:00",
- "service_ids": [
- 1
], - "updates": [
- {
- "posted_at": "2022-01-01T00:00:00",
- "type": "issue",
- "description": "We have detected an issue with our CDN",
- "translations": {
- "en": {
- "description": "English description"
}, - "es": {
- "description": "Spanish description"
}
}, - "notify": true,
- "tweet": true
}
], - "translations": {
- "en": {
- "title": "English Title"
}, - "es": {
- "title": "Spanish Title"
}
}
}
}{- "info_notice": {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "title": "We are having issues with the DB connection",
- "featured_from": "2022-01-01T00:00:00",
- "featured_until": "2022-01-01T00:00:00",
- "service_ids": [
- 1
], - "updates": [
- {
- "id": 89,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "posted_at": "2022-01-01T00:00:00",
- "type": "issue",
- "description": "We have detected an issue with our CDN",
- "description_html": "<p>We have detected an issue with our CDN</p>",
- "translations": {
- "en": {
- "description": "English description"
}, - "es": {
- "description": "Spanish description"
}
}, - "subscribers_notified_at": "2022-01-01T00:00:00",
- "tweet": true
}
], - "translations": {
- "en": {
- "title": "English Title"
}, - "es": {
- "title": "Spanish Title"
}
}
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| infoNoticeId required | integer The ID of an information notice |
{- "error": 401
}These endpoints are the same as Incident Updates endpoints, but it doesn't support the type attribute.
| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| before | string Used as a cursor for pagination. |
| after | string Used as a cursor for pagination. |
| limit | integer Set the number of metrics to return in the response. This defaults to 20 items, and can be a maximum of 100. |
{- "metrics": [
- {
- "id": 0,
- "title": "Website Response Time",
- "unit": "ms",
- "type": "up",
- "enabled": true,
- "visible": true,
- "remote_id": "9dd9dee9-bf3d-4f2a-9cb6-c8e623b7df5a",
- "remote_name": "StatusPal",
- "status": "connect_timeout",
- "latest_entry_time": 1679314774,
- "threshold": 10,
- "featured_number": "avg",
- "order": 1,
- "integration_id": "string"
}
], - "links": {
- "next": "{STATUSPAL_HOST}/api/v2/status_pages/subdomain/metrics?after=cUrSoR",
- "prev": "{STATUSPAL_HOST}/api/v2/status_pages/subdomain/metrics?before=cUrSoR"
}, - "meta": {
- "total_count": 100
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
The metric
object (Metric) Represents a metric object. |
{- "metric": {
- "title": "Website Response Time",
- "unit": "ms",
- "type": "up",
- "enabled": true,
- "visible": true,
- "remote_id": "9dd9dee9-bf3d-4f2a-9cb6-c8e623b7df5a",
- "remote_name": "StatusPal",
- "threshold": 10,
- "featured_number": "avg",
- "integration_id": "string"
}
}{- "metric": {
- "id": 0,
- "title": "Website Response Time",
- "unit": "ms",
- "type": "up",
- "enabled": true,
- "visible": true,
- "remote_id": "9dd9dee9-bf3d-4f2a-9cb6-c8e623b7df5a",
- "remote_name": "StatusPal",
- "status": "connect_timeout",
- "latest_entry_time": 1679314774,
- "threshold": 10,
- "featured_number": "avg",
- "order": 1,
- "integration_id": "string"
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| metricId required | integer The ID of a custom metric |
{- "metric": {
- "id": 0,
- "title": "Website Response Time",
- "unit": "ms",
- "type": "up",
- "enabled": true,
- "visible": true,
- "remote_id": "9dd9dee9-bf3d-4f2a-9cb6-c8e623b7df5a",
- "remote_name": "StatusPal",
- "status": "connect_timeout",
- "latest_entry_time": 1679314774,
- "threshold": 10,
- "featured_number": "avg",
- "order": 1,
- "integration_id": "string"
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| metricId required | integer The ID of a custom metric |
{- "error": 401
}| metricId required | integer The ID of a custom metric |
| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
The metric
object (Metric) Represents a metric object. |
{- "metric": {
- "title": "Website Response Time",
- "unit": "ms",
- "type": "up",
- "enabled": true,
- "visible": true,
- "remote_id": "9dd9dee9-bf3d-4f2a-9cb6-c8e623b7df5a",
- "remote_name": "StatusPal",
- "threshold": 10,
- "featured_number": "avg",
- "integration_id": "string"
}
}{- "metric": {
- "id": 0,
- "title": "Website Response Time",
- "unit": "ms",
- "type": "up",
- "enabled": true,
- "visible": true,
- "remote_id": "9dd9dee9-bf3d-4f2a-9cb6-c8e623b7df5a",
- "remote_name": "StatusPal",
- "status": "connect_timeout",
- "latest_entry_time": 1679314774,
- "threshold": 10,
- "featured_number": "avg",
- "order": 1,
- "integration_id": "string"
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| metricId required | integer The ID of a custom metric |
The metric entry
object (MetricEntry) |
{- "entry": {
- "time": 1561318904,
- "value": 130
}
}{- "entry": {
- "time": 1561318904,
- "value": 130
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
{- "integrations": [
- {
- "id": 0,
- "name": "newrelic",
- "user": 123456,
- "phone_number": 1234567890,
- "domain": "example.com",
- "email_from_address": "notifications@example.com",
- "key": "your-api-key",
- "relay": "smtp.example.com",
- "username": "smtp-user@smtp.example.com",
- "port": 25,
- "region": "us",
- "settings": {
- "enabled": true,
- "api_key_type": "private"
}
}
]
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
The integration
object (Integration) Represents an integration service. |
{- "integration": {
- "name": "newrelic",
- "user": 123456,
- "phone_number": 1234567890,
- "domain": "example.com",
- "email_from_address": "notifications@example.com",
- "key": "your-api-key",
- "password": "your-password",
- "relay": "smtp.example.com",
- "username": "smtp-user@smtp.example.com",
- "port": 25,
- "region": "us",
- "settings": {
- "__type__": "common",
- "enabled": true,
- "api_key_type": "private"
}
}
}{- "integration": {
- "id": 0,
- "name": "newrelic",
- "user": 123456,
- "phone_number": 1234567890,
- "domain": "example.com",
- "email_from_address": "notifications@example.com",
- "key": "your-api-key",
- "relay": "smtp.example.com",
- "username": "smtp-user@smtp.example.com",
- "port": 25,
- "region": "us",
- "settings": {
- "enabled": true,
- "api_key_type": "private"
}
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| integrationId required | integer The ID of integration |
{- "integration": {
- "id": 0,
- "name": "newrelic",
- "user": 123456,
- "phone_number": 1234567890,
- "domain": "example.com",
- "email_from_address": "notifications@example.com",
- "key": "your-api-key",
- "relay": "smtp.example.com",
- "username": "smtp-user@smtp.example.com",
- "port": 25,
- "region": "us",
- "settings": {
- "enabled": true,
- "api_key_type": "private"
}
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| integrationId required | integer The ID of integration |
{- "error": 401
}| integrationId required | integer The ID of integration |
| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
The integration
object (Integration) Represents an integration service. |
{- "integration": {
- "name": "newrelic",
- "user": 123456,
- "phone_number": 1234567890,
- "domain": "example.com",
- "email_from_address": "notifications@example.com",
- "key": "your-api-key",
- "password": "your-password",
- "relay": "smtp.example.com",
- "username": "smtp-user@smtp.example.com",
- "port": 25,
- "region": "us",
- "settings": {
- "__type__": "common",
- "enabled": true,
- "api_key_type": "private"
}
}
}{- "integration": {
- "id": 0,
- "name": "newrelic",
- "user": 123456,
- "phone_number": 1234567890,
- "domain": "example.com",
- "email_from_address": "notifications@example.com",
- "key": "your-api-key",
- "relay": "smtp.example.com",
- "username": "smtp-user@smtp.example.com",
- "port": 25,
- "region": "us",
- "settings": {
- "enabled": true,
- "api_key_type": "private"
}
}
}Manage your organization's status pages — create, update, delete, and configure custom domains.
You can serve your status page on a custom domain (e.g. status.example.com) by configuring the domain_config object on a status page. StatusPal supports two CDN providers: Cloudflare and Bunny.
1. Enable the custom domain: Update the status page with domain_config.provider and domain_config.domain:
curl -X PUT \
https://statuspal.eu/api/v2/orgs/{organizationId}/status_pages/{subdomain} \
-H 'Authorization: <your-api-key>' \
-H 'Content-Type: application/json' \
-d '{
"status_page": {
"domain_config": {
"provider": "cloudflare",
"domain": "status.example.com"
}
}
}'
StatusPal begins provisioning the domain asynchronously. The domain_config.status field starts as configuring.
2. Retrieve DNS records: Poll GET /orgs/{organizationId}/status_pages/{subdomain} until domain_config.validation_records is populated (typically a few seconds). The records you need depend on the provider:
| Provider | Records required |
|---|---|
| Cloudflare | 1 CNAME (hostname_cname_name → hostname_cname_value), 1 TXT for hostname verification (hostname_txt_name / hostname_txt_value), and 1 TXT for SSL certificate (certificate_txt_name / certificate_txt_value) |
| Bunny | 1 CNAME (hostname_cname_name → hostname_cname_value) |
Note: For the Cloudflare provider, the
certificate_txt_*fields may not appear immediately. Poll every 10–15 seconds until they are present.
Note: For the Bunny provider, the
hostname_cname_valuefield may be empty on the initial response while the pull zone is being created. Poll every 2–5 seconds until it is populated (typically a few seconds).
3. Create DNS records: Add the records at your DNS provider. If your DNS provider is Cloudflare, make sure the CNAME has proxy disabled (DNS-only / grey cloud).
4. Wait for activation: Poll the status page until domain_config.status becomes active. This typically takes 1–10 minutes.
Set domain_config.provider and domain_config.domain to null:
curl -X PUT \
https://statuspal.eu/api/v2/orgs/{organizationId}/status_pages/{subdomain} \
-H 'Authorization: <your-api-key>' \
-H 'Content-Type: application/json' \
-d '{
"status_page": {
"domain_config": {
"provider": null,
"domain": null
}
}
}'
If domain_config.status is failed_to_configure, re-submit the same domain_config to restart provisioning.
Update domain_config.domain to the new value. StatusPal will revoke the old domain's certificate and begin provisioning the new one. Follow steps 2–4 again.
| Status | Meaning |
|---|---|
disabled |
No custom domain configured. |
configuring |
Provisioning in progress or waiting for DNS verification. |
active |
Domain is live with SSL. |
failed_to_configure |
Setup failed — check domain_config.error for details. |
| organizationId required | integer The ID of the organization |
{- "status_pages": [
- {
- "organization_id": 0,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "name": "Acme",
- "url": "acme.com",
- "time_zone": "Etc/UTC",
- "subdomain": "acme-com",
- "support_email": "support@acme.com",
- "twitter_public_screen_name": null,
- "about": null,
- "display_about": true,
- "custom_domain_enabled": false,
- "domain": null,
- "domain_config": {
- "provider": "cloudflare",
- "domain": "status.your-company.com",
- "previous_domain": "previous.your-company.com",
- "status": "active",
- "validation_records": {
- "hostname_cname_name": "status.your-company.com",
- "hostname_cname_value": "domains.statuspal.io",
- "certificate_txt_name": "_acme-challenge.status.your-company.com",
- "certificate_txt_value": "ds1B5ODRiFY2qta4wt26bmYahZyTz32Hbgg31EDv6Ao",
- "hostname_txt_name": "_cf-custom-hostname.status.your-company.com",
- "hostname_txt_value": "b2afffc5-d532-42d9-b396-e141d889646b"
}, - "external_id": "fd3416ee-091b-4c0e-ad44-8ed5cda22599",
- "error": "Certificate verification errors from Cloudflare: <b>Certificate is not active (TXT).</b>"
}, - "restricted_ips": null,
- "member_restricted": false,
- "scheduled_maintenance_days": 7,
- "custom_js": null,
- "head_code": null,
- "date_format": null,
- "time_format": null,
- "date_format_enforce_everywhere": false,
- "display_calendar": true,
- "hide_watermark": false,
- "minor_notification_hours": 6,
- "major_notification_hours": 3,
- "maintenance_notification_hours": 6,
- "history_limit_days": null,
- "custom_incident_types_enabled": false,
- "info_notices_enabled": true,
- "locked_when_maintenance": false,
- "noindex": false,
- "enable_auto_translations": false,
- "captcha_enabled": true,
- "enable_embedding": true,
- "strict_csp": true,
- "translations": {
- "en": {
- "public_company_name": "Your company",
- "header_logo_text": "Your company status page"
}, - "es": {
- "public_company_name": "Votre entreprise",
- "header_logo_text": "Page d'état de votre entreprise"
}
}, - "header_logo_text": "Status Page Name Status",
- "public_company_name": null,
- "logo": null,
- "bg_image": null,
- "favicon": null,
- "display_uptime_graph": true,
- "uptime_graph_days": 90,
- "current_incidents_position": "below_services",
- "theme_selected": "default",
- "theme_configs": null,
- "link_color": "0c91c3",
- "header_bg_color1": "009688",
- "header_bg_color2": "0c91c3",
- "header_fg_color": "ffffff",
- "incident_header_color": "009688",
- "incident_link_color": null,
- "status_ok_color": "48CBA5",
- "status_minor_color": "FFA500",
- "status_major_color": "e75a53",
- "status_maintenance_color": "5378c1",
- "custom_css": null,
- "custom_header": null,
- "custom_footer": null,
- "notify_by_default": false,
- "tweet_by_default": false,
- "slack_subscriptions_enabled": null,
- "discord_notifications_enabled": false,
- "teams_notifications_enabled": false,
- "google_chat_notifications_enabled": false,
- "mattermost_notifications_enabled": false,
- "sms_notifications_enabled": null,
- "feed_enabled": true,
- "calendar_enabled": false,
- "google_calendar_enabled": false,
- "subscribers_enabled": true,
- "notification_email": null,
- "reply_to_email": null,
- "tweeting_enabled": true,
- "email_layout_template": null,
- "email_confirmation_template": null,
- "email_notification_template": null,
- "email_templates_enabled": null,
- "allowed_email_domains": "acme.corp\\nnapster.com",
- "zoom_notifications_enabled": false
}
], - "links": {
- "next": "string",
- "prev": "string"
}, - "meta": {
- "total_count": 100
}
}| organizationId required | integer The ID of the organization |
The status page
object (OrganizationStatusPage) Represents the Status Page. |
{- "status_page": {
- "name": "Acme",
- "url": "acme.com",
- "time_zone": "Etc/UTC",
- "subdomain": "acme-com",
- "support_email": "support@acme.com",
- "twitter_public_screen_name": null,
- "about": null,
- "display_about": true,
- "custom_domain_enabled": false,
- "domain": null,
- "domain_config": {
- "provider": "cloudflare",
- "domain": "status.your-company.com"
}, - "restricted_ips": null,
- "member_restricted": false,
- "scheduled_maintenance_days": 7,
- "custom_js": null,
- "head_code": null,
- "date_format": null,
- "time_format": null,
- "date_format_enforce_everywhere": false,
- "display_calendar": true,
- "hide_watermark": false,
- "minor_notification_hours": 6,
- "major_notification_hours": 3,
- "maintenance_notification_hours": 6,
- "history_limit_days": null,
- "custom_incident_types_enabled": false,
- "info_notices_enabled": true,
- "locked_when_maintenance": false,
- "noindex": false,
- "enable_auto_translations": false,
- "captcha_enabled": true,
- "enable_embedding": true,
- "strict_csp": true,
- "translations": {
- "en": {
- "public_company_name": "Your company",
- "header_logo_text": "Your company status page"
}, - "es": {
- "public_company_name": "Votre entreprise",
- "header_logo_text": "Page d'état de votre entreprise"
}
}, - "header_logo_text": "Status Page Name Status",
- "public_company_name": null,
- "display_uptime_graph": true,
- "uptime_graph_days": 90,
- "current_incidents_position": "below_services",
- "theme_selected": "default",
- "theme_configs": null,
- "link_color": "0c91c3",
- "header_bg_color1": "009688",
- "header_bg_color2": "0c91c3",
- "header_fg_color": "ffffff",
- "incident_header_color": "009688",
- "incident_link_color": null,
- "status_ok_color": "48CBA5",
- "status_minor_color": "FFA500",
- "status_major_color": "e75a53",
- "status_maintenance_color": "5378c1",
- "custom_css": null,
- "custom_header": null,
- "custom_footer": null,
- "notify_by_default": false,
- "tweet_by_default": false,
- "slack_subscriptions_enabled": null,
- "discord_notifications_enabled": false,
- "teams_notifications_enabled": false,
- "google_chat_notifications_enabled": false,
- "mattermost_notifications_enabled": false,
- "sms_notifications_enabled": null,
- "feed_enabled": true,
- "calendar_enabled": false,
- "google_calendar_enabled": false,
- "subscribers_enabled": true,
- "notification_email": null,
- "reply_to_email": null,
- "tweeting_enabled": true,
- "email_layout_template": null,
- "email_confirmation_template": null,
- "email_notification_template": null,
- "email_templates_enabled": null,
- "allowed_email_domains": "acme.corp\\nnapster.com",
- "zoom_notifications_enabled": false
}
}{- "status_page": {
- "organization_id": 0,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "name": "Acme",
- "url": "acme.com",
- "time_zone": "Etc/UTC",
- "subdomain": "acme-com",
- "support_email": "support@acme.com",
- "twitter_public_screen_name": null,
- "about": null,
- "display_about": true,
- "custom_domain_enabled": false,
- "domain": null,
- "domain_config": {
- "provider": "cloudflare",
- "domain": "status.your-company.com",
- "previous_domain": "previous.your-company.com",
- "status": "active",
- "validation_records": {
- "hostname_cname_name": "status.your-company.com",
- "hostname_cname_value": "domains.statuspal.io",
- "certificate_txt_name": "_acme-challenge.status.your-company.com",
- "certificate_txt_value": "ds1B5ODRiFY2qta4wt26bmYahZyTz32Hbgg31EDv6Ao",
- "hostname_txt_name": "_cf-custom-hostname.status.your-company.com",
- "hostname_txt_value": "b2afffc5-d532-42d9-b396-e141d889646b"
}, - "external_id": "fd3416ee-091b-4c0e-ad44-8ed5cda22599",
- "error": "Certificate verification errors from Cloudflare: <b>Certificate is not active (TXT).</b>"
}, - "restricted_ips": null,
- "member_restricted": false,
- "scheduled_maintenance_days": 7,
- "custom_js": null,
- "head_code": null,
- "date_format": null,
- "time_format": null,
- "date_format_enforce_everywhere": false,
- "display_calendar": true,
- "hide_watermark": false,
- "minor_notification_hours": 6,
- "major_notification_hours": 3,
- "maintenance_notification_hours": 6,
- "history_limit_days": null,
- "custom_incident_types_enabled": false,
- "info_notices_enabled": true,
- "locked_when_maintenance": false,
- "noindex": false,
- "enable_auto_translations": false,
- "captcha_enabled": true,
- "enable_embedding": true,
- "strict_csp": true,
- "translations": {
- "en": {
- "public_company_name": "Your company",
- "header_logo_text": "Your company status page"
}, - "es": {
- "public_company_name": "Votre entreprise",
- "header_logo_text": "Page d'état de votre entreprise"
}
}, - "header_logo_text": "Status Page Name Status",
- "public_company_name": null,
- "logo": null,
- "bg_image": null,
- "favicon": null,
- "display_uptime_graph": true,
- "uptime_graph_days": 90,
- "current_incidents_position": "below_services",
- "theme_selected": "default",
- "theme_configs": null,
- "link_color": "0c91c3",
- "header_bg_color1": "009688",
- "header_bg_color2": "0c91c3",
- "header_fg_color": "ffffff",
- "incident_header_color": "009688",
- "incident_link_color": null,
- "status_ok_color": "48CBA5",
- "status_minor_color": "FFA500",
- "status_major_color": "e75a53",
- "status_maintenance_color": "5378c1",
- "custom_css": null,
- "custom_header": null,
- "custom_footer": null,
- "notify_by_default": false,
- "tweet_by_default": false,
- "slack_subscriptions_enabled": null,
- "discord_notifications_enabled": false,
- "teams_notifications_enabled": false,
- "google_chat_notifications_enabled": false,
- "mattermost_notifications_enabled": false,
- "sms_notifications_enabled": null,
- "feed_enabled": true,
- "calendar_enabled": false,
- "google_calendar_enabled": false,
- "subscribers_enabled": true,
- "notification_email": null,
- "reply_to_email": null,
- "tweeting_enabled": true,
- "email_layout_template": null,
- "email_confirmation_template": null,
- "email_notification_template": null,
- "email_templates_enabled": null,
- "allowed_email_domains": "acme.corp\\nnapster.com",
- "zoom_notifications_enabled": false
}
}| organizationId required | integer The ID of the organization |
| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
{- "status_page": {
- "organization_id": 0,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "name": "Acme",
- "url": "acme.com",
- "time_zone": "Etc/UTC",
- "subdomain": "acme-com",
- "support_email": "support@acme.com",
- "twitter_public_screen_name": null,
- "about": null,
- "display_about": true,
- "custom_domain_enabled": false,
- "domain": null,
- "domain_config": {
- "provider": "cloudflare",
- "domain": "status.your-company.com",
- "previous_domain": "previous.your-company.com",
- "status": "active",
- "validation_records": {
- "hostname_cname_name": "status.your-company.com",
- "hostname_cname_value": "domains.statuspal.io",
- "certificate_txt_name": "_acme-challenge.status.your-company.com",
- "certificate_txt_value": "ds1B5ODRiFY2qta4wt26bmYahZyTz32Hbgg31EDv6Ao",
- "hostname_txt_name": "_cf-custom-hostname.status.your-company.com",
- "hostname_txt_value": "b2afffc5-d532-42d9-b396-e141d889646b"
}, - "external_id": "fd3416ee-091b-4c0e-ad44-8ed5cda22599",
- "error": "Certificate verification errors from Cloudflare: <b>Certificate is not active (TXT).</b>"
}, - "restricted_ips": null,
- "member_restricted": false,
- "scheduled_maintenance_days": 7,
- "custom_js": null,
- "head_code": null,
- "date_format": null,
- "time_format": null,
- "date_format_enforce_everywhere": false,
- "display_calendar": true,
- "hide_watermark": false,
- "minor_notification_hours": 6,
- "major_notification_hours": 3,
- "maintenance_notification_hours": 6,
- "history_limit_days": null,
- "custom_incident_types_enabled": false,
- "info_notices_enabled": true,
- "locked_when_maintenance": false,
- "noindex": false,
- "enable_auto_translations": false,
- "captcha_enabled": true,
- "enable_embedding": true,
- "strict_csp": true,
- "translations": {
- "en": {
- "public_company_name": "Your company",
- "header_logo_text": "Your company status page"
}, - "es": {
- "public_company_name": "Votre entreprise",
- "header_logo_text": "Page d'état de votre entreprise"
}
}, - "header_logo_text": "Status Page Name Status",
- "public_company_name": null,
- "logo": null,
- "bg_image": null,
- "favicon": null,
- "display_uptime_graph": true,
- "uptime_graph_days": 90,
- "current_incidents_position": "below_services",
- "theme_selected": "default",
- "theme_configs": null,
- "link_color": "0c91c3",
- "header_bg_color1": "009688",
- "header_bg_color2": "0c91c3",
- "header_fg_color": "ffffff",
- "incident_header_color": "009688",
- "incident_link_color": null,
- "status_ok_color": "48CBA5",
- "status_minor_color": "FFA500",
- "status_major_color": "e75a53",
- "status_maintenance_color": "5378c1",
- "custom_css": null,
- "custom_header": null,
- "custom_footer": null,
- "notify_by_default": false,
- "tweet_by_default": false,
- "slack_subscriptions_enabled": null,
- "discord_notifications_enabled": false,
- "teams_notifications_enabled": false,
- "google_chat_notifications_enabled": false,
- "mattermost_notifications_enabled": false,
- "sms_notifications_enabled": null,
- "feed_enabled": true,
- "calendar_enabled": false,
- "google_calendar_enabled": false,
- "subscribers_enabled": true,
- "notification_email": null,
- "reply_to_email": null,
- "tweeting_enabled": true,
- "email_layout_template": null,
- "email_confirmation_template": null,
- "email_notification_template": null,
- "email_templates_enabled": null,
- "allowed_email_domains": "acme.corp\\nnapster.com",
- "zoom_notifications_enabled": false
}
}| organizationId required | integer The ID of the organization |
| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
The status page
object (OrganizationStatusPage) Represents the Status Page. |
{- "status_page": {
- "name": "Acme",
- "url": "acme.com",
- "time_zone": "Etc/UTC",
- "subdomain": "acme-com",
- "support_email": "support@acme.com",
- "twitter_public_screen_name": null,
- "about": null,
- "display_about": true,
- "custom_domain_enabled": false,
- "domain": null,
- "domain_config": {
- "provider": "cloudflare",
- "domain": "status.your-company.com"
}, - "restricted_ips": null,
- "member_restricted": false,
- "scheduled_maintenance_days": 7,
- "custom_js": null,
- "head_code": null,
- "date_format": null,
- "time_format": null,
- "date_format_enforce_everywhere": false,
- "display_calendar": true,
- "hide_watermark": false,
- "minor_notification_hours": 6,
- "major_notification_hours": 3,
- "maintenance_notification_hours": 6,
- "history_limit_days": null,
- "custom_incident_types_enabled": false,
- "info_notices_enabled": true,
- "locked_when_maintenance": false,
- "noindex": false,
- "enable_auto_translations": false,
- "captcha_enabled": true,
- "enable_embedding": true,
- "strict_csp": true,
- "translations": {
- "en": {
- "public_company_name": "Your company",
- "header_logo_text": "Your company status page"
}, - "es": {
- "public_company_name": "Votre entreprise",
- "header_logo_text": "Page d'état de votre entreprise"
}
}, - "header_logo_text": "Status Page Name Status",
- "public_company_name": null,
- "display_uptime_graph": true,
- "uptime_graph_days": 90,
- "current_incidents_position": "below_services",
- "theme_selected": "default",
- "theme_configs": null,
- "link_color": "0c91c3",
- "header_bg_color1": "009688",
- "header_bg_color2": "0c91c3",
- "header_fg_color": "ffffff",
- "incident_header_color": "009688",
- "incident_link_color": null,
- "status_ok_color": "48CBA5",
- "status_minor_color": "FFA500",
- "status_major_color": "e75a53",
- "status_maintenance_color": "5378c1",
- "custom_css": null,
- "custom_header": null,
- "custom_footer": null,
- "notify_by_default": false,
- "tweet_by_default": false,
- "slack_subscriptions_enabled": null,
- "discord_notifications_enabled": false,
- "teams_notifications_enabled": false,
- "google_chat_notifications_enabled": false,
- "mattermost_notifications_enabled": false,
- "sms_notifications_enabled": null,
- "feed_enabled": true,
- "calendar_enabled": false,
- "google_calendar_enabled": false,
- "subscribers_enabled": true,
- "notification_email": null,
- "reply_to_email": null,
- "tweeting_enabled": true,
- "email_layout_template": null,
- "email_confirmation_template": null,
- "email_notification_template": null,
- "email_templates_enabled": null,
- "allowed_email_domains": "acme.corp\\nnapster.com",
- "zoom_notifications_enabled": false
}
}{- "status_page": {
- "organization_id": 0,
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "name": "Acme",
- "url": "acme.com",
- "time_zone": "Etc/UTC",
- "subdomain": "acme-com",
- "support_email": "support@acme.com",
- "twitter_public_screen_name": null,
- "about": null,
- "display_about": true,
- "custom_domain_enabled": false,
- "domain": null,
- "domain_config": {
- "provider": "cloudflare",
- "domain": "status.your-company.com",
- "previous_domain": "previous.your-company.com",
- "status": "active",
- "validation_records": {
- "hostname_cname_name": "status.your-company.com",
- "hostname_cname_value": "domains.statuspal.io",
- "certificate_txt_name": "_acme-challenge.status.your-company.com",
- "certificate_txt_value": "ds1B5ODRiFY2qta4wt26bmYahZyTz32Hbgg31EDv6Ao",
- "hostname_txt_name": "_cf-custom-hostname.status.your-company.com",
- "hostname_txt_value": "b2afffc5-d532-42d9-b396-e141d889646b"
}, - "external_id": "fd3416ee-091b-4c0e-ad44-8ed5cda22599",
- "error": "Certificate verification errors from Cloudflare: <b>Certificate is not active (TXT).</b>"
}, - "restricted_ips": null,
- "member_restricted": false,
- "scheduled_maintenance_days": 7,
- "custom_js": null,
- "head_code": null,
- "date_format": null,
- "time_format": null,
- "date_format_enforce_everywhere": false,
- "display_calendar": true,
- "hide_watermark": false,
- "minor_notification_hours": 6,
- "major_notification_hours": 3,
- "maintenance_notification_hours": 6,
- "history_limit_days": null,
- "custom_incident_types_enabled": false,
- "info_notices_enabled": true,
- "locked_when_maintenance": false,
- "noindex": false,
- "enable_auto_translations": false,
- "captcha_enabled": true,
- "enable_embedding": true,
- "strict_csp": true,
- "translations": {
- "en": {
- "public_company_name": "Your company",
- "header_logo_text": "Your company status page"
}, - "es": {
- "public_company_name": "Votre entreprise",
- "header_logo_text": "Page d'état de votre entreprise"
}
}, - "header_logo_text": "Status Page Name Status",
- "public_company_name": null,
- "logo": null,
- "bg_image": null,
- "favicon": null,
- "display_uptime_graph": true,
- "uptime_graph_days": 90,
- "current_incidents_position": "below_services",
- "theme_selected": "default",
- "theme_configs": null,
- "link_color": "0c91c3",
- "header_bg_color1": "009688",
- "header_bg_color2": "0c91c3",
- "header_fg_color": "ffffff",
- "incident_header_color": "009688",
- "incident_link_color": null,
- "status_ok_color": "48CBA5",
- "status_minor_color": "FFA500",
- "status_major_color": "e75a53",
- "status_maintenance_color": "5378c1",
- "custom_css": null,
- "custom_header": null,
- "custom_footer": null,
- "notify_by_default": false,
- "tweet_by_default": false,
- "slack_subscriptions_enabled": null,
- "discord_notifications_enabled": false,
- "teams_notifications_enabled": false,
- "google_chat_notifications_enabled": false,
- "mattermost_notifications_enabled": false,
- "sms_notifications_enabled": null,
- "feed_enabled": true,
- "calendar_enabled": false,
- "google_calendar_enabled": false,
- "subscribers_enabled": true,
- "notification_email": null,
- "reply_to_email": null,
- "tweeting_enabled": true,
- "email_layout_template": null,
- "email_confirmation_template": null,
- "email_notification_template": null,
- "email_templates_enabled": null,
- "allowed_email_domains": "acme.corp\\nnapster.com",
- "zoom_notifications_enabled": false
}
}| organizationId required | integer The ID of the organization |
| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
{- "error": 401
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| filter | string Filters by email address or phone number. In order to search by phone number, the following is supported:
|
| before | string Used as a cursor for pagination. |
| after | string Used as a cursor for pagination. |
| limit | integer Set the number of subscriptions to return in the response. This defaults to 20 items, and can be a maximum of 100. |
{- "subscriptions": [
- {
- "type": "email",
- "filter": "services",
- "service_ids": [
- 1
], - "incident_types": [
- "major"
], - "incident_id": 123,
- "email": "jane@doe.com",
- "confirm": true,
- "country_dial_code": "49",
- "phone_number": "12345678900",
- "locale": "en",
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "metadata": {
- "data": "some data"
}, - "subscription_group_ids": [
- 1,
- 2
]
}
], - "links": {
- "next": "{STATUSPAL_HOST}/api/v2/status_pages/subdomain/subscriptions?after=cUrSoR",
- "prev": "string"
}, - "meta": {
- "total_count": 100
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
The subscription
object (Subscription) |
{- "subscription": {
- "type": "email",
- "filter": "services",
- "service_ids": [
- 1
], - "incident_types": [
- "major"
], - "incident_id": 123,
- "email": "jane@doe.com",
- "confirm": true,
- "country_dial_code": "49",
- "phone_number": "12345678900",
- "locale": "en",
- "metadata": {
- "data": "some data"
}, - "subscription_group_ids": [
- 1,
- 2
]
}
}{- "subscription": {
- "type": "email",
- "filter": "services",
- "service_ids": [
- 1
], - "incident_types": [
- "major"
], - "incident_id": 123,
- "email": "jane@doe.com",
- "confirm": true,
- "country_dial_code": "49",
- "phone_number": "12345678900",
- "locale": "en",
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "metadata": {
- "data": "some data"
}, - "subscription_group_ids": [
- 1,
- 2
]
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| subscriptionId required | string The ID of a subscription |
{- "subscription": {
- "type": "email",
- "filter": "services",
- "service_ids": [
- 1
], - "incident_types": [
- "major"
], - "incident_id": 123,
- "email": "jane@doe.com",
- "confirm": true,
- "country_dial_code": "49",
- "phone_number": "12345678900",
- "locale": "en",
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "metadata": {
- "data": "some data"
}, - "subscription_group_ids": [
- 1,
- 2
]
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| subscriptionId required | string The ID of a subscription |
The subscription
object (Subscription) |
{- "subscription": {
- "type": "email",
- "filter": "services",
- "service_ids": [
- 1
], - "incident_types": [
- "major"
], - "incident_id": 123,
- "email": "jane@doe.com",
- "confirm": true,
- "country_dial_code": "49",
- "phone_number": "12345678900",
- "locale": "en",
- "metadata": {
- "data": "some data"
}, - "subscription_group_ids": [
- 1,
- 2
]
}
}{- "subscription": {
- "type": "email",
- "filter": "services",
- "service_ids": [
- 1
], - "incident_types": [
- "major"
], - "incident_id": 123,
- "email": "jane@doe.com",
- "confirm": true,
- "country_dial_code": "49",
- "phone_number": "12345678900",
- "locale": "en",
- "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00",
- "metadata": {
- "data": "some data"
}, - "subscription_group_ids": [
- 1,
- 2
]
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| subscriptionId required | string The ID of a subscription |
{- "error": 401
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
{- "services": [
- {
- "id": 0,
- "name": "Monitoring service",
- "description": "Some description",
- "private_description": "Some private description",
- "parent_id": 0,
- "current_incident_type": "major",
- "monitoring": null,
- "webhook_monitoring_service": "status-cake",
- "webhook_custom_jsonpath_settings": {
- "jsonpath": "$.status",
- "expected_result": "\"up\""
}, - "inbound_email_address": "string",
- "incoming_webhook_url": "string",
- "ping_url": "string",
- "incident_type": "major",
- "parent_incident_type": "major",
- "is_up": true,
- "pause_monitoring_during_maintenances": true,
- "inbound_email_id": "string",
- "auto_incident": true,
- "auto_notify": true,
- "children_ids": [
- 0
], - "translations": {
- "en": {
- "name": "English Name",
- "description": "English description"
}, - "es": {
- "name": "Spanish Name",
- "description": "Spanish description"
}
}, - "private": true,
- "display_uptime_graph": true,
- "display_response_time_chart": true,
- "order": 0,
- "notification_recipients": [
- 1
], - "monitoring_options": {
- "method": "HEAD",
- "headers": [
- {
- "key": "accept-language",
- "value": "en"
}
], - "keyword_down": "down",
- "keyword_up": "up"
}
}
], - "links": {
- "next": "string",
- "prev": "string"
}, - "meta": {
- "total_count": 100
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
The service
object (Service) Represents the service. |
{- "service": {
- "name": "Monitoring service",
- "description": "Some description",
- "private_description": "Some private description",
- "parent_id": 0,
- "current_incident_type": "major",
- "monitoring": null,
- "webhook_monitoring_service": "status-cake",
- "webhook_custom_jsonpath_settings": {
- "jsonpath": "$.status",
- "expected_result": "\"up\""
}, - "ping_url": "string",
- "incident_type": "major",
- "parent_incident_type": "major",
- "pause_monitoring_during_maintenances": true,
- "auto_incident": true,
- "auto_notify": true,
- "translations": {
- "en": {
- "name": "English Name",
- "description": "English description"
}, - "es": {
- "name": "Spanish Name",
- "description": "Spanish description"
}
}, - "private": true,
- "display_uptime_graph": true,
- "display_response_time_chart": true,
- "order": 0,
- "notification_recipients": [
- 1
], - "monitoring_options": {
- "method": "HEAD",
- "headers": [
- {
- "key": "accept-language",
- "value": "en"
}
], - "keyword_down": "down",
- "keyword_up": "up"
}
}
}{- "service": {
- "id": 0,
- "name": "Monitoring service",
- "description": "Some description",
- "private_description": "Some private description",
- "parent_id": 0,
- "current_incident_type": "major",
- "monitoring": null,
- "webhook_monitoring_service": "status-cake",
- "webhook_custom_jsonpath_settings": {
- "jsonpath": "$.status",
- "expected_result": "\"up\""
}, - "inbound_email_address": "string",
- "incoming_webhook_url": "string",
- "ping_url": "string",
- "incident_type": "major",
- "parent_incident_type": "major",
- "is_up": true,
- "pause_monitoring_during_maintenances": true,
- "inbound_email_id": "string",
- "auto_incident": true,
- "auto_notify": true,
- "children_ids": [
- 0
], - "translations": {
- "en": {
- "name": "English Name",
- "description": "English description"
}, - "es": {
- "name": "Spanish Name",
- "description": "Spanish description"
}
}, - "private": true,
- "display_uptime_graph": true,
- "display_response_time_chart": true,
- "order": 0,
- "notification_recipients": [
- 1
], - "monitoring_options": {
- "method": "HEAD",
- "headers": [
- {
- "key": "accept-language",
- "value": "en"
}
], - "keyword_down": "down",
- "keyword_up": "up"
}
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| serviceId required | integer The ID of a service |
{- "service": {
- "id": 0,
- "name": "Monitoring service",
- "description": "Some description",
- "private_description": "Some private description",
- "parent_id": 0,
- "current_incident_type": "major",
- "monitoring": null,
- "webhook_monitoring_service": "status-cake",
- "webhook_custom_jsonpath_settings": {
- "jsonpath": "$.status",
- "expected_result": "\"up\""
}, - "inbound_email_address": "string",
- "incoming_webhook_url": "string",
- "ping_url": "string",
- "incident_type": "major",
- "parent_incident_type": "major",
- "is_up": true,
- "pause_monitoring_during_maintenances": true,
- "inbound_email_id": "string",
- "auto_incident": true,
- "auto_notify": true,
- "children_ids": [
- 0
], - "translations": {
- "en": {
- "name": "English Name",
- "description": "English description"
}, - "es": {
- "name": "Spanish Name",
- "description": "Spanish description"
}
}, - "private": true,
- "display_uptime_graph": true,
- "display_response_time_chart": true,
- "order": 0,
- "notification_recipients": [
- 1
], - "monitoring_options": {
- "method": "HEAD",
- "headers": [
- {
- "key": "accept-language",
- "value": "en"
}
], - "keyword_down": "down",
- "keyword_up": "up"
}
}
}| serviceId required | integer The ID of a service |
| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
The service
object (Service) Represents the service. |
{- "service": {
- "name": "Monitoring service",
- "description": "Some description",
- "private_description": "Some private description",
- "parent_id": 0,
- "current_incident_type": "major",
- "monitoring": null,
- "webhook_monitoring_service": "status-cake",
- "webhook_custom_jsonpath_settings": {
- "jsonpath": "$.status",
- "expected_result": "\"up\""
}, - "ping_url": "string",
- "incident_type": "major",
- "parent_incident_type": "major",
- "pause_monitoring_during_maintenances": true,
- "auto_incident": true,
- "auto_notify": true,
- "translations": {
- "en": {
- "name": "English Name",
- "description": "English description"
}, - "es": {
- "name": "Spanish Name",
- "description": "Spanish description"
}
}, - "private": true,
- "display_uptime_graph": true,
- "display_response_time_chart": true,
- "order": 0,
- "notification_recipients": [
- 1
], - "monitoring_options": {
- "method": "HEAD",
- "headers": [
- {
- "key": "accept-language",
- "value": "en"
}
], - "keyword_down": "down",
- "keyword_up": "up"
}
}
}{- "service": {
- "id": 0,
- "name": "Monitoring service",
- "description": "Some description",
- "private_description": "Some private description",
- "parent_id": 0,
- "current_incident_type": "major",
- "monitoring": null,
- "webhook_monitoring_service": "status-cake",
- "webhook_custom_jsonpath_settings": {
- "jsonpath": "$.status",
- "expected_result": "\"up\""
}, - "inbound_email_address": "string",
- "incoming_webhook_url": "string",
- "ping_url": "string",
- "incident_type": "major",
- "parent_incident_type": "major",
- "is_up": true,
- "pause_monitoring_during_maintenances": true,
- "inbound_email_id": "string",
- "auto_incident": true,
- "auto_notify": true,
- "children_ids": [
- 0
], - "translations": {
- "en": {
- "name": "English Name",
- "description": "English description"
}, - "es": {
- "name": "Spanish Name",
- "description": "Spanish description"
}
}, - "private": true,
- "display_uptime_graph": true,
- "display_response_time_chart": true,
- "order": 0,
- "notification_recipients": [
- 1
], - "monitoring_options": {
- "method": "HEAD",
- "headers": [
- {
- "key": "accept-language",
- "value": "en"
}
], - "keyword_down": "down",
- "keyword_up": "up"
}
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| serviceId required | integer The ID of a service |
{- "error": 401
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
{- "webhooks": [
- {
- "url": "url",
- "events": [
- "incident.created",
- "incident.updated"
], - "enabled": true
}
]
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
The webhook
object (Webhook) |
{- "webhook": {
- "url": "url",
- "events": [
- "incident.created",
- "incident.updated"
], - "enabled": true
}
}{- "webhook": {
- "url": "url",
- "events": [
- "incident.created",
- "incident.updated"
], - "enabled": true
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| webhookId required | integer The ID of a webhook |
{- "webhook": {
- "url": "url",
- "events": [
- "incident.created",
- "incident.updated"
], - "enabled": true
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| webhookId required | integer The ID of a webhook |
The webhook
object (Webhook) |
{- "webhook": {
- "url": "url",
- "events": [
- "incident.created",
- "incident.updated"
], - "enabled": true
}
}{- "webhook": {
- "url": "url",
- "events": [
- "incident.created",
- "incident.updated"
], - "enabled": true
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| webhookId required | integer The ID of a webhook |
{- "error": 401
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
{- "access_groups": [
- {
- "id": 3,
- "name": "name",
- "service_ids": [
- 1
], - "users_status_pages": [
- 1
]
}
]
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
The access group
object (AccessGroup) |
{- "access_group": {
- "name": "name",
- "service_ids": [
- 1
], - "users_status_pages": [
- 1
]
}
}{- "access_group": {
- "id": 3,
- "name": "name",
- "service_ids": [
- 1
], - "users_status_pages": [
- 1
]
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| accessGroupId required | integer The ID of an access group |
{- "access_group": {
- "id": 3,
- "name": "name",
- "service_ids": [
- 1
], - "users_status_pages": [
- 1
]
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| accessGroupId required | integer The ID of an access group |
The access group
object (AccessGroup) |
{- "access_group": {
- "name": "name",
- "service_ids": [
- 1
], - "users_status_pages": [
- 1
]
}
}{- "access_group": {
- "id": 3,
- "name": "name",
- "service_ids": [
- 1
], - "users_status_pages": [
- 1
]
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| accessGroupId required | integer The ID of an access group |
{- "error": 401
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| before | string Used as a cursor for pagination. |
| after | string Used as a cursor for pagination. |
| limit | integer Set the number of subscriptions to return in the response. This defaults to 20 items, and can be a maximum of 100. |
string Filter the members by email. |
{- "members": [
- {
- "id": 5,
- "email": "jane@doe.com",
- "role": "v",
- "enabled": true,
- "user": {
- "id": 1,
- "last_sign_in_at": "2022-01-01T00:00:00",
- "current_sign_in_at": "2022-01-01T00:00:00"
}, - "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00"
}
], - "links": {
- "next": "{STATUSPAL_HOST}/api/v2/status_pages/subdomain/members?after=cUrSoR",
- "prev": "string"
}, - "meta": {
- "total_count": 100
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
The membership
object |
{- "member": {
- "email": "jane@doe.com",
- "role": "v",
- "enabled": true,
- "lang": "en"
}
}{- "member": {
- "id": 5,
- "email": "jane@doe.com",
- "role": "v",
- "enabled": true,
- "user": {
- "id": 1,
- "last_sign_in_at": "2022-01-01T00:00:00",
- "current_sign_in_at": "2022-01-01T00:00:00"
}, - "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00"
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| memberId required | integer The ID of a membership |
The membership
object (StatusPageMember) |
{- "member": {
- "role": "v",
- "enabled": true
}
}{- "member": {
- "id": 5,
- "email": "jane@doe.com",
- "role": "v",
- "enabled": true,
- "user": {
- "id": 1,
- "last_sign_in_at": "2022-01-01T00:00:00",
- "current_sign_in_at": "2022-01-01T00:00:00"
}, - "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00"
}
}| subdomain required | string The subdomain of your status page. You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/ |
| memberId required | integer The ID of a membership |
{- "error": 401
}| organizationId required | integer The ID of the organization |
| before | string Used as a cursor for pagination. |
| after | string Used as a cursor for pagination. |
| limit | integer Set the number of subscriptions to return in the response. This defaults to 20 items, and can be a maximum of 100. |
string Filter the members by email. |
{- "members": [
- {
- "id": 8,
- "email": "jane@doe.com",
- "role": "v",
- "user": {
- "id": 1,
- "last_sign_in_at": "2022-01-01T00:00:00",
- "current_sign_in_at": "2022-01-01T00:00:00"
}, - "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00"
}
], - "links": {
- "next": "{STATUSPAL_HOST}/api/v2/orgs/{organizationId}/members?after=cUrSoR",
- "prev": "string"
}, - "meta": {
- "total_count": 100
}
}| organizationId required | integer The ID of the organization |
The membership
object |
{- "member": {
- "email": "jane@doe.com",
- "role": "v"
}
}{- "member": {
- "id": 8,
- "email": "jane@doe.com",
- "role": "v",
- "user": {
- "id": 1,
- "last_sign_in_at": "2022-01-01T00:00:00",
- "current_sign_in_at": "2022-01-01T00:00:00"
}, - "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00"
}
}| organizationId required | integer The ID of the organization |
| memberId required | integer The ID of a membership |
The membership
object (OrganizationMember) |
{- "member": {
- "role": "v"
}
}{- "member": {
- "id": 8,
- "email": "jane@doe.com",
- "role": "v",
- "user": {
- "id": 1,
- "last_sign_in_at": "2022-01-01T00:00:00",
- "current_sign_in_at": "2022-01-01T00:00:00"
}, - "inserted_at": "2022-01-01T00:00:00",
- "updated_at": "2022-01-01T00:00:00"
}
}