Skip to main content
POST
/
v2
/
deployments
Create Deployment
curl --request POST \
  --url https://tavusapi.com/v2/deployments \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "pal_id": "pcb7a34da5fe",
  "name": "<string>",
  "password": "<string>",
  "customization": {},
  "limits": {},
  "allowed_origins": [
    "<string>"
  ]
}
'
{
  "deployment_id": "d1234567890abcdef",
  "pal_id": "pcb7a34da5fe",
  "name": "<string>",
  "has_password": true,
  "customization": {},
  "replica_thumbnail_video_url": "<string>",
  "thumbnail_video_url": "<string>",
  "thumbnail_image_url": "<string>",
  "limits": {},
  "allowed_origins": [
    "<string>"
  ],
  "usage_total": 123,
  "usage_today": 123,
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z"
}
For AI agents, use https://docs.tavus.io/openapi.yaml for the full HTTP API contract.

Authorizations

x-api-key
string
header
required

Body

application/json
pal_id
string
required

PAL that powers the deployment.

Example:

"pcb7a34da5fe"

channel
enum<string>
required

Delivery channel. See Deployments overview.

Available options:
widget,
embed,
landing-page
name
string

Display name in the Platform.

password
string | null

Optional password visitors must enter before starting.

customization
object

Visual and conversation settings. Configure in the Platform or via JSON Patch on update.

limits
object

Call limits and max duration.

allowed_origins
string[]

Origins allowed to load widget/embed deployments.

Response

Deployment created

A managed deployment. See Deployments overview.

deployment_id
string
Example:

"d1234567890abcdef"

pal_id
string

PAL that powers the deployment.

Example:

"pcb7a34da5fe"

channel
enum<string>
Available options:
widget,
embed,
landing-page
status
enum<string>
Available options:
draft,
active,
inactive
name
string
has_password
boolean
customization
object
replica_thumbnail_video_url
string | null
deprecated

Removed. Use thumbnail_video_url and thumbnail_image_url instead.

thumbnail_video_url
string | null

URL for the face preview video thumbnail.

thumbnail_image_url
string | null

URL for the face preview image thumbnail.

limits
object
allowed_origins
string[]
usage_total
integer
usage_today
integer
created_at
string<date-time>
updated_at
string<date-time>