# flow2act · Errors & request IDs

Errors use RFC 9457 application/problem+json with type, title, status, detail, instance and the compatible error, message, requestId fields. Keep X-Request-Id for troubleshooting; honor Retry-After for 429/503.

400 invalid input; 401 invalid/expired credential; 402 quota or billing restriction; 403 missing role, membership or scope; 404 missing resource; 409 conflict/stale revision or Sandbox open limit/expired approval; 410 expired Sandbox command data; 429 AI limit; 502 invalid AI output; 503 dependency unavailable.

Reload the latest revision before resolving conflicts. Retry transient failures with bounded backoff and the original idempotency key. Never automatically retry a write with a fresh key.

## Request example (replace example IDs)

```sh
curl "https://api.flow2act.com/v1/access" \
  -H "authorization: Bearer $FLOW2ACT_API_KEY" \
  -H "x-organization-id: 10000000-0000-4000-8000-000000000001"
```

## Response excerpt

```json
{
  "error": "CONFLICT",
  "message": "The draft has changed",
  "requestId": "example-request-id"
}
```

Source: /docs/errors
Full schemas: /docs/openapi.json
