---
title: "Provision an account-scoped messaging channel"
method: POST
path: "/provision"
---

# Provision an account-scoped messaging channel

`POST /provision`

## Request

- Base URL: `https://sendinel.ai/api/v1`
- URL: `https://sendinel.ai/api/v1/provision`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://sendinel.ai/oauth/authorize`, token URL `https://sendinel.ai/oauth/token`)

## Request body

- object
  - `channel` 'sms' | 'whatsapp' | 'telegram'
  - `provider` 'telnyx' | 'twilio' | 'meta' | 'telegram'
  - `friendly_name` string
  - `area_code` string: 3-digit US area code for managed SMS provisioning
  - `phone_number` string: Required for Twilio BYO when channel=sms
  - `credentials` object: Provider-specific BYO credentials: - Twilio SMS: account_sid, auth_token - WhatsApp Meta: access_token, phone_number_id, business_account_id?, verify_token?, app_secret? - Telegram: bot_token, bot_username?

## Response `200`

Existing active provision returned idempotently

## Other responses

- `201`: Channel provisioned

---

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