Logocowtic
Public API

Errors

RFC 9457 application/problem+json error responses from the Public API

Error responses use Content-Type: application/problem+json following RFC 9457.

Problem details shape

{
  "type": "https://cowtic.com/problems/validation-error",
  "title": "Validation Error",
  "status": 400,
  "detail": "Request validation failed",
  "instance": "/orders",
  "requestId": "8f3c…",
  "errors": [
    { "path": "customer.email", "message": "Invalid email" }
  ]
}
FieldMeaning
typeStable URI identifying the problem class
titleShort, human-readable summary
statusHTTP status code
detailOptional explanation for this occurrence
instanceRequest path
requestIdCorrelation id (also in X-Request-Id)
errorsOptional field-level validation issues

Common problem types

Statustype suffixWhen
400bad-request / validation-errorInvalid input or business rule
401unauthorizedMissing or invalid API key
403forbiddenAuthenticated but missing scope
404not-foundResource not in this organization
409idempotency-conflictIdempotency-Key reused with different body
429rate-limitedRate limit exceeded
500internal-errorUnexpected server failure

Full URIs look like https://cowtic.com/problems/not-found.

Client handling

  1. Branch on status (and optionally type) — not on free-text detail.
  2. Surface errors[] for form validation when present.
  3. Log requestId for support.
  4. For 429, honor Retry-After — see Rate limits.

On this page