Get a webhook

One of your webhooks: where it points, what it is watching for, and whether it is still switched on. The signing key is not here. You see it once, when the webhook is created, and it cannot be read back afterwards. Requires the `webhooks.read` permission.

GET
/webhooks/{webhookId}
AuthorizationBearer <token>

The access token returned after a successful sign-in, sent as Authorization: Bearer <access_token>.

It identifies the person and the organization they are working in, and it lasts about fifteen minutes. When it runs out, use their refresh token at POST /auth/refresh-token instead of asking them to sign in again.

In: header

Path Parameters

webhookId*string

Identifier of the webhook, the same value sent as the X-Webhook-ID header.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.dual.network/webhooks/665f1c2d4b1a2c3d4e5f6ae0"
{
  "id": "665f1c2d4b1a2c3d4e5f6a7b",
  "name": "Ticket activity",
  "url": "https://hooks.example.com/dual",
  "wallet_id": "665f1c2d4b1a2c3d4e5f6a01",
  "is_active": true,
  "rules": [
    {
      "template_id": "665f1c2d4b1a2c3d4e5f6a99",
      "actions": [],
      "addresses": []
    }
  ],
  "when_created": "2026-03-01T09:12:44Z",
  "when_modified": "2026-03-01T09:12:44Z"
}
{
  "code": 3,
  "message": "Key: 'limit' Error:Field validation for 'limit' failed on the 'lte' tag"
}

{
  "code": 16,
  "message": "no auth provided"
}

{
  "code": 5,
  "message": "object not found"
}
{
  "code": 13,
  "message": "internal error"
}