---
title: "Create webhook"
method: POST
path: "/v1/webhooks"
tags: ["Webhooks"]
---

# Create webhook

`POST /v1/webhooks`

## Request body

- WebhookPostRequestWrapperDto
  - `data` object, required
    - `url` string, required — The endpoint URL to configure webhook notifications
    - `secret` string, required — A secure key to share between the system and external services
    - `event` 'MESSAGE' | 'DELIVERY', required — Event type for which the webhook is fired. Possible values: • message - the webhook will be fired in case of an inbound message • delivery - the webhook will be fired in case of an available delivery report
    - `name` string, required — Name for specific webhook
    - `channel` 'SMS' | 'VIBER' | 'WHATSAPP' | 'FLASH' | 'TTS' | 'TELEGRAM' | 'G_RCS' | 'EMAIL_OTP' | 'DEFAULT' — For the event type 'DELIVERY' you can specify unique callback URL for each channel, or use 'DEFAULT' for all channels

## Response `200`

OK

- WebhookResponseWrapperDto
  - `data` object
    - `id` string, uuid — The unique identifier assigned to a webhook
    - `account_id` string, uuid — The unique identifier of the account associated with the webhook configuration
    - `url` string — The endpoint URL configured to receive webhook notifications
    - `secret` string — A secure key shared between the system and external services to generate and verify unique HMAC_SHA256 signatures for webhook requests
    - `event` 'MESSAGE' | 'DELIVERY' — Event type for which the webhook is fired. Possible values: • message - the webhook will be fired in case of an inbound message • delivery - the webhook will be fired in case of an available delivery report
    - `name` string — The name of the webhook
    - `channel` 'SMS' | 'VIBER' | 'WHATSAPP' | 'FLASH' | 'TTS' | 'TELEGRAM' | 'G_RCS' | 'EMAIL_OTP' | 'DEFAULT' — When Event type is 'DELIVERY' channel specific webhook will fire. 'DEFAULT' channel will be used when specific channel is not configured
    - `create_date` string, date-time — Creation date of the webhook in UTC, formatted as yyyy-mm-dd hh:mm:ss
    - `update_date` string, date-time — Update date of the webhook in UTC, formatted as yyyy-mm-dd hh:mm:ss
    - `links` object
      - `self` string — URL of the requested resource
      - `account` string — URL of the account

## Other responses

- `400` — **Bad Request:** Code Message Description 1204 'data.url' is required 1205 'data.secret' is required 1206 'data.event' is required 1207 'data.event' values should be in: \[MESSAGE, DELIVERY\] 1208 'data.url' is too long URL must be at most 255 characters 1209 Illegal given domain name: Contains non-LDH ASCII characters 1210 'data.name' is required 1211 'data.name' is too long Name must be at most 255 characters 1212 'data.channel' is invalid Values should be in: \[SMS,VIBER,WHATSAPP,FLASH,TTS,TELEGRAM,G\_RCS,DEFAULT\]
- `409` — **Conflict:** Code Message 1004 Webhook with the specified event and channel exists

---

[API](https://skmtc.net/dexatel/apis/verify-apis.md) · [All operations](https://skmtc.net/dexatel/apis/verify-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/dexatel/verify-apis/revisions/a924257f431d/schema)
