Guides

Errors and limits

Status codes, the error format and the limits that apply to the API and MCP server.

Error format

Errors come back as JSON with a detail field that explains what went wrong:

422 response
{
"detail": "Add a reason before dismissing this violation."
}

For invalid parameters, detail is a list that names each field and the problem.

Status codes

CodeMeaning
200, 201Success.
401The API key or token is missing, invalid or expired.
403The workspace isn’t on a plan with API access, or you aren’t allowed to do this.
404The resource doesn’t exist in your workspace. IDs from other workspaces return 404 too.
422A parameter or the request body is invalid, or the action isn’t allowed in the current state.
5xxSomething went wrong on our side. Retry with a short backoff.

On the MCP server, the same errors reach the assistant as a readable message, so it can tell you what to change.

Credits

Most calls are free. Two use workspace credits, just like in the app:

  • check_content (MCP): one AI check of a text.
  • audit_assets (MCP): an audit of one or more assets. Large audits return an estimate first; confirm by repeating the call with the estimate_id.

Reading data and recording review decisions never uses credits. Check your balance with the get_credit_balance tool or in the app.

Limits

LimitValue
Credit-using MCP calls20 per minute and 3 at the same time, per workspace
Text per check_content call60,000 characters
Assets per audit_assets call10
Violations per page50 (page_size)
Audits per list call100 (limit)
Comment length5,000 characters
Dismissal reason length2,000 characters

Something unclear or missing? Tell us and we'll improve this page.

Developers
Esc