Skip to content
Get started

Webhook Deliveries

AgentService manages AI agents at the WORKSPACE level. Agents are workspace-scoped resources that define AI behavior and tool access. All operations are implicitly scoped to the workspace determined by the JWT token.

Authentication: Bearer token (JWT) Scope: Workspace-level operations

List webhook deliveries
$ cadenya agents:webhook-deliveries list
GET/v1/agents/{agentId}/webhook_deliveries
ModelsExpand Collapse
webhook_delivery: object { data, metadata }
data: object { agentId, attemptCount, eventType, 11 more }

Webhook delivery data

agentId: string

Related resources

attemptCount: number
eventType: "OBJECTIVE_EVENT_TYPE_UNSPECIFIED" or "OBJECTIVE_EVENT_TYPE_USER_MESSAGE" or "OBJECTIVE_EVENT_TYPE_TOOL_APPROVAL_REQUESTED" or 9 more

The type of objective event that triggered this webhook delivery

"OBJECTIVE_EVENT_TYPE_UNSPECIFIED"
"OBJECTIVE_EVENT_TYPE_USER_MESSAGE"
"OBJECTIVE_EVENT_TYPE_TOOL_APPROVAL_REQUESTED"
"OBJECTIVE_EVENT_TYPE_TOOL_APPROVED"
"OBJECTIVE_EVENT_TYPE_TOOL_DENIED"
"OBJECTIVE_EVENT_TYPE_TOOL_CALLED"
"OBJECTIVE_EVENT_TYPE_SUB_OBJECTIVE_CREATED"
"OBJECTIVE_EVENT_TYPE_ERROR"
"OBJECTIVE_EVENT_TYPE_ASSISTANT_MESSAGE"
"OBJECTIVE_EVENT_TYPE_TOOL_RESULT"
"OBJECTIVE_EVENT_TYPE_TOOL_ERROR"
"OBJECTIVE_EVENT_TYPE_CONTEXT_WINDOW_COMPACTED"
httpStatusCode: number

Response details (no response_body to avoid storing large payloads)

lastAttemptAt: string
latencyMs: number
objectiveEventId: string
objectiveId: string
responseContentLength: string

Content length of the response body in bytes

status: "WEBHOOK_DELIVERY_STATUS_UNSPECIFIED" or "WEBHOOK_DELIVERY_STATUS_PENDING" or "WEBHOOK_DELIVERY_STATUS_COMPLETED" or 2 more
"WEBHOOK_DELIVERY_STATUS_UNSPECIFIED"
"WEBHOOK_DELIVERY_STATUS_PENDING"
"WEBHOOK_DELIVERY_STATUS_COMPLETED"
"WEBHOOK_DELIVERY_STATUS_FAILED"
"WEBHOOK_DELIVERY_STATUS_DISABLED"
webhookId: string
webhookUrl: string

Webhook delivery details

errorMessage: optional string
responseHeaders: optional map[string]

Response headers received from the webhook endpoint

metadata: object { id, accountId, createdAt, 4 more }

Metadata for ephemeral operations and activities (e.g., objectives, executions, runs)

id: string

Unique identifier for the operation (prefixed ULID, e.g., "obj_01HXK...")

accountId: string

Account this operation belongs to for multi-tenant isolation (prefixed ULID)

createdAt: string

Timestamp when this operation was created ULID includes timestamp information, but this explicit field enables easier querying

profileId: string

ID of the actor (user or service account) that created this operation

workspaceId: string

Workspace this operation belongs to for organizational grouping (prefixed ULID)

externalId: optional string

External ID for the operation (e.g., a workflow ID from an external system)

labels: optional map[string]

Arbitrary key-value pairs for categorization and filtering Examples: {"priority": "high", "source": "api", "workflow": "onboarding"}

webhook_delivery_data: object { agentId, attemptCount, eventType, 11 more }
agentId: string

Related resources

attemptCount: number
eventType: "OBJECTIVE_EVENT_TYPE_UNSPECIFIED" or "OBJECTIVE_EVENT_TYPE_USER_MESSAGE" or "OBJECTIVE_EVENT_TYPE_TOOL_APPROVAL_REQUESTED" or 9 more

The type of objective event that triggered this webhook delivery

"OBJECTIVE_EVENT_TYPE_UNSPECIFIED"
"OBJECTIVE_EVENT_TYPE_USER_MESSAGE"
"OBJECTIVE_EVENT_TYPE_TOOL_APPROVAL_REQUESTED"
"OBJECTIVE_EVENT_TYPE_TOOL_APPROVED"
"OBJECTIVE_EVENT_TYPE_TOOL_DENIED"
"OBJECTIVE_EVENT_TYPE_TOOL_CALLED"
"OBJECTIVE_EVENT_TYPE_SUB_OBJECTIVE_CREATED"
"OBJECTIVE_EVENT_TYPE_ERROR"
"OBJECTIVE_EVENT_TYPE_ASSISTANT_MESSAGE"
"OBJECTIVE_EVENT_TYPE_TOOL_RESULT"
"OBJECTIVE_EVENT_TYPE_TOOL_ERROR"
"OBJECTIVE_EVENT_TYPE_CONTEXT_WINDOW_COMPACTED"
httpStatusCode: number

Response details (no response_body to avoid storing large payloads)

lastAttemptAt: string
latencyMs: number
objectiveEventId: string
objectiveId: string
responseContentLength: string

Content length of the response body in bytes

status: "WEBHOOK_DELIVERY_STATUS_UNSPECIFIED" or "WEBHOOK_DELIVERY_STATUS_PENDING" or "WEBHOOK_DELIVERY_STATUS_COMPLETED" or 2 more
"WEBHOOK_DELIVERY_STATUS_UNSPECIFIED"
"WEBHOOK_DELIVERY_STATUS_PENDING"
"WEBHOOK_DELIVERY_STATUS_COMPLETED"
"WEBHOOK_DELIVERY_STATUS_FAILED"
"WEBHOOK_DELIVERY_STATUS_DISABLED"
webhookId: string
webhookUrl: string

Webhook delivery details

errorMessage: optional string
responseHeaders: optional map[string]

Response headers received from the webhook endpoint