Quick reference
Authentication
All endpoints require a Bearer token in theAuthorization header:
Create a PAT from User Settings → Personal Access Tokens. A PAT carries no permission scopes: you grant it access to specific organizations and projects when you create it. See Generate API keys.
NoteTokens can be rotated or revoked from User Settings → Personal Access Tokens at any time. A revoked token stops working immediately and returns
401 TOKEN_REVOKED.Rate limits
Every response includes standard rate-limit headers:
When you exceed a limit, the API returns
429 RATE_LIMIT_EXCEEDED. PDF-specific 429 responses also include a Retry-After header indicating how many seconds to wait.
Response format
Every successful response uses this envelope:Errors
Branch your client onerror.code, not HTTP status alone. Codes are stable; messages may change.
Pagination
List endpoints acceptpage and limit. limit is not an arbitrary 1–100 range. Most run/analytics lists only accept 10, 25, 50, or 100 (default 10). Sending 20 returns 400 INVALID_LIMIT:
Pagination metadata is included in the response:
NoteA few endpoints use
offset + limit instead of page + limit (e.g. GET /test-cases/history). The parameter name is documented on each endpoint’s reference page.Date filtering
There is no global date-filter convention. Each endpoint documents its own parameters:
Test runs do not accept
period, dateRange, or camelCase startDate/endDate. Use snake_case start_date/end_date.
Rolling windows (days on explorer/specs/analytics): values other than 7, 30, or 90 are snapped to the nearest allowed window (default 30 when absent or invalid). String presets like dateRange=7d are not supported on analytics. Pass days=7 instead.
NoteSending undocumented query keys on public routes is stripped at the gateway, not forwarded silently. Check each endpoint’s reference page for the exact allowlist.