> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tavus.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Deployment

> Create a managed deployment for the widget, embed, or landing-page channel.

See [Deployments overview](/sections/deployments/overview).


<Info>
  For AI agents, use `https://docs.tavus.io/openapi.yaml` for the full HTTP API contract.
</Info>


## OpenAPI

````yaml post /v2/deployments
openapi: 3.0.3
info:
  title: Tavus Developer API Collection
  version: 1.0.0
  contact: {}
servers:
  - url: https://tavusapi.com
security:
  - apiKey: []
tags:
  - name: Videos
  - name: Faces
  - name: Voices
  - name: Conversations
  - name: Deployments
  - name: PALs
  - name: Tools
  - name: PAL Tools
  - name: Pronunciation Dictionaries
  - name: Replacements
  - name: Transcriptions
  - name: Documents
paths:
  /v2/deployments:
    post:
      tags:
        - Deployments
      summary: Create Deployment
      description: >
        Create a managed deployment for the widget, embed, or landing-page
        channel.


        See [Deployments overview](/sections/deployments/overview).
      operationId: createDeployment
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/createDeploymentRequest'
      responses:
        '200':
          description: Deployment created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deployment'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
        '401':
          description: UNAUTHORIZED
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Invalid access token
      security:
        - apiKey: []
components:
  schemas:
    createDeploymentRequest:
      type: object
      required:
        - pal_id
        - channel
      properties:
        pal_id:
          type: string
          description: PAL that powers the deployment.
          example: pcb7a34da5fe
        channel:
          type: string
          enum:
            - widget
            - embed
            - landing-page
          description: >-
            Delivery channel. See [Deployments
            overview](/sections/deployments/overview).
        name:
          type: string
          description: Display name in the Platform.
        password:
          type: string
          nullable: true
          description: Optional password visitors must enter before starting.
        customization:
          type: object
          description: >-
            Visual and conversation settings. Configure in the Platform or via
            JSON Patch on update.
        limits:
          type: object
          description: Call limits and max duration.
        allowed_origins:
          type: array
          items:
            type: string
          description: Origins allowed to load widget/embed deployments.
    deployment:
      type: object
      description: >-
        A managed deployment. See [Deployments
        overview](/sections/deployments/overview).
      properties:
        deployment_id:
          type: string
          example: d1234567890abcdef
        pal_id:
          type: string
          description: PAL that powers the deployment.
          example: pcb7a34da5fe
        channel:
          type: string
          enum:
            - widget
            - embed
            - landing-page
        status:
          type: string
          enum:
            - draft
            - active
            - inactive
        name:
          type: string
        has_password:
          type: boolean
        customization:
          type: object
        replica_thumbnail_video_url:
          type: string
          nullable: true
          deprecated: true
          description: >-
            **Removed.** Use `thumbnail_video_url` and `thumbnail_image_url`
            instead.
        thumbnail_video_url:
          type: string
          nullable: true
          description: URL for the face preview video thumbnail.
        thumbnail_image_url:
          type: string
          nullable: true
          description: URL for the face preview image thumbnail.
        limits:
          type: object
        allowed_origins:
          type: array
          items:
            type: string
        usage_total:
          type: integer
        usage_today:
          type: integer
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key

````