Status API reference

Status endpoints of the Quackback REST API: paths, parameters, request fields and responses.

JM
James Morton
Written By James MortonLast updated 3 days ago

This is the reference for the Status endpoints of the Quackback REST API: every endpoint, its parameters, request fields and response fields. It is generated from the API's OpenAPI description, so it matches what the API accepts.

All paths are relative to /api/v1 on your workspace's address (for example https://feedback.example.com/api/v1). Authenticate with an API key in the Authorization: Bearer qb_... header. For keys, errors, pagination and rate limits, see API overview. Every workspace also serves an interactive reference at /api/v1/docs.

Endpoints

  • GET /status/summary: Get the status page summary
  • GET /status/components: List status components
  • POST /status/components: Create a status component
  • GET /status/components/{componentId}: Get a status component
  • PATCH /status/components/{componentId}: Update a status component
  • GET /status/services: List status services
  • POST /status/services: Create a status service
  • GET /status/services/{serviceId}: Get a status service
  • PATCH /status/services/{serviceId}: Update a status service
  • GET /status/incidents: List status incidents
  • POST /status/incidents: Create a status incident or maintenance window
  • GET /status/incidents/{incidentId}: Get a status incident
  • POST /status/incidents/{incidentId}/updates: Post a status incident update

Get the status page summary

GET /api/v1/status/summary

Top-level status, all components, and active incidents , the public page snapshot

Response 200: returns status, components, activeIncidents.

List status components

GET /api/v1/status/components

Returns all status components (grouped and ungrouped), flattened. Deprecated: use the /status/services path , the workspace-facing name for a component is "service". This path keeps working unchanged.

Response 200: returns id, groupId, name, description, status, position, showUptime, segmentIds.

Create a status component

POST /api/v1/status/components

Create a new status component. Subject to the plan’s maxStatusComponents limit. Deprecated: use the /status/services path , the workspace-facing name for a component is "service". This path keeps working unchanged.

Request body

Field

Type

Required

Description

name

string

Yes

description

string, nullable

No

groupId

string

No

Status component group ID

status

string (operational, degraded_performance, partial_outage, major_outage, under_maintenance)

No

Component status

showUptime

boolean

No

segmentIds

array of string

No

Response 201: returns id, groupId, name, description, status, position, showUptime, segmentIds.

Get a status component

GET /api/v1/status/components/{componentId}

Deprecated: use the /status/services/{serviceId} path , the workspace-facing name for a component is "service". This path keeps working unchanged.

Parameters

Name

In

Type

Required

Description

componentId

path

string

Yes

Status component ID

Response 200: returns id, groupId, name, description, status, position, showUptime, segmentIds.

Update a status component

PATCH /api/v1/status/components/{componentId}

Updates metadata and/or the live status. A { status }-only body is the monitoring-tool automation hook (e.g. a Datadog/Pingdom webhook). Deprecated: use the /status/services/{serviceId} path , the workspace-facing name for a component is "service". This path keeps working unchanged.

Parameters

Name

In

Type

Required

Description

componentId

path

string

Yes

Status component ID

Request body

Field

Type

Required

Description

name

string

No

description

string, nullable

No

groupId

string

No

showUptime

boolean

No

segmentIds

array of string

No

status

string (operational, degraded_performance, partial_outage, major_outage, under_maintenance)

No

Sets the live component status , the monitoring-tool automation hook (a Datadog/Pingdom/etc. webhook flips this directly).

Response 200: returns id, groupId, name, description, status, position, showUptime, segmentIds.

List status services

GET /api/v1/status/services

Returns all status services (grouped and ungrouped), flattened.

Response 200: returns id, groupId, name, description, status, position, showUptime, segmentIds.

Create a status service

POST /api/v1/status/services

Create a new status service. Subject to the plan’s maxStatusComponents limit.

Request body

Field

Type

Required

Description

name

string

Yes

description

string, nullable

No

groupId

string

No

Status component group ID

status

string (operational, degraded_performance, partial_outage, major_outage, under_maintenance)

No

Component status

showUptime

boolean

No

segmentIds

array of string

No

Response 201: returns id, groupId, name, description, status, position, showUptime, segmentIds.

