Connects a phone number you already own elsewhere (your own SIP trunk, an existing WhatsApp Business line, a number on another carrier) to one of your agents on a specific channel. The number is registered as source: external — it will not be billed, and inventory operations like /release do not apply. SIP credentials, when provided, are stored encrypted.
Documentation Index
Fetch the complete documentation index at: https://developers.mindhunters.ai/llms.txt
Use this file to discover all available pages before exploring further.
Use a Bearer token to access these API endpoints. Example: "Bearer {your-token}"
The external phone number to register, in E.164 format. Must NOT already be in your purchased inventory or bound on the same channel.
"+12345678901"
UUID of the agent that will answer traffic on this trunk. The agent must not already serve another number on the same channel.
Which channel this trunk handles. One trunk row per (number, channel) pair — you can register the same number on call+whatsapp by calling this twice. SMS is not supported on the trunk endpoints; use POST /api/v1/agents/{uuid}/channels/sms instead.
call, whatsapp Friendly label for the trunk, surfaced in dashboards and logs. Defaults to {channel}_trunk_{digits} if omitted (e.g. call_trunk_12345678901).
Call-channel only. Whether this trunk handles inbound, outbound, or both. Defaults to both. Ignored for WhatsApp.
inbound, outbound, both Optional SIP credentials for the call channel. All fields are encrypted at rest. Omit if you only want to register the binding without storing credentials.
Free-form JSON stored on the binding. Use for channel-specific extras (for example, an ani_format: e164 flag).
Trunk created
Indicates whether the request completed successfully. True for successful responses; false for documented error responses.
Human-readable response message. Safe to display in logs or simple client notifications; use structured fields for program logic.
Per-channel snapshot returned by /phone-numbers/{uuid}/channels, /phone-numbers/channels?number=…, and the trunk create/update/assign endpoints. Combines capability (what the carrier supports), state (what's enabled), and binding (which agent is wired up).