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

# Start an auto test



## OpenAPI

````yaml /openapi.yaml post /v1/videos/{id}/experiments/{type}/run
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}/experiments/{type}/run:
    post:
      tags:
        - Experiments
      summary: Start an auto test
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          example: 652f2b1e8f1b2c3d4e5f6a7b
        - name: type
          in: path
          required: true
          schema:
            type: string
            enum:
              - turbo
              - headline
              - smart_autoplay
          example: turbo
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                speed_start:
                  type: number
                  format: float
                  description: Playback speed the turbo range starts at (turbo only).
                  minimum: 0.9
                  maximum: 1.5
                  example: 1.2
                speed_end:
                  type: number
                  format: float
                  description: >-
                    Playback speed the turbo range ends at (turbo only). Must be
                    greater than or equal to `speed_start`.
                  minimum: 0.9
                  maximum: 1.5
                  example: 1.4
              required:
                - speed_start
                - speed_end
            examples:
              turbo:
                summary: turbo — speed range
                value:
                  speed_start: 1.2
                  speed_end: 1.4
              headline:
                summary: headline — no body
                value: {}
              smart_autoplay:
                summary: smart_autoplay — no body
                value: {}
        required: false
        description: >-
          Only `turbo` takes a body (`speed_start` / `speed_end`). `headline`
          and `smart_autoplay` configure their variants with PATCH beforehand
          and run with no body.
      responses:
        '201':
          description: >-
            The test starts running. Turbo takes its speed range at start
            (`speed_start`/`speed_end`); only one test of a type can run at a
            time.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  experiment:
                    type: object
                    properties:
                      type:
                        type: string
                      status:
                        type: string
                    required:
                      - type
                      - status
                required:
                  - id
                  - experiment
              example:
                id: 652f2b1e8f1b2c3d4e5f6a7b
                experiment:
                  type: turbo
                  status: running
        '422':
          description: >-
            Validation failed — every rejected field is named, and no test is
            started.
          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: speed_end
                    message: must be between 0.9 and 1.5
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Paste your VTurb API token (vt_...). Sent as `Authorization: Bearer
        <token>`.

````