Content type
All requests and responses use JSON:- Request bodies:
application/json - Responses:
application/json
Resource wrapping
Single resources
Single resources are wrapped in adata key:
GET /me) nest multiple objects inside data:
Collections
Collections use standard paginator format:Non-paginated collections (for example
GET /teams) return data as an array without links / meta.Timestamps
Datetime fields on resource objects (such ascreated_at, updated_at, opened_at, and resolved_at) are ISO 8601 strings in UTC:
Datetime values inside check
result payloads can use tool-specific formats. For example, SSL valid_from / valid_to are returned as YYYY-MM-DD HH:MM:SS without a timezone offset. See Check results.Identifiers
Resources use UUID strings in API paths:{team-uuid} is only a placeholder label. It is a UUID, named separately in examples so it is not confused with a site, check, or issue UUID.
Team context
For routes under a team, site, check, or issue, middleware resolves the team and sets it as the token user’s current team for that request. This drives plan-limit checks and policies that depend oncurrentTeam.
You do not send a separate
X-Team-Id header. Scope operations with the team UUID or site uuid in the path.GET /issues, filter to one team with ?team={team-uuid}. Without team, results include all teams where the user has viewIssues permission.
Pagination
List endpoints accept these query parameters:Example
HTTP status codes
Validation errors (422)
Standard validation shape:Common validation cases
- Duplicate site URL within a team
- Plan site limit reached
- Check tool not allowed on plan or not enabled on site
- Invalid cadence for plan tier
- Invalid filter or sort query parameters
Authorization vs not found
Cross-team access to sites, checks, and issues returns404 Not Found rather than 403, so resource existence is not leaked across tenants.
Rate limits
All API routes use the defaultapi throttle middleware.
Check runs are further limited:
API check runs also enforce the site’s per-tool on-demand cadence, so repeated requests for the same tool may return 422 before the request throttle is reached.
When throttled, the API returns 429 Too Many Requests with Retry-After headers where configured.
Enums
Check tools
Tool values in request bodies and responses:Check status
Issue status
Filter with
status=active to include both open and acknowledged issues.
The API supports read access only. Acknowledge and resolve actions are available in the dashboard Issues page.