---
title: "Register Web Hook"
method: POST
path: "/dashboards/{dashboard_id}/hooks"
tags: ["Webhooks"]
---

# Register Web Hook

`POST /dashboards/{dashboard_id}/hooks`

Registers a new Web Hook. Web hooks can be registered to send callbacks when messages are received, sent, or when a contact is created. You can make multiple webhooks from the same event, but not hitting the same url. Webhooks can be used for third party integrations such as Zapier and other partner integrations. Press **Callbacks** below to see event types.

## Path parameters

- `dashboard_id` integer, required

## Request body

- PostWebhookRequest
  - `target_url` string, uri — The url that will be called when the web hook is triggered.
  - `event` 'msg_sent' | 'msg_received' | 'contact_created' | 'msg_status_updated' | 'location_received' | 'payment_status_updated' | 'contact_updated' — The event type that you registered for.
  - `http_verb` 'PUT' | 'POST' | 'DELETE' — The HTTP verb that will be used when the webhook is triggered. This cannot be GET.

## Response `201`

The new webhook

- Webhook
  - `id` integer — The webhook identifier. You will need this identifier if you decide to remove this web hook. Deleting the dashboard will automatically remove all hooks for the deleted dashboard.
  - `target_url` string, uri — The url that will be called when the web hook is triggered.
  - `event` 'msg_sent' | 'msg_received' | 'contact_created' | 'msg_status_updated' | 'location_received' | 'payment_status_updated' | 'contact_updated' — The event type that you registered for.
  - `dashboard_id` integer — The dashboard id for the Text Request dashboard that this web hook applies to.
  - `httpVerb` 'PUT' | 'POST' | 'DELETE' — The HTTP verb that will be used when the webhook is triggered. This cannot be GET.
  - `is_user_defined` boolean — If the hook was defined from the Text Request web portal. False if the hook was defined via the API.
  - `is_connected` boolean — If the hook was disconnected from Text Request by the webhook failing to receive a 2XX or 3XX response 10 times in a row.

## Other responses

- `400` — Bad request. Sent if required properties are omitted or invalid.
- `401` — Unauthorized. Sent if the API key is omitted or invalid.
- `409` — Conflict. A webhook for this event and url already exists.

---

[API](https://skmtc.net/textrequest/apis/text-request-api-v3.md) · [All operations](https://skmtc.net/textrequest/apis/text-request-api-v3/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/textrequest/text-request-api-v3/revisions/e4e42efcd650/schema)
