Skip to main content

Requests return 429

You’ve reached a plan limit. If your Engine is behind a reverse proxy, check that the proxy isn’t rate-limiting too. If the dashboard also returns 429, the monthly bandwidth allowance is used up. The requests-per-second limit doesn’t apply to signed-in dashboard users.

Traces return 401 or 415

  • 401: send an Engine API key in the X-API-Key header. Your license key doesn’t work here.
  • 415: the endpoint only accepts OTLP over HTTP as protobuf. Set Content-Type: application/x-protobuf. JSON and gRPC aren’t accepted; if your exporter only speaks gRPC, put an OpenTelemetry Collector in front.
A 200 response can still contain rejected spans. Check the OTLP response’s partial-success details and the Engine log.

The dashboard or an assistant shows no threads

  • Check you’re looking at the same Engine that receives your data.
  • Check the API key is active and can read threads.
  • Remove filters (time range, contract, actor) and look again.
  • New activity can take a few seconds to appear.

One run shows up as many small threads

Each OpenTelemetry trace becomes its own thread unless you tell Threadify which spans belong together. Set the same threadify.thread_key (or workflow.run_id) on every span in a run, and a different value for each run. Threads that were already split stay split. See Choose the thread identity.

Browser sign-in fails

  • Set server.browser_origin to the exact address in the browser bar, including https://.
  • Serve the dashboard at the root of the hostname, and forward WebSocket upgrades.
  • Use one hostname consistently. localhost and 127.0.0.1 count as different sites.
  • Anyone other than the license owner needs an invitation from Team first.

A wait timed out

A timeout never means permission. Don’t run the action.
  • If you were waiting for validation after reporting and the error has a stepId, call waitForValidation with it. Don’t report the step again.
  • If you were waiting for permission, retry with the same invocationId so you don’t claim a second grant.
See Recovery.

Completion is 100% but health is low

Completion only says whether runs eventually finished. Health also counts failed attempts, retries, delays and rule violations along the way. Open the entity profile and look at the underlying threads.

Which version am I running?