AgentMessage
Webhooks

List your webhook endpoints

GET
/v1/webhooks

Page over the webhook endpoints owned by your organization. Deleted endpoints are excluded.

Your organization can hold up to 50 endpoints and the full set is returned in one page, so meta.next_cursor is currently always null. The field is present for consistency with other paginated endpoints.

Requires the webhooks:read scope.

AuthorizationBearer <token>

Authenticate by sending your API key as a bearer token: Authorization: Bearer am_live_.... Every request is automatically scoped to the organization that owns the key and to the scopes granted to that key.

In: header

Query Parameters

limit?integer
Default50
Range1 <= value <= 100

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/webhooks"
{
  "success": true,
  "data": [
    {
      "id": "0190a1b2-c3d4-e5f6-a7b8-c9d0e1f2a3b4",
      "org_id": "0190a1b2-c3d4-e5f6-a7b8-c9d0e1f2a3b5",
      "url": "https://hooks.example.com/y3labs/ops",
      "events": [
        "wallet.balance_low",
        "wallet.balance_zero"
      ],
      "active": true,
      "api_version": "2026-04-01",
      "created_at": "2026-04-26T12:00:00Z",
      "updated_at": "2026-04-27T08:30:00Z",
      "deleted_at": null
    }
  ],
  "meta": {
    "total": 0,
    "limit": 50,
    "offset": 0,
    "next_cursor": null
  }
}
{
  "success": false,
  "error": {
    "code": "UNAUTHORIZED",
    "message": "authentication failed",
    "request_id": "01JTBQH2FZ8K1RXC0WJ4Z9P3VM"
  }
}
{
  "success": false,
  "error": {
    "code": "FORBIDDEN",
    "message": "missing required scope",
    "request_id": "01JTBQH2FZ8K1RXC0WJ4Z9P3VM"
  }
}
{
  "success": false,
  "error": {
    "code": "VALIDATION_FAILED",
    "message": "validation failed",
    "request_id": "01JTBQH2FZ8K1RXC0WJ4Z9P3VM",
    "details": {
      "to": "must be E.164",
      "body": "must be 1..1600 chars"
    }
  }
}