---
title: "Create a trunk"
method: POST
path: "/api/v1/Account/{auth_id}/trunks"
tags: ["Trunks"]
---

# Create a trunk

`POST /api/v1/Account/{auth_id}/trunks`

Create a new SIP trunk for inbound or outbound calling.

## Path parameters

- `auth_id` string, required

## Request body

- object
  - `name` string, required — Trunk name.
  - `trunk_direction` 'inbound' | 'outbound' — Direction of the trunk — **`inbound` or `outbound` only** (a trunk is one direction, not both).
  - `trunk_status` 'enabled' | 'disabled' — Trunk status — `enabled` or `disabled` (note: not `active`).
  - `secure` boolean
  - `trunk_domain` string — SIP domain. Auto-generated as `{first8ofUUID}.sip.vobiz.ai` if omitted.
  - `transport` 'udp' | 'tcp' | 'tls'
  - `inbound_destination` string
  - `description` string
  - `concurrent_calls_limit` integer — Stored on the trunk. The **enforced** concurrency limit is account-level (account base + channel subscriptions), not this field.
  - `cps_limit` integer — Stored on the trunk. The **enforced** CPS is account-level, not this field.
  - `credential_uuid` string — Attach an existing SIP credential (username / password / realm) by UUID.
  - `ipacl_uuid` string — Attach an existing IP access-control list (IP-based auth) by UUID.
  - `primary_uri_uuid` string — Primary origination URI UUID.
  - `fallback_uri_uuid` string — Fallback origination URI UUID.
  - `recording` boolean — Enable call recording.
  - `enable_transcription` boolean — Auto-transcribe recordings when `recording=true`.
  - `pii_redaction` boolean — Redact PII from transcriptions.
  - `pii_entity_types` string — Comma-separated list of entity types to redact.
  - `webhook_url` string — Customer webhook for call-admission events (`CallInitiated` / `Hangup`). Must be a valid **public** http/https URL. SSRF-validated — localhost, private (RFC1918), and cloud-metadata (`169.254.169.254`) URLs are rejected with `invalid webhook_url`. See [Trunk Webhooks](/trunks/webhook).
  - `webhook_method` 'POST' | 'GET' — HTTP method for the webhook callback.
  - `recording_webhook_enabled` boolean — Fire a `recording.completed` webhook to `webhook_url` after a recording is saved.
  - `username` string — Deprecated — use `credential_uuid`.
  - `password` string — Deprecated — use `credential_uuid`.
  - `ip_whitelist` string[] — Deprecated — use `ipacl_uuid`.

## Response `200`

Success

- object
  - `trunk_id` string, required
  - `account_id` string, required
  - `name` string, required
  - `trunk_domain` string, required
  - `trunk_status` string, required
  - `secure` boolean, required
  - `trunk_direction` string, required
  - `concurrent_calls_limit` integer, required
  - `cps_limit` integer, required
  - `description` string, required
  - `transport` string, required
  - `recording` boolean, required
  - `enable_transcription` boolean, required
  - `pii_redaction` boolean, required
  - `webhook_method` string, required
  - `recording_webhook_enabled` boolean, required
  - `created_at` string, required
  - `updated_at` string, required

## Other responses

- `201` — Trunk created

---

[API](https://skmtc.dev/vobiz/apis/vobiz-api.md) · [All operations](https://skmtc.dev/vobiz/apis/vobiz-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/vobiz/vobiz-api/revisions/863f08cd6737/schema)
