Reference
Headers & status codes
The headers Queuey reads on ingress and sends on delivery, and the HTTP status codes you can get back when you POST an event.
Headers Queuey reads (ingress)
| Header | Meaning |
|---|---|
| Content-Type | application/json for JSON event bodies. |
| X-Api-Key | API-key authentication. Format: qak_<keyId>.<secret> (when the queue's ingress auth is API key). |
| Idempotency-Key | Producer-asserted idempotency key. A duplicate within the dedup window short-circuits to the already-accepted event. |
| X-Queuey-Key-Id | Signed-request: the HMAC signing key id. |
| X-Queuey-Timestamp | Signed-request: Unix seconds, checked for skew (replay protection). |
| X-Queuey-Nonce | Signed-request: a unique value, single-use (replay protection). |
| X-Queuey-Content-SHA256 | Signed-request: lowercase hex SHA-256 of the raw body. |
| X-Queuey-Signature | Signed-request: lowercase hex HMAC-SHA256 of the canonical string. |
| X-Queuey-Path | Loop-prevention chain. Refused past the configured hop budget or on a cycle. |
Headers Queuey sends (delivery)
| Header | Meaning |
|---|---|
| Authorization | Bearer / Basic — set per the target's auth mode (incl. OAuth2). |
| Idempotency-Key | Threaded from the event so an idempotent receiver can dedupe across retries. |
| X-Queuey-Path | Queuey appends its segment, so a downstream Queuey can detect loops. |
| X-Queuey-Signature (+ Key-Id / Timestamp / Nonce) | Present when the queue signs outbound deliveries (HMAC). |
Ingress status codes
Errors return a consistent envelope so clients can branch on the code: { "error": { "code": "queue_paused", "message": "…" } }.
| Status | Meaning |
|---|---|
| 202 Accepted | The event was accepted and persisted. The body returns the eventId; delivery is asynchronous. A duplicate Idempotency-Key returns 202 with replayed:true. |
| 400 Bad Request | Validation error — code is queue_paused, invalid_context_key, or sandbox_query_not_allowed. |
| 401 Unauthorized | Missing or invalid credentials — missing_api_key, invalid_api_key, invalid_signature, timestamp_out_of_range, replayed_request. |
| 403 Forbidden | Valid but denied — ip_not_allowed, client_scope_denied, missing_permission. |
| 404 Not Found | Unknown tenant or queue — not_found. |
| 409 Conflict | The queue is paused — queue_paused. |
| 422 Unprocessable Entity | The X-Queuey-Path chain exceeded the hop budget or formed a cycle — loop_detected / max_hops_exceeded. |
Related
- Signed requests (HMAC) — how the X-Queuey signature headers are built.
- Quickstart — send your first event.