Status Pages V2

Manage and publish to status pages.

Before using these endpoints, you must create a status page in the incident.io dashboard (find Status Pages in the left navigation bar). You can then use the ListStatusPages endpoint to find your status page IDs, and the ShowStatusPageStructure endpoint to find component IDs and group IDs for your status page.

For read-only access (listing status pages, viewing structure, incidents, and maintenance windows), any valid API key will work. For write requests (creating incidents, maintenance windows, and publishing updates), you will need an API key with the "Create status page incidents, maintenance windows and publish updates" scope.

CreateStatusPageIncidentUpdate Status Pages V2

Post an update on a Status Page incident.

This is the endpoint to use when resolving an incident - set incident_status to "resolved" to end the incident. There is a limit of 100 updates per incident.

This endpoint requires an API key with the "Create status page incidents, maintenance windows and publish updates" scope.

Request
Request Body schema: application/json
required
Array of objects (StatusPageIncidentAffectedComponentV2)

An array of mappings from component ID to component status. This must not be set if the status page incident status is being set to "resolved", as all components statuses will update to "operational".

incident_status
string

Optional new status for this status page incident. If not provided, the status will remain unchanged. Setting to "resolved" will end the incident and all component statuses will update to "operational".

Enum: "investigating" "identified" "monitoring" "resolved"
message
required
string <= 4096 characters

Markdown update on what's changed about this status page incident

notify_subscribers
required
boolean

Whether to notify subscribers about this incident update. This will not work if your status page has more than 1000 subscribers.

status_page_incident_id
required
string

ID of the status page incident

Responses
201

Created response.

post/v2/status_page_incident_updates
Request samples
application/json
{
  • "component_statuses": [
    ],
  • "incident_status": "investigating",
  • "message": "The fix has been deployed and we are monitoring the situation. Some users may still experience intermittent issues.",
  • "notify_subscribers": true,
  • "status_page_incident_id": "01FCNDV6P870EA6S7TK1DSYDG1"
}
Response samples
application/json
{
  • "status_page_incident_update": {
    }
}

CreateStatusPageIncident Status Pages V2

Create a status page incident.

This endpoint requires an API key with the "Create status page incidents, maintenance windows and publish updates" scope.

Request
Request Body schema: application/json
required
Array of objects (StatusPageIncidentAffectedComponentV2)

An array of mappings from component ID to current component status

idempotency_key
required
string

A unique key to de-duplicate requests. If you send a request with an idempotency_key that was already used, the original response will be returned.

incident_status
required
string

Current status for this status page incident

Enum: "investigating" "identified" "monitoring" "resolved"
message
required
string <= 4096 characters

Markdown initial update on this status page incident

name
required
string <= 200 characters

A title for the incident

notify_subscribers
required
boolean

Whether to notify subscribers about this status page incident. This will not work if your status page has more than 1000 subscribers.

status_page_id
required
string

ID of the status page. You can find this by calling the ListStatusPages endpoint.

Responses
201

Created response.

post/v2/status_page_incidents
Request samples
application/json
{
  • "component_statuses": [
    ],
  • "idempotency_key": "alert-12345-abcde",
  • "incident_status": "investigating",
  • "message": "We are currently investigating reports of elevated error rates affecting our API.",
  • "name": "Elevated API latency",
  • "notify_subscribers": true,
  • "status_page_id": "01FCNDV6P870EA6S7TK1DSYDG0"
}
Response samples
application/json
{
  • "status_page_incident": {
    }
}

ShowStatusPageIncident Status Pages V2

Show a status page incident.

This endpoint requires a valid API key but no specific scopes.

Request
path Parameters
status_page_incident_id
required
string

ID of the status page incident

Example: 01FCNDV6P870EA6S7TK1DSYDG1
Responses
200

OK response.

get/v2/status_page_incidents/{status_page_incident_id}
Request samples
Response samples
application/json
{
  • "status_page_incident": {
    }
}

UpdateStatusPageIncident Status Pages V2

Update a status page incident.

This endpoint requires an API key with the "Create status page incidents, maintenance windows and publish updates" scope.

Request
path Parameters
status_page_incident_id
required
string

ID of the status page incident

Example: 01FCNDV6P870EA6S7TK1DSYDG1
Request Body schema: application/json
required
name
required
string <= 200 characters

A title for the incident

Responses
200

OK response.

put/v2/status_page_incidents/{status_page_incident_id}
Request samples
application/json
{
  • "name": "Elevated API latency"
}
Response samples
application/json
{
  • "status_page_incident": {
    }
}

CreateStatusPageMaintenanceUpdate Status Pages V2

Post an update on a Status Page maintenance window.

This is the endpoint to use when completing a maintenance window - set maintenance_status to "maintenance_complete" to end the maintenance. There is a limit of 100 updates per maintenance window.

