DocsError Codes

Error Reference

Use this page to diagnose failed requests and Flow runs. When the API or a Flow returns an error, check the HTTP status code and the error message in the response body or in Logs, then find the matching entry below.

HTTP status codes

CodeMeaningWhat to do
200Success (check data / errors in body)GraphQL can return 200 with errors in the body, such as Workflow not found!. Inspect response.data and response.errors.
400Bad Request — invalid JSON, invalid GraphQL query, or a payload that doesn’t match the trigger schemaSee GraphQL request errors and check your payload against the Flow’s trigger input schema.
403Access Denied — missing or invalid API keyThe API never returns 401. A missing or invalid key returns {"errors":[{"message":"Access Denied"}]}. Verify Authorization: Bearer <YOUR_API_KEY> and that the key is active in Studio → Settings → API Keys.
404Not found — returned for credential errorsA missing Flow doesn’t return 404. See Flow not found and Credential errors.
429Plan quota exceeded for the last 24 hours or 30 daysUpgrade your plan or wait for the window to reset. See Limits & Quotas.
500Server errorRetry; if it persists, check Platform Status and contact support.

Common errors and fixes

Authentication (403)

  • Cause: Missing or invalid API key. The API returns 403 with {"errors":[{"message":"Access Denied"}]}, not 401.
  • Fix: Use the exact key from Studio → Settings → API Keys. Format: Authorization: Bearer <YOUR_API_KEY>. Confirm x-project-id matches the project that owns the Flow.

Flow not found

A missing or invalid Flow doesn’t produce an HTTP 404. The error comes back in the response body as one of:

  • Workflow not found!
  • Invalid workflow id - <id>

Cause: Wrong endpoint, project ID, or workflow/Flow ID; or the Flow isn’t deployed.

Fix: Get the project URL and project ID from project settings. Get the workflow/Flow ID from the Flow’s Connect or API panel. Deploy the Flow and use the ID of the deployed Flow.

Payload / variable mismatch (400)

  • Cause: The payload doesn’t match the input schema on the GraphQL trigger (field names or types). The message starts with Invalid trigger payload:.
  • Fix: Open the Flow in the Editor and check the trigger node’s input schema. Align your request payload with that schema.

Plan quota exceeded (429)

This is a plan quota, not short-term rate limiting. The message is one of:

  • Project exceeded max requests for last 30 days, max requests: X, current requests: Y. Please upgrade your plan or contact support.
  • Project exceeded max requests for last 24 hours, max requests: X, current requests: Y. Please upgrade your plan or contact support.

Fix: Upgrade your plan, or wait for the 24-hour or 30-day window to reset. Retrying with backoff won’t help while the quota is exhausted. See Limits & Quotas for plan limits.

GraphQL request errors

Request-level errors come back in the errors array of the response body:

{
  "errors": [
    {
      "message": "Access Denied"
    }
  ]
}
MessageStatusCause and fix
Invalid JSON in request body400The request body isn’t valid JSON. Check quoting and escaping in your client.
Invalid GraphQL query—The query can’t be parsed or validated. Check the syntax against the GraphQL reference.
Query exceeds maximum allowed aliases (N)—The query uses more aliases than allowed. Reduce the aliases to N or fewer.
Query exceeds maximum allowed depth (N)—The query nests deeper than allowed. Flatten the query to N levels or fewer.
GraphQL introspection is disabled—Introspection queries aren’t accepted. Use the documented schema instead.
Access Denied403Missing or invalid API key. See Authentication (403).
Internal server error500Retry. If it persists, check Platform Status and contact support.

Flow execution and log status codes

The status codes you see in Studio Logs show what happened to a node or a Flow run. Some codes don’t have their standard HTTP meaning.

CodeMeaning in logs
200Node or Flow succeeded.
500Node or Flow failed (default error code).
400Trigger payload didn’t match the GraphQL trigger’s input schema. The message starts with Invalid trigger payload: ....
408Primary config timed out and the fallback config ran (fallback logic step with a timeout).
509Node attempt failed and will be retried (Flow-level retries enabled). Also the error code for runs started via “retry flow”.
204Success on a retry attempt or a retried run.
304Node skipped (branch not taken).
208Node skipped during a retried run.

Flow-level retries go up to 5, with a delay of up to 30 seconds between attempts. Each failed attempt is logged separately.

Flow execution errors

MessageCause and fix
No trigger node found!The Flow has no trigger node. Add one and redeploy.
Workflow not found! / Invalid workflow id - <id>Wrong Flow ID, or the Flow isn’t deployed. See Flow not found.
Invalid trigger payload: <details>The request payload doesn’t match the advanced schema on the GraphQL trigger. Status 400.
Max retries reached for node <nodeId>The node failed every Flow-level retry. Check that node’s own error in the logs.
Timeout after <n>msThe primary config exceeded the fallback timeout, so the fallback config ran.
All parallel requests failedEvery config in a parallel logic step failed.
All logic steps failedEvery configured logic step (retry, fallback, parallel, A/B) failed for the node.
Unsupported step type: <type> / Invalid stepA logic step is misconfigured on the node. Review the node’s logic configuration.
Previous request id is requiredYou used “retry from failed node” without the original request ID. Provide the request ID of the failed run.
Cache not found, please reach out to lamatic supportPlatform-side error. Contact support.

Credential errors

MessageStatusCause and fix
credentialId is required / Invalid credentialId400The request is missing a credential ID, or the ID is malformed. Provide a valid credentialId.
Credential not found or not accessible404The credential doesn’t exist or belongs to another project. These two cases are deliberately indistinguishable. Confirm the ID and that the credential is in the same project as the Flow.
Credential resolution is not available for this project, please contact support500Platform-side. Contact support.

Reading an error in the logs

When a Flow run fails, open the run in Logs and check these fields:

  • errorMsg: The error message.
  • failedNode: The node that failed. It includes nodeId, nodeName, nodeSlug, and loopBatchId if the node ran inside a loop or batch.
  • logicStep (on node logs): Which logic step produced the failure. For example:
    • retry (attempt 2/3 with Config B)
    • parallel (Config A)
    • abTest (selected Config B)
    • fallback (Config A timed out)

Node-specific errors

Most errors in logs come from individual nodes, such as integration, LLM, code, and API nodes. They’re shown verbatim in errorMsg together with failedNode. Common categories are:

  • Integration authentication or credential failures
  • Upstream HTTP errors, shown as HTTP <status>: <body>
  • Code node runtime errors

For node configuration and requirements, see the per-node docs, such as the API node, Generate Text node, and the full Nodes list.

Flow failures: next steps

If the request succeeds but the Flow run fails:

  • Check Logs in Studio for the run’s trace and the failing node.
  • Use the Feedback API or Reports if you’re capturing run outcomes.
  • See the node’s documentation for required config (e.g. model credentials, input shape).

If you hit an error not listed here, check Limits & Quotas and Support or community Slack.

Was this page useful?

Subscribe to updates