Errors#

Error response
{
  "success": false,
  "code": "INSUFFICIENT_CREDITS",
  "error": "Not enough available credits for the maximum cost"
}
HTTPCode / conditionWhat to do
202OPERATION_PENDINGAn admitted request is not complete yet. Poll the operation (Retry-After) before creating new work.
400BAD_REQUESTCorrect invalid URLs, unsupported options or limits.
401UNAUTHORIZEDCheck the key or token, expiry and revocation.
402INSUFFICIENT_CREDITSProvide enough available credits for the reserved maximum.
403FORBIDDENCheck granted scopes and session-only access requirements.
403DESTINATION_BLOCKEDLuni does not fetch IP lookup, IP echo or request-inspection services, including redirects to them.
404NOT_FOUNDCheck the route, source or owned operation ID.
409CONFLICT / stale executionDo not reuse a key for changed input; inspect the current operation.
409OPERATION_CANCELLEDThe operation was cancelled. Start new work with a new Idempotency-Key.
410RESULT_EXPIREDRequest new collection with a new identity if needed.
413PAYLOAD_TOO_LARGEKeep the request body under 100 KB.
424SERVICE_UNAVAILABLEThe source could not provide a useful result; inspect the operation.
429RATE_LIMIT_EXCEEDEDRespect Retry-After and reduce outstanding work.
501FEATURE_UNAVAILABLEThe endpoint or required service is not enabled.

An error can include operationId when work was already admitted. Keep it for inspection. A feature rejected before admission has no new operation or reserved budget. MCP execution failures carry a structured error and isError; protocol errors are separate from source failures.