Skip to content
Get started

List webhook deliveries

agents.webhook_deliveries.list(agent_id, **kwargs) -> CursorPagination<WebhookDelivery { data, metadata } >
GET/v1/workspaces/{workspaceId}/agents/{agentId}/webhook_deliveries

Lists all webhook deliveries for an agent

ParametersExpand Collapse
workspace_id: String
agent_id: String
cursor: String

Pagination cursor from previous response

event_type: :OBJECTIVE_EVENT_TYPE_UNSPECIFIED | :OBJECTIVE_EVENT_TYPE_USER_MESSAGE | :OBJECTIVE_EVENT_TYPE_TOOL_APPROVAL_REQUESTED | 13 more

Optional filter by event type

formatenum
One of the following:
: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_ERROR
:OBJECTIVE_EVENT_TYPE_ASSISTANT_MESSAGE
:OBJECTIVE_EVENT_TYPE_TOOL_RESULT
:OBJECTIVE_EVENT_TYPE_TOOL_ERROR
:OBJECTIVE_EVENT_TYPE_CONTEXT_WINDOW_COMPACTED
:OBJECTIVE_EVENT_TYPE_MEMORY_READ
:OBJECTIVE_EVENT_TYPE_CANCELLED
:OBJECTIVE_EVENT_TYPE_SUB_AGENT_SPAWNED
:OBJECTIVE_EVENT_TYPE_SUB_AGENT_UPDATED
:OBJECTIVE_EVENT_TYPE_FINALIZED
limit: Integer

Maximum number of results to return

formatint32
objective_id: String

Optional filter by objective ID

ReturnsExpand Collapse
class WebhookDelivery { data, metadata }
data: WebhookDeliveryData { agent_id, attempt_count, event_type, 11 more }

Webhook delivery details.

agent_id: String

Related resources

attempt_count: Integer
event_type: :OBJECTIVE_EVENT_TYPE_UNSPECIFIED | :OBJECTIVE_EVENT_TYPE_USER_MESSAGE | :OBJECTIVE_EVENT_TYPE_TOOL_APPROVAL_REQUESTED | 13 more

The type of objective event that triggered this webhook delivery

formatenum
One of the following:
: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_ERROR
:OBJECTIVE_EVENT_TYPE_ASSISTANT_MESSAGE
:OBJECTIVE_EVENT_TYPE_TOOL_RESULT
:OBJECTIVE_EVENT_TYPE_TOOL_ERROR
:OBJECTIVE_EVENT_TYPE_CONTEXT_WINDOW_COMPACTED
:OBJECTIVE_EVENT_TYPE_MEMORY_READ
:OBJECTIVE_EVENT_TYPE_CANCELLED
:OBJECTIVE_EVENT_TYPE_SUB_AGENT_SPAWNED
:OBJECTIVE_EVENT_TYPE_SUB_AGENT_UPDATED
:OBJECTIVE_EVENT_TYPE_FINALIZED
http_status_code: Integer

Response details. The response body is not retained.

formatint32
last_attempt_at: Time
latency_ms: Integer
objective_event_id: String
objective_id: String
response_content_length: String

Content length of the response body in bytes

status: :WEBHOOK_DELIVERY_STATUS_UNSPECIFIED | :WEBHOOK_DELIVERY_STATUS_PENDING | :WEBHOOK_DELIVERY_STATUS_COMPLETED | 2 more
formatenum
One of the following:
:WEBHOOK_DELIVERY_STATUS_UNSPECIFIED
:WEBHOOK_DELIVERY_STATUS_PENDING
:WEBHOOK_DELIVERY_STATUS_COMPLETED
:WEBHOOK_DELIVERY_STATUS_FAILED
:WEBHOOK_DELIVERY_STATUS_DISABLED
webhook_id: String
webhook_url: String

Webhook delivery details

error_message: String
response_headers: Hash[Symbol, String]

Response headers received from the webhook endpoint

metadata: OperationMetadata { id, account_id, created_at, 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…”)

account_id: String

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

created_at: Time

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

formatdate-time
profile_id: String

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

workspace_id: String

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

external_id: String

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

labels: Hash[Symbol, String]

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

List webhook deliveries

require "cadenya"

cadenya = Cadenya::Client.new(api_key: "My API Key")

page = cadenya.agents.webhook_deliveries.list("agentId", workspace_id: "workspaceId")

puts(page)
{
  "items": [
    {
      "data": {
        "agentId": "agentId",
        "attemptCount": 0,
        "eventType": "OBJECTIVE_EVENT_TYPE_UNSPECIFIED",
        "httpStatusCode": 0,
        "lastAttemptAt": "2019-12-27T18:11:19.117Z",
        "latencyMs": 0,
        "objectiveEventId": "objectiveEventId",
        "objectiveId": "objectiveId",
        "responseContentLength": "responseContentLength",
        "status": "WEBHOOK_DELIVERY_STATUS_UNSPECIFIED",
        "webhookId": "webhookId",
        "webhookUrl": "webhookUrl",
        "errorMessage": "errorMessage",
        "responseHeaders": {
          "foo": "string"
        }
      },
      "metadata": {
        "id": "id",
        "accountId": "accountId",
        "createdAt": "2019-12-27T18:11:19.117Z",
        "profileId": "profileId",
        "workspaceId": "workspaceId",
        "externalId": "externalId",
        "labels": {
          "foo": "string"
        }
      }
    }
  ],
  "pagination": {
    "nextCursor": "nextCursor",
    "total": 0
  }
}
Returns Examples
{
  "items": [
    {
      "data": {
        "agentId": "agentId",
        "attemptCount": 0,
        "eventType": "OBJECTIVE_EVENT_TYPE_UNSPECIFIED",
        "httpStatusCode": 0,
        "lastAttemptAt": "2019-12-27T18:11:19.117Z",
        "latencyMs": 0,
        "objectiveEventId": "objectiveEventId",
        "objectiveId": "objectiveId",
        "responseContentLength": "responseContentLength",
        "status": "WEBHOOK_DELIVERY_STATUS_UNSPECIFIED",
        "webhookId": "webhookId",
        "webhookUrl": "webhookUrl",
        "errorMessage": "errorMessage",
        "responseHeaders": {
          "foo": "string"
        }
      },
      "metadata": {
        "id": "id",
        "accountId": "accountId",
        "createdAt": "2019-12-27T18:11:19.117Z",
        "profileId": "profileId",
        "workspaceId": "workspaceId",
        "externalId": "externalId",
        "labels": {
          "foo": "string"
        }
      }
    }
  ],
  "pagination": {
    "nextCursor": "nextCursor",
    "total": 0
  }
}