Errors and limits
Status codes, error bodies, and the partner rate limit.
Error responses are JSON:
{ "error": "Invalid API key" }Validation failures add a details object from the schema check:
{ "error": "Validation failed", "details": {} }| Status | When |
|---|---|
400 | The subject header is missing or malformed, or the JSON body failed validation. |
401 | The key is missing, unknown, revoked, or expired. The body is Invalid API key, or Unauthorized when the request never reached a partner route. |
403 | The key is valid but cannot perform this call. See Authentication. |
404 | The path is not a public route, or it is on the block list. The body is Not found. |
409 | The partner already has an open invite for that email. |
429 | The partner key exceeded a limit. |
500 | The key could not be verified, or the handler failed. |
Partner limits
Partner calls are limited to 60 requests per key per 60 seconds. The next request returns 429 with { "error": "Rate limit exceeded" }.
A partner can also have a monthly request cap. When that cap is set and the month's usage has reached it, the response is 429 with { "error": "Monthly request cap exceeded" }. A partner with no monthly cap is not limited by this check. Agency, solo, and company calls do not use this limiter.
Blocked paths
These public paths return 404 even with a valid key:
/api/public/agency/api-keysand anything under it/api/public/agency/portaland anything under it/api/public/agency/talents/link-me/api/public/solo/publicand anything under it
Key management stays in the signed-in workspace. A partner key cannot be used to call agency, solo, or company paths.
