Webhooks
ModelsExpand Collapse
class UnsafeUnwrapWebhookEvent { data, timestamp, type }
The envelope for an objective event webhook delivery. Contains timestamp, event type, and the webhook data payload.
data: Data{ agent, agent_variation, objective, objective_event}
The webhook data payload with flat top-level keys for agent, variation, objective, and event.
Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
name: String
Human-readable name for the resource (e.g., “Customer Support Agent”, “Email Tool”) Required for resources that users interact with directly
Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
name: String
Human-readable name for the resource (e.g., “Customer Support Agent”, “Email Tool”) Required for resources that users interact with directly
objective_event: ObjectiveEvent{ data, metadata, context_window_id, info}
CallableTool is a union that represents a tool that can be called by an agent. In Cadenya, a tool that is used within an agent objective might be a user-defined tool (IE: MCP, HTTP), another Agent (useful to separate context), or a Cadenya Tool (one Cadenya provides).
Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
name: String
Human-readable name for the resource (e.g., “Customer Support Agent”, “Email Tool”) Required for resources that users interact with directly
Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
name: String
Human-readable name for the resource (e.g., “Customer Support Agent”, “Email Tool”) Required for resources that users interact with directly
Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
name: String
Human-readable name for the resource (e.g., “Customer Support Agent”, “Email Tool”) Required for resources that users interact with directly
cancelled: Cancelled{ message}
ObjectiveCancelled is the terminal event written when an objective is cancelled. After this event, the objective is super-terminal: no further iterations, compaction, or continuation are permitted.
context_window_compacted: ContextWindowCompacted { messages_compacted, new_context_window, strategies, summary }
new_context_window: ObjectiveContextWindowData { completion_tokens, objective_id, previous_window_continue_instructions, 2 more }
The new context window created by this compaction
completion_tokens: Integer
A calculated value for how many completion tokens (output tokens) have been used in this context window
previous_window_continue_instructions: String
The instructions for this window to continue from a previous window’s chat history.
finalized: Finalized{ output}
ObjectiveFinalized is the terminal event written when an objective is finalized. After this event, the objective is super-terminal: no further iterations, compaction, or continuation are permitted.
MemoryRead is emitted each time the agent resolves a key against the memory stack and loads an entry. Lookups that miss (key not found in any layer) do not emit this event.
Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
name: String
Human-readable name for the resource (e.g., “Customer Support Agent”, “Email Tool”) Required for resources that users interact with directly
BareMetadata contains the minimal metadata for a resource: the ID and an optional human-readable name. These are used for reference fields where the full metadata (account scoping, timestamps, labels, external IDs) is not needed — e.g., the tool references inside an agent variation spec or the tools assigned to an objective. Both fields are server-populated; clients provide IDs through sibling fields rather than by constructing a BareMetadata themselves.
BareMetadata contains the minimal metadata for a resource: the ID and an optional human-readable name. These are used for reference fields where the full metadata (account scoping, timestamps, labels, external IDs) is not needed — e.g., the tool references inside an agent variation spec or the tools assigned to an objective. Both fields are server-populated; clients provide IDs through sibling fields rather than by constructing a BareMetadata themselves.
A profile identifies a user or non-human principal (such as an API key) at the account level. Profiles are account-scoped and can be granted access to multiple workspaces.