PagerMate Docs
Incident API

Acknowledge and resolve incidents

Update an existing incident by its public incident number or explicit alert key.

Use the credentials and service ID from the first request. Replace INC-1000000 with the actual identifier returned by your trigger request.

Acknowledge by incident number

curl --fail-with-body --silent --show-error \
  https://api.pagermate.com/v1/incident \
  --form-string "client_key=$PAGERMATE_CLIENT_KEY" \
  --form-string "client_secret=$PAGERMATE_CLIENT_SECRET" \
  --form-string "service_id=$PAGERMATE_SERVICE_ID" \
  --form-string "action=acknowledge" \
  --form-string "incident_id=INC-1000000"

This returns HTTP 200 with status: acknowledged. API actions are recorded as API activity rather than as a signed-in human agent taking ownership. To take personal ownership, acknowledge from the workspace.

Resolve by incident number

curl --fail-with-body --silent --show-error \
  https://api.pagermate.com/v1/incident \
  --form-string "client_key=$PAGERMATE_CLIENT_KEY" \
  --form-string "client_secret=$PAGERMATE_CLIENT_SECRET" \
  --form-string "service_id=$PAGERMATE_SERVICE_ID" \
  --form-string "action=resolve" \
  --form-string "incident_id=INC-1000000"

The response includes status: resolved and resolved_at. Resolving the same incident again by its incident number succeeds without adding another status-change event.

Recover by explicit key

If your trigger included deduplication_key=production-db-connectivity, a recovery check can resolve the latest open incident with that key:

curl --fail-with-body --silent --show-error \
  https://api.pagermate.com/v1/incident \
  --form-string "client_key=$PAGERMATE_CLIENT_KEY" \
  --form-string "client_secret=$PAGERMATE_CLIENT_SECRET" \
  --form-string "service_id=$PAGERMATE_SERVICE_ID" \
  --form-string "action=resolve" \
  --form-string "deduplication_key=production-db-connectivity"

Key-based lifecycle lookup is scoped to the selected service and finds an open incident. Once no matching open incident remains, repeating that key-based resolution returns 404. Use incident_id or an idempotency key when you need a repeatable exact recovery update.

State rules

  • Trigger reports group only with triggered or acknowledged incidents when deduplication applies.
  • A resolved incident cannot be acknowledged through the API; that returns 409.
  • Triggering after resolution creates a new incident rather than reopening the resolved record.
  • You can acknowledge or resolve existing incidents even if their service has since been marked inactive. New triggers for that inactive service are rejected.
  • The public API does not delete incidents or reopen them.

On this page