EdgazeDocsEdgaze Docs
DocumentationAPI Reference
Home
Getting started
API ReferenceAuthenticationQuickstart
Workflows
GETList WorkflowsGETGet WorkflowGETList Workflow VersionsPOSTAccept Workflow Update
Runs
POSTCreate RunGETList RunsGETGet RunPOSTCancel RunGETList Run Events
Guides
WebhooksErrors & Edge CasesBilling & Spend CapsStreaming & Real-timeOpenAPI specification

Platform status

Checking platform status
All documentation
API Reference

REST endpoints, authentication, and webhooks for running workflows from your backend.

Overview
Getting started
API ReferenceAuthenticationQuickstart
Workflows
GETList WorkflowsGETGet WorkflowGETList Workflow VersionsPOSTAccept Workflow Update
Runs
POSTCreate RunGETList RunsGETGet RunPOSTCancel RunGETList Run Events
Guides
WebhooksErrors & Edge CasesBilling & Spend CapsStreaming & Real-timeOpenAPI specification
Developer console

Platform status

Checking platform status
Guides

Errors & Edge Cases

Complete error catalog and async failure modes for production integrations.

Audience

Developers implementing retries and failure handling.

Complete error catalog and async failure modes for production integrations. Branch on error.code: messages are stable but intended for humans, not programmatic matching.

All errors use the envelope { "error": { "code": "…", "message": "…" } }.

Error catalog#

CodeHTTPWhen
unauthorized401Invalid, missing, revoked, or expired API key
insufficient_scope403Key lacks required scope
forbidden403Not entitled to workflow or run (non-leaky)
not_found404Unknown workflow or run, or cross-tenant run
method_not_allowed405The resource does not support the HTTP method
idempotency_conflict409Idempotency key reused with a different request
spend_cap_reached402API key spend cap exceeded (sync, before run created)
rate_limited42960 POST /runs requests per minute per key
invalid_json400Request body is not valid JSON
missing_workflow400POST /runs without a workflow id
invalid_inputs400Missing, unknown, conflicting, or incorrectly typed inputs
invalid_request400Query parameter or pagination value is invalid
invalid_cursor400Invalid SSE Last-Event-ID or afterSequence
internal_error500Unexpected server error (no internals leaked)

Async failures after 202#

POST /runs returns 202 before wallet or bundle funding is finalized. If the account lacks funds, the run row is created then fails during preparation. Poll GET /runs/{id} and handle status: failed: there is no synchronous 402 for insufficient wallet balance. Spend cap breaches are the opposite: they return 402 synchronously and no run id is created.

The full condition-by-condition contract, including records, charging, earnings, and retries, is maintained in Create Run: canonical funding and acceptance behavior.

Run model edge cases#

  • free: runnable via wallet path when entitled.
  • per_run: wallet or bundle charged at trigger.

Was this useful?

Your response helps us improve the documentation.

← WebhooksBilling & Spend Caps →
On this page
Error catalogAsync failures after 202Run model edge cases
© 2026 Edge Platforms, Inc. All rights reserved.