Stazus docs
Stazus docs

Introduction

Stazus documentationGet startedConcepts

Planned features

Feature availabilityStatus pages

Monitoring

MonitorsChecks and resultsLatency alertingMaintenance windows

Incident response

IncidentsNotificationsTeams and access

Developer API

Developer APIAuthenticationProjectsEndpointsAnalyticsIncidentsErrors and limitsMigrate from v1

Account and help

Account and security

Help

Support

Updates

Changelog
Changelog launchedDocumentation UpdatesDeveloper API v2Scope-aware maintenance windows
Developer API

Errors and limits

Handle API errors, request IDs, pagination, and rate limits.

Error response

The API returns one structured error object:

{
  "error": {
    "code": "validation_failed",
    "message": "validation error\nincident title must be between 1 and 200 characters",
    "details": [],
    "request_id": "b4a3b2ad5f05494697dd0f2fe7c28a72"
  }
}

Include request_id when you report an API problem. The same value is in the X-Request-ID response header.

StatusMeaning
400A path parameter, query parameter, cursor, or JSON body is invalid.
401The request does not contain a developer token.
403The token, scope, membership, or role does not permit the request.
404The resource does not exist in the token's team.
409The request conflicts with current data or an idempotency key.
422The body is valid JSON but fails resource validation.
429The token exceeded a rate limit.
500Stazus could not complete the request.

Pagination

List endpoints accept limit and cursor.

  • limit accepts 1 through 100. The default is 50.
  • cursor must be the unmodified value from pagination.next_cursor.
  • Stop when pagination.has_more is false.
  • Keep the same endpoint and filters for every page. Restart without a cursor when a filter changes or the API returns invalid_cursor.

Do not create or decode cursor values. Stazus can change their internal format.

curl \
  -H "Authorization: Bearer $SIFTR_DEVELOPER_TOKEN" \
  "https://siftr-backend.jdqc.dev/api/public/v2/incidents?limit=50&cursor=CURSOR_FROM_RESPONSE"

Rate limits

Read routes accept 120 requests per minute for each token. Write routes accept 30 requests per minute for each token.

Each authenticated response contains:

  • RateLimit-Limit
  • RateLimit-Remaining
  • RateLimit-Reset

A 429 response also contains Retry-After. Wait for that number of seconds before another request.

Request size

Request bodies have a 1 MiB limit. Incident metadata has a 64 KiB encoded JSON limit.

Idempotent operations

These operations require an Idempotency-Key header:

  • Create an incident.
  • Merge incidents.
  • Add an incident comment.
  • Add an incident checkpoint.

Use a unique value for each intended operation. Reuse a key only when you retry the exact same URL and request body.

Stazus keeps the key for 24 hours. A repeated request with the same body returns the original response. The response includes Idempotent-Replayed: true.

Stazus returns 409 if the same key is in progress or is used with a different request.

Last updated on

Incidents

Read, create, and modify incidents from an integration.

Migrate from v1

Move public analytics integrations to the Developer API v2 contract.

On this page

Error responsePaginationRate limitsRequest sizeIdempotent operations