Errors
Failures are reported with a standard status code:
| Status | Meaning |
|---|---|
400 | The request body was missing a required field or malformed. |
401 | No API key, an unrecognised key, or a key that has been disabled or deleted. |
403 | The key is valid but was not granted the permission this endpoint needs. |
404 | The resource does not exist, or does not belong to the project in the path. |
500 | Something failed on our side. |
Check
success on synchronous runsPOST .../runsync currently returns 200 even when the workflow itself fails, with "success": false and an err in the body. Branch on the success field rather than on the status code for that endpoint. Queued runs and status polls do set a failure status.