DeeCee.ai Agentic API

Errors & Rate Limits

Error response shapes, codes, and per-tier limits.

Error shape

Every REST error response is JSON:

{
  "success": false,
  "error": "Human-readable message",
  "code": "MACHINE_READABLE_CODE"
}

Codes

HTTP statuscodeMeaning
400VALIDATION_ERRORRequest body/query failed schema validation
401UNAUTHORIZEDMissing, malformed, invalid, revoked, or expired API key
402PAYMENT_REQUIREDOut of credits — response includes an upgrade_url
404NOT_FOUNDDecision or job doesn't exist, or isn't owned by your account
429RATE_LIMITEDRate limit exceeded — response includes retryAfter (seconds)

Rate limits

Per API key, tier-based, checked on every request (burst + daily):

TierBurstDaily
Free60 req/min1,000 req/day
Pro / Beta300 req/min10,000 req/day
AdminUnlimitedUnlimited

A 429 response looks like:

{
  "success": false,
  "error": "Rate limit exceeded",
  "code": "RATE_LIMITED",
  "retryAfter": 12
}

MCP note: the MCP server enforces the identical limits, but its transport (withMcpAuth) can only signal auth success or failure — a rate-limited MCP call currently surfaces as a generic connection/auth rejection, not a distinct rate-limit error with a retry hint. If you're hitting unexpected auth failures on MCP under heavy use, check whether you're rate-limited before assuming your key is invalid.

Idempotency and retries

If you're retrying a request that may have timed out, set the same Idempotency-Key header on the retry (POST requests only). A repeated key within 24 hours replays the original response instead of re-running the work or re-charging credits.