Skip to content

Webhook endpoints

Create and manage the URLs that receive events.

Events, payloads, signatures and retries are explained in Webhooks. Plan limits: 1, 10 or unlimited endpoints.

Create a webhook

POST/webhooks

Adds an endpoint and returns its signing secret.

Body
  • endpointstringrequired

    A public HTTPS URL.

  • eventsstring[]required

    One or more event types.

POST/webhooks
curl -X POST 'https://api.iresendly.com/webhooks' \
  -H 'Authorization: Bearer irs_xxxxxxxxx' \
  -H 'Content-Type: application/json' \
  -d '{
  "endpoint": "https://api.acme.com/webhooks/iresendly",
  "events": [
    "email.delivered",
    "email.bounced"
  ]
}'
Response
{
  "object": "webhook",
  "id": "4dd369bc-aa82-4ff3-97de-514ae3000ee0",
  "signing_secret": "whsec_c2VjcmV0LWV4YW1wbGUtMTIzNDU2"
}

List webhooks

GET/webhooks

Every endpoint, without secrets.

GET/webhooks
curl -X GET 'https://api.iresendly.com/webhooks' \
  -H 'Authorization: Bearer irs_xxxxxxxxx'
Response
{
  "object": "list",
  "has_more": false,
  "data": [
    {
      "object": "webhook",
      "id": "4dd369bc-aa82-4ff3-97de-514ae3000ee0",
      "endpoint": "https://api.acme.com/webhooks/iresendly",
      "status": "enabled"
    }
  ]
}

Retrieve a webhook

GET/webhooks/{id}

One endpoint, including its signing secret.

Path parameters
  • idstringrequired

    The webhook id.

GET/webhooks/{id}
curl -X GET 'https://api.iresendly.com/webhooks/{id}' \
  -H 'Authorization: Bearer irs_xxxxxxxxx'
Response
{
  "object": "webhook",
  "id": "4dd369bc-aa82-4ff3-97de-514ae3000ee0",
  "endpoint": "https://api.acme.com/webhooks/iresendly",
  "events": [
    "email.delivered",
    "email.bounced"
  ],
  "status": "enabled",
  "signing_secret": "whsec_…"
}

Update a webhook

PATCH/webhooks/{id}

Change endpoint, events, or status (enabled or disabled).

Path parameters
  • idstringrequired

    The webhook id.

PATCH/webhooks/{id}
curl -X PATCH 'https://api.iresendly.com/webhooks/{id}' \
  -H 'Authorization: Bearer irs_xxxxxxxxx' \
  -H 'Content-Type: application/json' \
  -d '{
  "status": "disabled"
}'
Response
{
  "object": "webhook",
  "id": "4dd369bc-aa82-4ff3-97de-514ae3000ee0"
}

Delete a webhook

DELETE/webhooks/{id}

Stops deliveries; any still waiting to retry are dropped.

Path parameters
  • idstringrequired

    The webhook id.

DELETE/webhooks/{id}
curl -X DELETE 'https://api.iresendly.com/webhooks/{id}' \
  -H 'Authorization: Bearer irs_xxxxxxxxx'
Response
{
  "object": "webhook",
  "id": "4dd369bc-aa82-4ff3-97de-514ae3000ee0",
  "deleted": true
}
Note
Signing secrets can be rotated, and any delivery replayed, from the endpoint's page in the developer console.
Still stuck? Write to us and we'll reply by email.Contact ussupport@iresendly.com