guides
Intended Documentation
Error Patterns and Remediation
Common error codes, troubleshooting steps, and retry strategies for Intended API integration.
Error Response Format#
All Intended API errors follow a consistent structure:
Every error response includes a request_id for support escalation.
Common Error Codes#
Authentication Errors#
INVALID_API_KEY (401)#
The API key is missing, malformed, or revoked.
Remediation:
- Verify the key is set correctly in the Authorization header
- Check that the key has not been revoked in the console
- Ensure you are using the correct environment (staging vs production)
INSUFFICIENT_PERMISSIONS (403)#
The API key does not have the required scope for this operation.
Remediation:
- Check the key's assigned scopes in the console
- Request additional scopes from your tenant administrator
Intent Evaluation Errors#
INTENT_VALIDATION_FAILED (400)#
The intent payload does not meet the required schema.
Remediation:
Ensure all required fields are present: action, resource, context.
POLICY_EVALUATION_TIMEOUT (504)#
Policy evaluation exceeded the timeout threshold.
Remediation:
- This is typically transient. Retry with exponential backoff.
- If persistent, check if policies have become overly complex.
- Contact support if latency consistently exceeds 5 seconds.
NO_MATCHING_POLICY (200, decision: deny)#
No policy matched the intent, and the default is deny.
Info
This is not an error. It is the fail-closed default behavior. An intent that matches no policy is denied. Create a policy that covers this intent pattern.
Token Errors#
TOKEN_EXPIRED (401)#
The decision token has passed its expiration time.
Remediation:
- Decision tokens have a configurable TTL (default: 5 minutes)
- Re-evaluate the intent to get a fresh token
- Do not cache tokens beyond their exp claim
TOKEN_SIGNATURE_INVALID (401)#
The token signature does not verify against the known public key.
Remediation:
- Ensure you are verifying against the correct public key
- Fetch the latest key from GET /tenants/:tenantId/authority-keys/public
- Check that the token has not been tampered with
Rate Limiting#
RATE_LIMIT_EXCEEDED (429)#
You have exceeded the allowed request rate.
Remediation:
- Implement exponential backoff
- Check the Retry-After header for the recommended wait time
- Consider batching requests if submitting many intents
Retry Strategy#
Recommended Approach#
Use exponential backoff with jitter for transient errors:
Retryable vs Non-Retryable Errors#
- 400, 401, 403, 404 — Non-retryable. Fix the request.
- 429 — Retryable. Backoff and retry.
- 500, 502, 503, 504 — Retryable. Transient server errors.
Support Escalation#
If you cannot resolve an error after following the remediation steps:
- Collect the request_id from the error response
- Note the timestamp, endpoint, and request payload
- Check the Troubleshooting Index for known issues
- Contact support with the collected information
Next Steps#
- API Quickstart — basic API integration
- Verify Tokens — token verification patterns
- Troubleshooting Index — comprehensive issue catalog