Uptimely
API referenceIncidents

Change an incident's state

POST
/v1/incidents/{incident_id}/state-changes

Moves the incident to another lifecycle state (acknowledge, resolve, …). Re-issuing the same transition answers changed: false. Target state ids come from the project's configured incident states.

Authorization

bearerAuth
AuthorizationBearer <token>

An uptimely_live_ project API key (Settings → API Keys).

In: header

Path Parameters

incident_id*string

Incident id.

Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid

Header Parameters

Idempotency-Key?string

Optional client-generated key (1-255 visible ASCII characters; a UUID works) making this POST safely retryable. Retrying with the SAME key and byte-identical body within 24h replays the stored first response. The same key with a different body answers 422 idempotency_key_reused; a retry racing the first execution answers 409 idempotency_in_progress. Omitting the header executes normally with no idempotency guarantee.

Length1 <= length <= 255

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

curl -X POST "https://example.com/v1/incidents/497f6eca-6276-4993-bfeb-53cbbbba6f08/state-changes" \  -H "Content-Type: application/json" \  -d '{    "incident_state_id": "11d79fa5-56da-4a16-a644-2f13d6a29dc1"  }'
{  "changed": true}