This endpoint requires an API key with the "Create status page incidents, maintenance windows and publish updates" scope.

Request
Request Body schema: application/json
required
Array of objects (StatusPageMaintenanceAffectedComponentV2)

An array of mappings from component ID to component status. This must not be set if the status page maintenance window status is being set to "maintenance_complete", as all components statuses will update to "operational".

maintenance_status
string

Optional new status for this status page maintenance window. If not provided, the status will remain unchanged. Setting to "maintenance_complete" will end the maintenance window and all component statuses will update to "operational".

Enum: "maintenance_scheduled" "maintenance_in_progress" "maintenance_complete"
message
required
string <= 4096 characters

Markdown update on what's changed about this status page maintenance window

notify_subscribers
required
boolean

Whether to notify subscribers about this status page maintenance update. This will not work if your status page has more than 1000 subscribers.

status_page_maintenance_id
required
string

ID of the status page maintenance window

Responses
201

Created response.

post/v2/status_page_maintenance_updates
Request samples
application/json
{
  • "component_statuses": [
    ],
  • "maintenance_status": "maintenance_scheduled",
  • "message": "Scheduled maintenance is underway for our database infrastructure. Some services may experience brief interruptions during this window.",
  • "notify_subscribers": true,
  • "status_page_maintenance_id": "01FCNDV6P870EA6S7TK1DSYDG1"
}
Response samples
application/json
{
  • "status_page_maintenance_update": {
    }
}

CreateStatusPageMaintenance Status Pages V2

Schedule a Status Page maintenance window.

This endpoint requires an API key with the "Create status page incidents, maintenance windows and publish updates" scope.

Request
Request Body schema: application/json
required
affected_component_ids
required
Array of strings

An array of IDs of component affected by the maintenance window

end_at
required
string <date-time>

The time the maintenance window ends

idempotency_key
required
string

A unique key to de-duplicate requests. If you send a request with an idempotency_key that was already used, the original response will be returned.

maintenance_status
required
string

Current status for this status page maintenance window

Enum: "maintenance_scheduled" "maintenance_in_progress" "maintenance_complete"
message
required
string <= 4096 characters

Markdown initial update on this status page maintenance window

name
required
string <= 200 characters

A title for the maintenance window

notify_subscribers
required
boolean

Whether to notify subscribers about this status page maintenance. This will not work if your status page has more than 1000 subscribers.

start_at
required
string <date-time>

The time the maintenance window starts

status_page_id
required
string

ID of the status page. You can find this by calling the ListStatusPages endpoint.

Responses
201

Created response.

post/v2/status_page_maintenances
Request samples
application/json
{
  • "affected_component_ids": [
    ],
  • "end_at": "2025-01-28T12:00:00Z",
  • "idempotency_key": "maintenance-12345-abcde",
  • "maintenance_status": "maintenance_scheduled",
  • "message": "Planned maintenance has been scheduled to upgrade our infrastructure. We expect minimal disruption, but some features may be briefly unavailable.",
  • "name": "Routine infrastructure upgrade",
  • "notify_subscribers": true,
  • "start_at": "2025-01-28T10:00:00Z",
  • "status_page_id": "01FCNDV6P870EA6S7TK1DSYDG0"
}
Response samples
application/json
{
  • "status_page_maintenance": {
    }
}

ShowStatusPageMaintenance Status Pages V2

Show a status page maintenance window.

This endpoint requires a valid API key but no specific scopes.

Request
path Parameters
status_page_maintenance_id
required
string

ID of the status page maintenance window

Example: 01FCNDV6P870EA6S7TK1DSYDG1
Responses
200

OK response.

get/v2/status_page_maintenances/{status_page_maintenance_id}
Request samples
Response samples
application/json
{
  • "status_page_maintenance": {
    }
}

ShowStatusPageStructure Status Pages V2

Show the structure of a status page.

This endpoint requires a valid API key but no specific scopes. Returns the components and component groups configured on a status page. Use this to find component IDs when specifying affected components for incidents or maintenance windows.

Request
path Parameters
status_page_id
required
string

ID of the status page

Example: abc123
Responses
200

OK response.

get/v2/status_page_structures/{status_page_id}
Request samples
Response samples
application/json
{
  • "current_structure": {
    }
}

ListStatusPages Status Pages V2

List all status pages for your organisation.

This endpoint requires a valid API key but no specific scopes. Use this to find status page IDs for use in other endpoints.

Request
query Parameters
page_size
integer <int64> <= 250
Default: 25

Integer number of records to return

Example: page_size=25
after
string

An record's ID. This endpoint will return a list of records after this ID in relation to the API response order.

Example: after=01FDAG4SAP5TYPT98WGR2N7W91
Responses
200

OK response.

get/v2/status_pages
Request samples
Response samples
application/json
{
  • "pagination_meta": {
    },
  • "status_pages": []
}