Log request IDs
Every response carries aRequest-Id header, such as req_8f2k4m6p8r0t2v4x6z8b0d2f4h. Every
error body carries the same value as request_id.
chk_…, gen_…, ses_…, rvk_…) and
your own job ID. When you contact support, the request ID is the fastest way
to find what happened. Log the code of every error, not only the HTTP status: a 409 can mean
anything from idempotency_key_in_use to session_not_active.
Do not log secret keys, webhook secrets or whole tokens, and keep prompt text out of shared logs.
What to measure
Use the rows that match supported endpoints today. Rows for unserved capabilities are targets for a future integration; their dashboard views and background processing are not available yet.Alerts
These are proposed operational alerts for the full API. The sandbox does not deliver the named webhook events or run the background deadline workflows.Revocations
Revocations carry hard deadlines on your side:acknowledge_by for every required action except
withdraw_outputs, and post_revocation.withdraw_by for withdraw_outputs. Watch them three ways:
- The
revocation.createdhandler records each revocation and when it was received. - Your feed reader records each
GET /v1/revocations?after=…call and the cursor it reached, and alerts when it stops running. - A scheduled job lists
status=pending_acknowledgementandstatus=overdue, alerts at once on any overdue revocation, and compares each pending revocation’sacknowledgementswith itsrequired_actions. It alerts on each deadline separately: actions other thanwithdraw_outputsstill unacknowledged long beforeacknowledge_by, andwithdraw_outputsstill unacknowledged long beforepost_revocation.withdraw_by. A revocation that requireswithdraw_outputsstayspending_acknowledgementafter your first call, so that status alone is not a fault.
Webhook health
Hosted webhook delivery is not available in the current sandbox. The proposed production policy is to retry a failed delivery with exponential backoff for 72 hours: after about 5 seconds, 1 minute, 5 minutes, 30 minutes, 2 hours and 5 hours, then every 10 hours. An endpoint that fails every delivery for 5 days would be disabled, andwebhook_endpoint.disabled would go to your other
endpoints and your account email.
The planned recovery flow after an outage is to read missed events with
GET /v1/events and after set to the last event you
processed, or resend single events with
POST /v1/events/{event_id}/resend. Events are kept for 30
days under the proposed policy. These event endpoints are not served by the current sandbox.
Status page
status.reflections.ai provides the published service status. Link it from your runbook and check which components it covers. It does not replace testing the Talent API journey your integration uses. The 99.95% monthly availability figure and latency figures in the API design are proposed targets, not a verified SLA for the sandbox. Incident subscriptions and response commitments must be confirmed before relying on them.Related
Errors
The problem-details format and every error code.
Rate limits
Limits, headers and raising them.
Handle revocations
The feed, purges and acknowledgements.
Support
How to reach Reflections and what to send.