When it fires
- Execution fails outside a tool call: the model provider rejects the request, a limit is hit, the runtime cannot continue.
- A single tool failing is a tool error, not this event. Check the objective’s status with get an objective to see whether it stopped.
Event data
The event-specific fields live atdata.objectiveEvent.data. The rest of the payload is the shared envelope.
string
required
Always
error. Switch on this, not on the outer type, when one handler serves several events.object
required
The error.
Handle it
Every SDK verifies the signature and returns the typed envelope in one call. The handler reads the raw body (not a parsed and re-serialized one), unwraps it, and returns a 2xx fast.SECRET to the key that handler uses, then run the script to see the event land.
Envelope
Every objective event arrives in the same envelope.type names the event, data carries the agent, variation, and objective it belongs to, and data.objectiveEvent.data holds the fields documented on each event page.
Headers
Headers
Cadenya signs every delivery per the Standard Webhooks specification and sends it as a
POST with a JSON body.Find the signing key under Account Admin and rotate it with rotate the webhook signing key. Cadenya records every attempt, and you can inspect them with list webhook deliveries.