Get a status service

GET /api/v1/status/services/{serviceId}

Parameters

Name

In

Type

Required

Description

serviceId

path

string

Yes

Status service ID

Response 200: returns id, groupId, name, description, status, position, showUptime, segmentIds.

Update a status service

PATCH /api/v1/status/services/{serviceId}

Updates metadata and/or the live status. A { status }-only body is the monitoring-tool automation hook (e.g. a Datadog/Pingdom webhook).

Parameters

Name

In

Type

Required

Description

serviceId

path

string

Yes

Status service ID

Request body

Field

Type

Required

Description

name

string

No

description

string, nullable

No

groupId

string

No

showUptime

boolean

No

segmentIds

array of string

No

status

string (operational, degraded_performance, partial_outage, major_outage, under_maintenance)

No

Sets the live component status , the monitoring-tool automation hook (a Datadog/Pingdom/etc. webhook flips this directly).

Response 200: returns id, groupId, name, description, status, position, showUptime, segmentIds.

List status incidents

GET /api/v1/status/incidents

Returns incidents and scheduled maintenance windows (full admin detail)

Parameters

Name

In

Type

Required

Description

kind

query

string (incident, maintenance)

No

state

query

string (active, resolved, all)

No

cursor

query

string

No

limit

query

integer

No

Response 200: returns id, kind, title, status, impact, impactOverride, scheduledStartAt, scheduledEndAt, autoStart, autoComplete, startedAt, resolvedAt, backfilled, notifiedAt, createdBy, createdAt, updatedAt, affectedComponents, updates.

Create a status incident or maintenance window

POST /api/v1/status/incidents

Publishes an incident/maintenance window and (by default) notifies subscribers

Request body

Field

Type

Required

Description

kind

string (incident, maintenance)

Yes

title

string

Yes

status

string (investigating, identified, monitoring, resolved, scheduled, in_progress, verifying, completed)

Yes

Incident lifecycle (investigating / identified / monitoring / resolved) or maintenance lifecycle (scheduled / in_progress / verifying / completed), depending on kind.

impact

string (none, minor, major, critical, maintenance)

No

Incident impact severity

impactOverride

boolean

No

affectedComponents

array of object

Yes

body

string

Yes

Body of the first status update

scheduledStartAt

string, nullable

No

scheduledEndAt

string, nullable

No

autoStart

boolean

No

autoComplete

boolean

No

backfill

object

No

Creates the incident already resolved, historical; never notifies

notifySubscribers

boolean

No

Response 201: returns id, kind, title, status, impact, impactOverride, scheduledStartAt, scheduledEndAt, autoStart, autoComplete, startedAt, resolvedAt, backfilled, notifiedAt, createdBy, createdAt, updatedAt, affectedComponents, updates.

Get a status incident

GET /api/v1/status/incidents/{incidentId}

Parameters

Name

In

Type

Required

Description

incidentId

path

string

Yes

Status incident ID

Response 200: returns id, kind, title, status, impact, impactOverride, scheduledStartAt, scheduledEndAt, autoStart, autoComplete, startedAt, resolvedAt, backfilled, notifiedAt, createdBy, createdAt, updatedAt, affectedComponents, updates.

Post a status incident update

POST /api/v1/status/incidents/{incidentId}/updates

Posts a new lifecycle update (status change). A terminal status restores affected components to operational unless skipRestore is set.

Parameters

Name

In

Type

Required

Description

incidentId

path

string

Yes

Status incident ID

Request body

Field

Type

Required

Description

status

string (investigating, identified, monitoring, resolved, scheduled, in_progress, verifying, completed)

Yes

Incident lifecycle (investigating / identified / monitoring / resolved) or maintenance lifecycle (scheduled / in_progress / verifying / completed), depending on kind.

body

string

Yes

skipRestore

boolean

No

When the new status is terminal, skip restoring affected components to operational

Response 201: returns id, kind, title, status, impact, impactOverride, scheduledStartAt, scheduledEndAt, autoStart, autoComplete, startedAt, resolvedAt, backfilled, notifiedAt, createdBy, createdAt, updatedAt, affectedComponents, updates.

Was this helpful?

Your feedback shapes what we write next.