Skip to content

Rate limits & errors

Endpoints are rate-limited per account. Organization endpoints allow 60 requests per minute; some sensitive operations carry tighter, per-endpoint limits. Exceeding a limit returns HTTP 429 with a structured body:

{
"status": "error",
"message": "Too many requests",
"errors": [
{
"type": "RateLimitError",
"key": "rate_limit",
"retry_after": 42
}
]
}

Honor retry_after (seconds) before retrying. For bulk work, spread writes instead of bursting — limits are per minute, so a steady 1 req/s never throttles.

Code Meaning Typical cause
200 / 201 OK / created
400 Bad request Malformed body, token scope not valid for the route
401 Unauthenticated Missing, revoked, or expired API key
403 Forbidden Route not available to API keys (credential/billing), plan gate, org role
404 Not found Wrong id — or a resource your role can’t see (Lynqu never confirms existence of records you can’t access)
422 Validation failed Field errors listed in errors[]
429 Rate limited Retry after retry_after seconds
5xx Server error Safe to retry with backoff

errors[] entries are machine-readable:

{
"type": "ValidationError",
"key": "label",
"errorMessage": "The label field is required.",
"errorTitle": "Validation failed"
}

Branch on type and key; errorMessage/errorTitle are localized, human-readable strings — display them, don’t parse them.