Errors and limits
| Signal | ERP action |
|---|---|
token 400 invalid_request | correct the form request to grant_type=client_credentials |
token 401 invalid_client | stop; ask the operator to verify lifecycle; do not loop |
resource 401 | invalidate token, obtain another, and retry once |
403 AUTHORIZATION_DENIED | stop and compare grant with discovery |
404 RESOURCE_NOT_FOUND | do not guess alternatives; it may be anti-enumeration denial |
409 FACILITY_IMPORT_IN_PROGRESS | poll the existing work, then retry the prepared request |
409 IDEMPOTENCY_KEY_REUSED | incident: the same key has different content; do not paper over it |
422 ACTIVITY_CAPABILITY_UNAVAILABLE | inspect capability/input and the declared probe context |
429 | honor Retry-After and bounded backoff |
retryable 5xx/transport loss | outcome may be ambiguous; reuse the durable request/key |
Define connect/read timeouts, maximum retries, polling interval/deadline, and maximum item pages. Never use an unbounded loop. If an error body cannot be decoded, retain only sanitized status and correlation data.
See the API reference for exact schemas and responses.