> ## 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.

# Get Deployment Init Config

> Public endpoint called when a widget or embed mounts. Returns customization, limits, captcha settings, and availability.

Does **not** return a PAL identifier - the widget/embed runtime never reads it from `/init`.

No API key required. Origin and browser-context checks apply for non-preview callers.


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


## OpenAPI

````yaml get /v2/deployments/{deployment_id}/init
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/{deployment_id}/init:
    get:
      tags:
        - Deployments
      summary: Get Deployment Init Config
      description: >
        Public endpoint called when a widget or embed mounts. Returns
        customization, limits, captcha settings, and availability.


        Does **not** return a PAL identifier - the widget/embed runtime never
        reads it from `/init`.


        No API key required. Origin and browser-context checks apply for
        non-preview callers.
      operationId: getDeploymentInit
      parameters:
        - name: deployment_id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Init configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deploymentInitConfig'
        '404':
          description: Deployment not found or inactive
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
      security: []
components:
  schemas:
    deploymentInitConfig:
      type: object
      description: >-
        Configuration returned to widget, embed, and landing-page clients on
        init.
      properties:
        deployment_id:
          type: string
        channel:
          type: string
          enum:
            - widget
            - embed
            - landing-page
        customization:
          type: object
          description: >-
            Full customization tree including channel-specific blocks (`widget`,
            `landing_page`) and shared screens (`preview`, `haircheck`,
            `after_call`).
        has_password:
          type: boolean
        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.
        show_tavus_branding:
          type: boolean
        limits:
          type: object
          properties:
            max_call_duration:
              type: integer
              nullable: true
            daily_call_limit_per_user:
              type: integer
              nullable: true
        captcha:
          type: object
          nullable: true
          description: Present when Turnstile is enabled.
          properties:
            provider:
              type: string
            site_key:
              type: string
            challenge_path:
              type: string
            action:
              type: string
        is_available:
          type: boolean
        unavailable_reason:
          type: string
          description: >-
            Set when `is_available` is false, e.g. `daily_limit` or
            `total_limit`.
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key

````