Error Codes
Elydora uses structured error responses with consistent error codes. All errors return the following JSON format:
{
"error": {
"code": "ERROR_CODE",
"message": "Human-readable description.",
"request_id": "019605a3-7b2c-7d00-8000-abcdef123456"
}
}All Error Codes (16)
The Ed25519 signature on the submitted EOR does not match the agent's registered public key. Verify that the correct private key is being used and that the canonical form is computed correctly.
The agent_id in the request does not match any registered agent in the organization. Register the agent first via POST /v1/agents/register.
The agent's signing key has been permanently revoked. A new agent must be registered with a new key pair. This action is irreversible.
The key named by agent_pubkey_kid has status retired. Sign with the agent's active key.
The agent is temporarily frozen and cannot submit operations. Contact a security_admin to unfreeze the agent.
The agent is revoked. Revocation is permanent; register a new agent with a new key pair.
The operation's issued_at timestamp plus ttl_ms has elapsed before the server received the request. Increase the ttl_ms value or reduce submission latency.
The nonce has already been used by this agent. Each operation must include a unique nonce value.
The prev_chain_hash does not match the server's expected value for this agent's chain. Causes include a concurrent submission, a missed operation, or a client that computed prev_chain_hash incorrectly.
The operation payload exceeds the maximum allowed size. Reduce the payload size or store large data externally and reference it by hash.
The organization has exceeded the request rate limit. Implement exponential backoff and retry after the period indicated in the Retry-After header.
An unexpected server error occurred. The operation may or may not have been recorded; check with GET /v1/operations/:operation_id before submitting a new record.
The request is missing a valid Authorization header or the session token has expired. Sign in again via POST /api/auth/sign-in/email and issue a new API token via POST /v1/auth/token.
The authenticated user does not have the required role to access this endpoint. Check the RBAC documentation for the minimum required role.
The requested resource does not exist. Verify the ID in the URL path is correct.
The request failed validation. Check that all required fields are present and correctly typed. Conflicting state, such as an existing email, also returns this code with HTTP 409.