API OPERATIONS
Errors, retries, rate limits and timeouts
Machine-readable problems have stable type identifiers, remediation guidance and retry behavior.
01
Problem detail
{
"type": "https://quantumsafe.mobile-id.vn/problems/signing-profile-not-allowed",
"title": "Signing profile is not allowed",
"status": 422,
"detail": "The requested profile is not approved for this tenant and CA route.",
"instance": "/v1/signing-requests/sr_...",
"correlationId": "...",
"retryable": false
}02
Operational headers
| Header | Purpose |
|---|---|
| Retry-After | Polling/rate-limit/backpressure guidance |
| X-RateLimit-Limit | Window request limit |
| X-RateLimit-Remaining | Remaining requests |
| X-RateLimit-Reset | Window reset time |
| ETag / If-Match | Optimistic concurrency for mutable resources |
| Location | Created/asynchronous resource URI |
03
Retry policy
| Class | Retry? | Client behavior |
|---|---|---|
| 401/403 auth or scope | No automatic retry | Refresh credentials or correct authorization |
| 409 idempotency/state conflict | Conditional | Read resource and reconcile state |
| 422 policy/validation | No | Correct request/profile |
| 429 rate limit | Yes | Honor Retry-After |
| 502/503 provider unavailable | Conditional | Backoff; do not duplicate protected operation |
| 504 timeout | Read before retry | Resolve resource by idempotency key/correlation |
