Skip to content
AchaduDevelopers
Operational APIGo to website
Dashboard
Achadu/Developers/Errors and limits

Predictable and easy to track failures.

Conventional HTTP codes, uniform body and unique identifier for each request.

Error format

403 application/json
{
  "error": {
    "code": "insufficient_scope",
    "message": "esta chave precisa do escopo commissions:read",
    "required_scope": "commissions:read"
  },
  "request_id": "req_01J..."
}

The request_id appears in the header and in the JSON. Send this amount to support to locate a call.

HTTP Codes

200SuccessOperation completed.
201CreatedNew pending offer created.
400Invalid requestInvalid JSON, parameter or URL.
401Not authenticatedMissing, invalid, expired or revoked key.
402Plan requiredRequires Professional or higher.
403Insufficient scopeThe key does not have the required scope.
404Not foundNonexistent endpoint or resource.
413Very large bodyThe JSON exceeded 128 KB.
429Limit exceededThe key has exceeded the per minute window.
500Internal errorUnexpected failure; use request_id.

Limits and Headers

x-ratelimit-limitTotal window limit
x-ratelimit-remainingRemaining requests
x-request-idCaller ID
cache-controlprivate, no-store on authenticated data
120 req/min

The limit is per key. For 429, wait for the next window and use backoff with jitter.

Debug Checklist

Confirm the base https://achadu.com/api/v1.
Validate the key with GET /me.
Check required_scope in 403 responses.
Record status, request_id and call time.
Don't automatically repeat 400, 401, 402, or 403 errors.
Speak with technical support