Get available webhook event types
Retrieves all available webhook event types that can be subscribed to.
Response Body
application/json
application/json
curl -X GET "https://example.com/v3/webhooks/event-types"{
"success": true,
"data": {
"event_types": [
{
"name": "message",
"display_name": "Messages",
"description": "Webhook events for message status changes",
"is_active": true,
"event_type": null,
"sub_types": [
{
"name": "message.delivered",
"display_name": "Message Delivered",
"description": "Triggered when a message is confirmed delivered",
"is_active": true,
"event_type": "message",
"sub_types": null
},
{
"name": "message.failed",
"display_name": "Message Failed",
"description": "Triggered when a message delivery fails",
"is_active": true,
"event_type": "message",
"sub_types": null
}
]
},
{
"name": "templates",
"display_name": "Templates",
"description": "Webhook events for template status changes",
"is_active": true,
"event_type": null,
"sub_types": [
{
"name": "templates.approved",
"display_name": "Template Approved",
"description": "Triggered when a template is approved and can be sent",
"is_active": true,
"event_type": "templates",
"sub_types": null
},
{
"name": "templates.rejected",
"display_name": "Template Rejected",
"description": "Triggered when a template is rejected",
"is_active": true,
"event_type": "templates",
"sub_types": null
}
]
},
{
"name": "contact",
"display_name": "Contacts",
"description": "Signals raised by a contact — opting out, opting back in, asking for help, or sending one of your own auto-reply keywords",
"is_active": true,
"event_type": null,
"sub_types": [
{
"name": "contact.opt_in",
"display_name": "Contact Opted In",
"description": "Triggered when a contact opts back in to receiving messages, for example by texting START",
"is_active": true,
"event_type": "contact",
"sub_types": null
},
{
"name": "contact.opt_out",
"display_name": "Contact Opted Out",
"description": "Triggered when a contact opts out of receiving messages, for example by texting STOP",
"is_active": true,
"event_type": "contact",
"sub_types": null
},
{
"name": "contact.help",
"display_name": "Contact Requested Help",
"description": "Triggered when a contact asks for help, for example by texting HELP. Carries no consent change",
"is_active": true,
"event_type": "contact",
"sub_types": null
},
{
"name": "contact.custom_keyword",
"display_name": "Contact Custom Keyword",
"description": "Triggered when a contact sends one of your own auto-reply keywords, for example BOOKING. Read template_id to see which of your templates matched. Carries no consent change",
"is_active": true,
"event_type": "contact",
"sub_types": null
}
]
}
],
"pagination": {
"page": 1,
"page_size": 3,
"total_count": 3,
"total_pages": 1,
"has_more": false,
"cursors": null
}
},
"error": null,
"meta": {
"request_id": "req_7X9zKp2jDw",
"timestamp": "2026-09-30T14:13:13.2060464+00:00",
"version": "v3"
}
}{
"success": false,
"data": null,
"error": {
"code": "INTERNAL_001",
"message": "An unexpected error occurred while retrieving event types",
"details": null,
"doc_url": "https://docs.sent.dm/reference/api/error-catalog"
},
"meta": {
"request_id": "req_7X9zKp2jDw",
"timestamp": "2026-09-30T14:13:13.2060486+00:00",
"version": "v3"
}
}Get webhook events GET
Retrieves a paginated list of delivery events for the specified webhook.
Get authenticated account GET
Returns the account associated with the provided API key. The response includes account identity, contact information, messaging channel configuration, and — depending on the account type — either a list of child profiles or the profile's own settings. **Account types:** - `organization` — Has child profiles. The `profiles` array is populated. - `user` — Standalone account with no profiles. - `profile` — Child of an organization. Includes `organization_id`, `short_name`, `status`, and `settings`. **Channels:** The `channels` object always includes `sms`, `whatsapp`, and `rcs`. Each channel has a `configured` boolean. Configured channels expose additional details such as `phone_number`. **Sending number:** `sending_phone_number` is the account's US SMS sender. It is intentionally the same value as `channels.sms.phone_number` — the two are kept in step, and it is published under both names because `sending_phone_number` is what this value is called on `GET /v3/profiles`. Read either. One difference: `sending_phone_number` is always present, including as `null`, while `channels.sms.phone_number` is omitted when there is no sender. `sending_phone_number_profile_id` names the account that holds that number in inventory — normally this account, and a different one where a number is shared. Both are `null` when the account has no US SMS sender.