Reference

Error codes

Every Meridian API response includes a machine‑readable error.code field. Use this reference to diagnose failures and recover quickly.

CodeNameRemediation
401UnauthorizedGenerate a fresh key from your dashboard → API Keys. Confirm the Authorization header reads Bearer sk_live_… (not sk_test_…). If the key was just created, wait up to 60 seconds for propagation.
402Payment RequiredVisit Billing → Invoices and settle the outstanding amount. If you pay via invoice (NET‑30), ensure the remittance email matches your account email exactly.
403ForbiddenCheck the key’s scope column in the dashboard. For write operations, use a key with the agent:write or admin scope. Do not share admin keys in client‑side code.
404Not FoundVerify the UUID in the path. If you switched workspaces, confirm the resource lives under the current workspace ID. Use GET /v1/workspaces to list available workspaces.
422Unprocessable EntityRead the error.details array in the response — it lists every failing field and the expected format. Validate payloads against the OpenAPI spec at docs.meridian.local before sending.
429Too Many RequestsCheck the Retry-After header for the cooldown in seconds. Implement exponential backoff with jitter. Upgrade to Pro or contact support for a temporary burst allowance.
500Internal Server ErrorRetry with exponential backoff (start at 1 s, cap at 30 s). If the error persists beyond 5 minutes, check status.meridian.local for an active incident and subscribe to updates.
502Bad GatewayRetry once after 2 seconds. If the error repeats, the upstream may be degraded — check our status page. No action is needed on your side.
503Service UnavailableWait for the Retry-After window (typically 30–120 seconds). For planned maintenance, we announce windows 48 hours in advance on status.meridian.local and via email.

Still seeing an error? Contact support with your request ID and we will respond within 15 minutes for production incidents.