REQUEST_INVALID | 400 | Body / query / headers didn’t validate | Fix your request shape |
MISSING_AUTH | 401 | No Authorization header on a protected endpoint | Set HTTP Basic with key+secret |
INVALID_CREDENTIALS | 401 | Key/secret pair is wrong or revoked | Reissue or rotate via operator |
FORBIDDEN_SCOPE | 403 | Credential is missing the required scope | Ask operator to widen scope |
RESOURCE_NOT_FOUND | 404 | Resource doesn’t exist, or isn’t visible to your business | Check ids; do not retry |
IDEMPOTENCY_KEY_CONFLICT | 409 | Same key reused with a different body | Investigate before retrying |
INVALID_TRANSITION | 422 | The requested state change isn’t allowed (e.g. wrong order status) | Read the current state, branch on it |
RATE_LIMITED | 429 | Too many requests | Back off and retry; see Retry-After header |
DOWNSTREAM_UNAVAILABLE | 502 | A klikit-side dependency was unavailable | Retry with backoff |
INTERNAL | 500 | Unexpected klikit-side failure | Retry with backoff; raise a ticket if persistent |