Skip to Content
📘 New: connect any website to SEObox with a signed webhook — see Connect Your Site.
API ReferenceErrors & Rate Limits

Errors & Rate Limits

Error format

Every error response has the same shape:

{ "success": false, "code": "VALIDATION_ERROR", "message": "Validation failed", "details": { "keyword": ["String must contain at least 2 character(s)"] } }

details is only present on some errors. For validation errors, it maps each invalid field to its messages.

Error codes

HTTPcodeMeaning
400VALIDATION_ERRORThe request body or query failed validation. See details.
400BAD_REQUESTThe request is malformed, e.g. a missing x-workspace-id.
401UNAUTHORIZEDThe API key is missing, invalid, rotated, or revoked.
402INSUFFICIENT_CREDITSNot enough credits for this action.
403FORBIDDENThe key is valid but can’t access this resource, e.g. a workspace that isn’t yours.
404NOT_FOUNDThe site or article doesn’t exist in this workspace.
409CONFLICTThe action conflicts with the current state.
429RATE_LIMIT_EXCEEDEDToo many requests, or a daily limit was reached.
500INTERNAL_ERRORSomething went wrong on our side. Retry with backoff.

Rate limits

LimitValue
Per API key60 requests / minute
Per IP address (all routes)200 requests / minute
Article generationArticles per site per day, depending on your plan. Resets at 00:00 UTC.

Responses include standard RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset headers. If you get a 429, wait until the reset time before retrying.

Last updated on