Error envelope
Authenticated errors use a stable JSON envelope:requestId when working with Trailflow support.
Common status and error codes
The Partner API currently returns these common combinations:400 bad_request400 missing_idempotency_key401 unauthorized403 forbidden403 partner_access_not_enabled403 live_access_not_enabled403 partner_access_disabled404 not_found409 idempotency_conflict409 idempotency_in_progress429 rate_limited500 internal_error
Rate limits
Each API client has a server-enforced per-minute rate limit. Current operating range:- default issuance target:
60requests per minute - allowed configured range:
1to600requests per minute
429 rate_limited before idempotent replay lookup, so duplicate write requests are not guaranteed to bypass rate limiting.
Retry guidance
Recommended partner behavior:- retry only when the status code and workflow make retry safe
- reuse the same
Idempotency-Keywhen retrying a failed write request with the same body - avoid tight retry loops after
429responses - capture
requestId, route, and timestamp before escalating support issues
Webhook failures
Webhook deliveries treat network failures and non-2xx responses as failures. Retries are bounded, and replay is coordinated with Trailflow after the partner confirms remediation.