---
title: "Create Provider"
method: POST
path: "/agents/phone-numbers/providers"
tags: ["Providers"]
---

# Create Provider

`POST /agents/phone-numbers/providers`

## Request

- Base URL: `https://api.cartesia.ai`
- URL: `https://api.cartesia.ai/agents/phone-numbers/providers`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/cartesia/apis/cartesia-api/docs/agents/phone-numbers/providers/post.ts> (a function with typed inputs; its response is checked against the schema)

Link a telephony provider account

## Headers

- `Cartesia-Version` '2026-03-01', date, required

## Request body

- CreateProviderBody
  - `type` 'twilio', required: Must be `"twilio"`.
  - `account_sid` string, required: Your Twilio account SID.
  - `api_key_sid` string, required: A Twilio API key SID.
  - `api_key_secret` string, required: The corresponding API key secret.
  - `region` 'us1' | 'ie1' | 'au1': The Twilio region the phone number and API key are configured for. `us1` (US), `ie1` (Ireland), `au1` (Australia). Default is `us1`.

## Response `201`

Provider created.

- ProviderAccountResponse: A linked Twilio account. The `api_key_sid` field is partially masked in responses.
  - `type` 'twilio', required: Always `"twilio"`.
  - `id` string, required: Unique identifier for the provider.
  - `account_sid` string, required: The Twilio account SID.
  - `api_key_sid` string, required: The Twilio API key SID (partially masked).
  - `region` 'us1' | 'ie1' | 'au1', required: The Twilio region the phone number and API key are configured for. `us1` (US), `ie1` (Ireland), `au1` (Australia). Default is `us1`.

## Other responses

- `400`: Invalid credentials.
- `409`: Provider already exists for this account and region. Use PATCH to update credentials.

---

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