SynqedDocs

Errors

One error shape, stable types and codes, and a request id on every response.

Every non-2xx response has the same body:

{
  "error": {
    "type": "invalid_request",
    "code": "invalid_parameter",
    "message": "source: lowercase letters, digits, _ . - (max 64)",
    "param": "source",
    "request_id": "req_4f1c9a…"
  }
}
  • type is the broad category — branch on this.
  • code is the specific reason. New codes may be added; existing ones never change meaning.
  • param names the offending field when there is one.
  • request_id is also returned in the X-Request-Id header on every response, success or error. Include it when you contact support. You can send your own X-Request-Id (8–128 characters of [A-Za-z0-9_.-]) to correlate with your logs.

Types

typeStatusRetry?
invalid_request400, 413No — fix the request.
authentication_error401No — check the key and region.
permission_error403No — grant the permission or widen data access.
not_found404No.
conflict409Sometimes — see the code.
rate_limited429Yes, after Retry-After seconds.
api_error500Yes, with exponential backoff.

Codes

StatuscodeMeaning
400invalid_jsonThe body is not valid JSON.
400invalid_parameterA parameter failed validation; param names it.
400idempotency_key_reusedThe Idempotency-Key was already used with a different request.
413body_too_largeThe request body exceeds 1 MiB.
401missing_api_keyNo Authorization: Bearer header.
401invalid_api_keyMalformed, unknown, expired, or revoked key.
401wrong_regionThe key belongs to the other region.
403insufficient_permissionsThe key lacks the endpoint's permission.
403visibility_not_allowedA write asked for wider visibility than the key has.
403not_participantThe key is not part of the requested message thread.
404resource_missingNot found — or outside the key's data access.
404unknown_endpointNo endpoint at this method and path.
409document_not_accessibleA document with this (source, external_id) exists outside the key's data access.
409invalid_stateThe resource is not in a state that allows this change.
409idempotency_in_progressA request with this Idempotency-Key is still running — retry shortly.
429rate_limit_exceededToo many requests.
500internal_errorSomething went wrong on our side.

On this page