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

# Duplicate a video



## OpenAPI

````yaml /openapi.yaml post /v1/videos/{id}/duplicates
openapi: 3.1.0
info:
  title: VTurb API
  version: v1
  description: |
    Public REST API for VTurb. Dev-first and agents-first: every documented
    response is recorded from the API's real behavior.
  contact:
    name: VTurb API
    url: https://vturb.com
servers:
  - url: https://api.vturb.com
security:
  - bearerAuth: []
paths:
  /v1/videos/{id}/duplicates:
    post:
      tags:
        - Videos
      summary: Duplicate a video
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          example: 652f2b1e8f1b2c3d4e5f6a7b
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: >-
                    Optional name for the copy, used as-is. Omit it to get the
                    source's name with the default copy prefix.
                  maxLength: 255
                  example: Landing hero (v2)
            example:
              name: Landing hero (v2)
      responses:
        '201':
          description: >-
            Creates a copy of the video under a new id. Analytics and A/B test
            results are not copied. Send `name` to name the copy; omit it and
            the copy takes the source's name with a default prefix.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  status:
                    type: string
                  controls:
                    type: object
                    properties:
                      backward:
                        type: 'null'
                      big_play:
                        type: 'null'
                      forward:
                        type: 'null'
                      fullscreen:
                        type: 'null'
                      play_pause:
                        type: 'null'
                      seekbar:
                        type: 'null'
                      time:
                        type: 'null'
                      volume:
                        type: 'null'
                      fake_bar:
                        type: 'null'
                      speed:
                        type: 'null'
                    required:
                      - backward
                      - big_play
                      - forward
                      - fullscreen
                      - play_pause
                      - seekbar
                      - time
                      - volume
                      - fake_bar
                      - speed
                  call_actions:
                    type: object
                    properties:
                      enabled:
                        type: boolean
                      items:
                        type: array
                        items: {}
                    required:
                      - enabled
                      - items
                  alternative_video:
                    type: object
                    properties:
                      enabled:
                        type: 'null'
                      id:
                        type: 'null'
                    required:
                      - enabled
                      - id
                  traffic_filter:
                    type: object
                    properties:
                      enabled:
                        type: 'null'
                      fallback_video_id:
                        type: 'null'
                      token:
                        type: 'null'
                      languages:
                        type: 'null'
                      countries:
                        type: 'null'
                      devices:
                        type: 'null'
                      query_params:
                        type: 'null'
                      block_proxy:
                        type: 'null'
                    required:
                      - enabled
                      - fallback_video_id
                      - token
                      - languages
                      - countries
                      - devices
                      - query_params
                      - block_proxy
                  name:
                    type: string
                  description:
                    type: 'null'
                  folder_id:
                    type: 'null'
                  styles:
                    type: object
                    properties:
                      background_color:
                        type: 'null'
                      foreground_color:
                        type: 'null'
                      border_radius:
                        type: 'null'
                      linear_gradient:
                        type: object
                        properties:
                          enabled:
                            type: 'null'
                          angle:
                            type: 'null'
                          primary_color:
                            type: 'null'
                          primary_stop:
                            type: 'null'
                          secondary_color:
                            type: 'null'
                          secondary_stop:
                            type: 'null'
                        required:
                          - enabled
                          - angle
                          - primary_color
                          - primary_stop
                          - secondary_color
                          - secondary_stop
                    required:
                      - background_color
                      - foreground_color
                      - border_radius
                      - linear_gradient
                  general:
                    type: object
                    properties:
                      currency:
                        type: 'null'
                      pitch_time:
                        type: 'null'
                      preload_type:
                        type: 'null'
                      start_quality:
                        type: 'null'
                    required:
                      - currency
                      - pitch_time
                      - preload_type
                      - start_quality
                  immersive_mode:
                    type: object
                    properties:
                      enabled:
                        type: 'null'
                      desktop:
                        type: 'null'
                      disable_scrolling:
                        type: 'null'
                      expand_on_play:
                        type: 'null'
                      minimize_on_pause:
                        type: 'null'
                      mobile:
                        type: 'null'
                    required:
                      - enabled
                      - desktop
                      - disable_scrolling
                      - expand_on_play
                      - minimize_on_pause
                      - mobile
                  mini_hooks:
                    type: object
                    properties:
                      enabled:
                        type: 'null'
                      elements:
                        type: array
                        items: {}
                    required:
                      - enabled
                      - elements
                  pixels:
                    type: object
                    properties:
                      enabled:
                        type: 'null'
                      items:
                        type: array
                        items: {}
                    required:
                      - enabled
                      - items
                  playback:
                    type: object
                    properties:
                      enabled:
                        type: 'null'
                      disable_pause:
                        type: 'null'
                      scroll_to_action_in:
                        type: 'null'
                      smart_pause:
                        type: 'null'
                      action_after_finish:
                        type: object
                        properties:
                          type:
                            type: 'null'
                          start:
                            type: 'null'
                        required:
                          - type
                          - start
                    required:
                      - enabled
                      - disable_pause
                      - scroll_to_action_in
                      - smart_pause
                      - action_after_finish
                  subtitle:
                    type: object
                    properties:
                      enabled:
                        type: 'null'
                      control:
                        type: 'null'
                      track:
                        type: object
                        properties:
                          name:
                            type: 'null'
                          url:
                            type: 'null'
                        required:
                          - name
                          - url
                      style:
                        type: object
                        properties:
                          font_size:
                            type: 'null'
                          color:
                            type: 'null'
                          background_color:
                            type: 'null'
                          text_align:
                            type: 'null'
                          bottom:
                            type: 'null'
                          max_width:
                            type: 'null'
                          show_by_default:
                            type: 'null'
                        required:
                          - font_size
                          - color
                          - background_color
                          - text_align
                          - bottom
                          - max_width
                          - show_by_default
                    required:
                      - enabled
                      - control
                      - track
                      - style
                  thumbsniper:
                    type: object
                    properties:
                      enabled:
                        type: 'null'
                      background_color:
                        type: 'null'
                      images:
                        type: object
                        properties:
                          start:
                            type: 'null'
                          pause:
                            type: 'null'
                          finish:
                            type: 'null'
                        required:
                          - start
                          - pause
                          - finish
                      cards:
                        type: array
                        items: {}
                    required:
                      - enabled
                      - background_color
                      - images
                      - cards
                  turbo:
                    type: object
                    properties:
                      enabled:
                        type: 'null'
                      mode:
                        type: string
                      speed:
                        type: 'null'
                    required:
                      - enabled
                      - mode
                      - speed
                  headline:
                    type: object
                    properties:
                      enabled:
                        type: 'null'
                      mode:
                        type: string
                      active_number:
                        type: 'null'
                      variants:
                        type: array
                        items: {}
                    required:
                      - enabled
                      - mode
                      - active_number
                      - variants
                  progress_bar:
                    type: object
                    properties:
                      enabled:
                        type: 'null'
                      height:
                        type: 'null'
                      use_base_color:
                        type: 'null'
                      current_color:
                        type: 'null'
                      color:
                        type: 'null'
                    required:
                      - enabled
                      - height
                      - use_base_color
                      - current_color
                      - color
                  resume:
                    type: object
                    properties:
                      enabled:
                        type: 'null'
                      disable_pause:
                        type: 'null'
                      styles:
                        type: object
                        properties:
                          background_color:
                            type: 'null'
                          foreground_color:
                            type: 'null'
                        required:
                          - background_color
                          - foreground_color
                      texts:
                        type: object
                        properties:
                          play:
                            type: 'null'
                          replay:
                            type: 'null'
                          title:
                            type: 'null'
                        required:
                          - play
                          - replay
                          - title
                    required:
                      - enabled
                      - disable_pause
                      - styles
                      - texts
                  smart_autoplay:
                    type: object
                    properties:
                      enabled:
                        type: 'null'
                      mode:
                        type: string
                      active_number:
                        type: 'null'
                      variants:
                        type: array
                        items: {}
                    required:
                      - enabled
                      - mode
                      - active_number
                      - variants
                required:
                  - id
                  - status
                  - controls
                  - call_actions
                  - alternative_video
                  - traffic_filter
                  - name
                  - description
                  - folder_id
                  - styles
                  - general
                  - immersive_mode
                  - mini_hooks
                  - pixels
                  - playback
                  - subtitle
                  - thumbsniper
                  - turbo
                  - headline
                  - progress_bar
                  - resume
                  - smart_autoplay
              example:
                id: 652f2b1e8f1b2c3d4e5f6a7c
                status: ready
                controls:
                  backward: null
                  big_play: null
                  forward: null
                  fullscreen: null
                  play_pause: null
                  seekbar: null
                  time: null
                  volume: null
                  fake_bar: null
                  speed: null
                call_actions:
                  enabled: false
                  items: []
                alternative_video:
                  enabled: null
                  id: null
                traffic_filter:
                  enabled: null
                  fallback_video_id: null
                  token: null
                  languages: null
                  countries: null
                  devices: null
                  query_params: null
                  block_proxy: null
                name: Copy of Landing hero
                description: null
                folder_id: null
                styles:
                  background_color: null
                  foreground_color: null
                  border_radius: null
                  linear_gradient:
                    enabled: null
                    angle: null
                    primary_color: null
                    primary_stop: null
                    secondary_color: null
                    secondary_stop: null
                general:
                  currency: null
                  pitch_time: null
                  preload_type: null
                  start_quality: null
                immersive_mode:
                  enabled: null
                  desktop: null
                  disable_scrolling: null
                  expand_on_play: null
                  minimize_on_pause: null
                  mobile: null
                mini_hooks:
                  enabled: null
                  elements: []
                pixels:
                  enabled: null
                  items: []
                playback:
                  enabled: null
                  disable_pause: null
                  scroll_to_action_in: null
                  smart_pause: null
                  action_after_finish:
                    type: null
                    start: null
                subtitle:
                  enabled: null
                  control: null
                  track:
                    name: null
                    url: null
                  style:
                    font_size: null
                    color: null
                    background_color: null
                    text_align: null
                    bottom: null
                    max_width: null
                    show_by_default: null
                thumbsniper:
                  enabled: null
                  background_color: null
                  images:
                    start: null
                    pause: null
                    finish: null
                  cards: []
                turbo:
                  enabled: null
                  mode: single
                  speed: null
                headline:
                  enabled: null
                  mode: single
                  active_number: null
                  variants: []
                progress_bar:
                  enabled: null
                  height: null
                  use_base_color: null
                  current_color: null
                  color: null
                resume:
                  enabled: null
                  disable_pause: null
                  styles:
                    background_color: null
                    foreground_color: null
                  texts:
                    play: null
                    replay: null
                    title: null
                smart_autoplay:
                  enabled: null
                  mode: single
                  active_number: null
                  variants: []
        '422':
          description: The video cannot be duplicated in its current state.
          content:
            application/problem+json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  code:
                    type: string
                  message:
                    type: string
                  request_id:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                        message:
                          type: string
                      required:
                        - field
                        - message
                required:
                  - type
                  - code
                  - message
                  - request_id
                  - errors
              example:
                type: https://docs.vturb.com/errors/unprocessable_content
                code: unprocessable_content
                message: The request is invalid. See errors for the fields that failed.
                request_id: 00000000-0000-0000-0000-000000000000
                errors:
                  - field: base
                    message: Player video is required
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Paste your VTurb API token (vt_...). Sent as `Authorization: Bearer
        <token>`.

````