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

# Create hotspot

> Create a new hotspot



## OpenAPI

````yaml post /videos/{VIDEO_ID}/hotspots
openapi: 3.0.3
info:
  title: Video API
  description: Use our Video API to handle your video storage, transcoding and delivery.
  contact:
    name: Vidbeo Support
    url: https://www.vidbeo.com
    email: support@vidbeo.com
  version: 2.0.0
servers:
  - url: https://api.vidbeo.com/v2
security:
  - bearerAuth: []
tags:
  - name: Analytics
  - name: API keys
  - name: Audit logs
  - name: Categories
  - name: Folders
  - name: Identity providers
  - name: Invites
  - name: JWT keys
  - name: Players
  - name: Services
  - name: Stream keys
  - name: Tokens
  - name: Transcribes
  - name: Uploads
  - name: Users
  - name: Videos
paths:
  /videos/{VIDEO_ID}/hotspots:
    parameters:
      - $ref: '#/components/parameters/videoId'
    post:
      tags:
        - Videos
      summary: Create hotspot
      description: Create a new hotspot
      requestBody:
        $ref: '#/components/requestBodies/Hotspot'
      responses:
        '200':
          $ref: '#/components/responses/Hotspot'
        '400':
          $ref: '#/components/responses/Error400'
components:
  parameters:
    videoId:
      name: VIDEO_ID
      in: path
      description: ID of the video
      required: true
      schema:
        type: string
        example: abcde12345abcde12345a
  requestBodies:
    Hotspot:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              name:
                description: A short label for the hotspot
                type: string
                maxLength: 100
              show_at:
                description: The time-code the hotspot should appear at, as HH:MM:SS
                type: string
                maxLength: 8
              hide_at:
                description: The time-code the hotspot should hide at, as HH:MM:SS
                type: string
                maxLength: 8
              x:
                description: >-
                  Where should the hotspot be horizontally positioned (we
                  suggest 25-75)?
                type: number
              'y':
                description: >-
                  Where should the hotspot be vertically positioned (we suggest
                  25-75)?
                type: number
              action:
                description: What should happen when the hotspot is clicked?
                type: string
                enum:
                  - link
              link:
                description: The URL viewers will be taken to if they click the hotspot
                type: string
                format: uri
                maxLength: 100
              target:
                description: Where should the link open?
                type: string
                enum:
                  - _blank
                  - _parent
              opacity:
                description: How should the hotspot appear?
                type: string
                enum:
                  - invisible
                  - translucent
                  - opaque
  responses:
    Hotspot:
      description: Hotspot
      content:
        application/json:
          schema:
            type: object
            required:
              - success
              - result
              - links
              - errors
            properties:
              success:
                type: boolean
                example: true
              result:
                $ref: '#/components/schemas/Hotspot'
              links:
                type: object
                example: {}
              errors:
                type: array
                items:
                  type: object
                minLength: 0
                maxLength: 0
                example: []
    Error400:
      description: Invalid request
      content:
        application/json:
          schema:
            type: object
            required:
              - success
              - result
              - links
              - errors
            properties:
              success:
                type: boolean
                example: false
              result:
                type: object
                example: {}
              links:
                type: object
                example: {}
              errors:
                type: array
                items:
                  type: object
                  properties:
                    message:
                      type: string
                      example: Invalid data sent
            example:
              success: false
              result: {}
              links: {}
              errors:
                - message: Invalid data sent
  schemas:
    Hotspot:
      type: object
      required:
        - id
        - name
        - show_at
        - hide_at
        - x
        - 'y'
        - action
        - link
        - target
        - opacity
      properties:
        id:
          type: string
          minLength: 21
          maxLength: 21
          example: abcde12345abcde12345a
        name:
          type: string
          minLength: 1
          maxLength: 200
          example: Example
        show_at:
          type: string
          example: '00:00:05'
        hide_at:
          type: string
          example: '00:00:05'
        x:
          type: integer
          example: 25
        'y':
          type: integer
          example: 25
        action:
          type: string
          enum:
            - link
          example: link
        link:
          type: string
          format: uri
          example: https://example.com
        target:
          type: string
          enum:
            - _parent
            - _blank
          example: _parent
        opacity:
          type: string
          enum:
            - opaque
            - translucent
            - invisible
          example: translucent
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````