---
title: "/sip-trunk"
method: POST
path: "/sip-trunk"
tags: ["dialin"]
---

# /sip-trunk

`POST /sip-trunk`

## Request

- Base URL: `https://api.daily.co/v1`
- URL: `https://api.daily.co/v1/sip-trunk`
- Auth: HTTP bearer

Create a SIP trunk for your domain. Returns the `sip_uri` to point your carrier at, plus the generated `hmac`. `notification.webhook_url` is required and must be LIVE: create sends a signed one-shot `sip_trunk.test` POST that must return 2xx, or the create fails with 400. A trunk must be gated by `allowed_ips`/`credential` or explicitly `is_open: true`.

## Request body

- object
  - `trunk_name` string, required: Lowercase alphanumeric, 3-63 chars, no hyphens; the combined `<domain>-<trunk_name>` label must be <= 63 chars. Immutable after create.
  - `description` string: Free text (max 2048). Echoed to your webhook as trunk.description.
  - `room_template` object, required: Room-creation properties, passed to room create. An optional `sip` block (applied at dial-in start) may set display name, codecs, video_settings, dialin_config, etc. Trunk rooms always use the Daily SIP provider, so `sip.provider`, if set, must be `"daily"`. Absolute `exp`/`nbf` are rejected - use trunk_config.exp_offset.
  - `notification` object, required
    - `webhook_url` string, uri, required: HTTPS URL Daily POSTs sip_trunk.incoming to. Required.
    - `hmac` string: Base64 secret for the X-Siptrunk-Signature header. Optional - Daily generates one if omitted.
  - `trunk_config` object
    - `allowed_ips` string[]: IPv4 addresses or canonical CIDR blocks (max 25) allowed to send INVITEs.
    - `credential` object
      - `username` string
      - `password` string: Write-only (never returned by GET). 12-64 chars, at least one letter and one digit.
    - `is_open` boolean: Set true to accept calls with NO admission control (dev/testing only). A trunk must be gated (allowed_ips and/or credential) XOR explicitly open.
    - `exp_offset` integer: Provisioned-room lifetime in seconds (60-86400).
  - `enabled` boolean

## Response `200`

The created SIP trunk.

- object
  - `id` string
  - `description` string
  - `trunk_name` string
  - `sip_uri` string
  - `enabled` boolean
  - `config` object

## Other responses

- `400`: 400

## Changes

- **2026-09-17** `4a28ab33068e`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/daily/apis/daily-api/changes/sip-trunk/post.md)

---

[API](https://skmtc.dev/daily/apis/daily-api.md) - [All operations](https://skmtc.dev/daily/apis/daily-api/llms.txt) - [OpenAPI document](https://skmtc.dev/daily/apis/daily-api/revisions/a65528c3e5b8?raw)
