Error codes

HTTP status codes and JSON error shapes returned by Molar APIs.

Error codes

Molar APIs return standard HTTP status codes with a JSON body of the shape:

{ "error": "<short code>", "message": "<human explanation>" }

Authentication & authorization

StatuserrorMeaningWhat to do
401UnauthorizedMissing or invalid session / token.Sign in, or supply a valid PAT/service token.
403ForbiddenAuthenticated but not a member of the org, or insufficient role.Check org membership / RBAC role (owner/admin/member).
400x-org-id header requiredOrg-scoped call without an org context.Send the x-org-id header (or use the dashboard, which resolves it).

Rate limits & quotas

StatuserrorMeaningWhat to do
429Too Many RequestsPer-IP or per-tenant request rate exceeded.Back off; honor the Retry-After / RateLimit-* headers.
429Quota ExceededA per-org usage cap was hit (runs_per_day, crawl_pages_per_day, concurrent_clones).Wait for the daily reset (00:00 UTC) or contact support.
402org LLM spend cap exceededHosted-model spend cap reached.Switch to BYOK or raise the cap.

Validation

StatuserrorMeaningWhat to do
422(validation object)Request body failed schema validation.Fix the fields named in the error object.

Service availability

StatuserrorMeaningWhat to do
503unavailableA readiness probe found a required dependency down.Transient — retry.

Quota response example

{
  "error": "Quota Exceeded",
  "resource": "runs_per_day",
  "limit": 200,
  "used": 200,
  "message": "Your organization reached its daily test-run limit (200). Quota resets at 00:00 UTC."
}

Still stuck? See Support.