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

# Upload recording

> Upload a video or audio file for analysis and receive a notification upon completion

<Note>When providing a download URL, ensure that the link is publicly accessible and triggers the download immediately upon access. If the link does not function as expected, verify its settings. If the issue persists, contact our support team for assistance.</Note>


## OpenAPI

````yaml POST /v1/upload
openapi: 3.0.0
info:
  description: This is a sample server celler server.
  title: MeetGeek API
  termsOfService: http://swagger.io/terms/
  contact:
    name: API Support
    url: http://www.swagger.io/support
    email: support@swagger.io
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  version: '1.0'
servers:
  - url: https://api.meetgeek.ai
  - url: https://api-eu.meetgeek.ai
  - url: https://api-us.meetgeek.ai
security:
  - Bearer: []
externalDocs:
  description: OpenAPI
  url: https://swagger.io/resources/open-api/
paths:
  /v1/upload:
    post:
      tags:
        - upload
      summary: Uploads a video or audio file
      description: >-
        Upload a video or audio file for analysis and receive a notification
        upon completion
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/github_com_meetgeekai_api_internal_models.UploadRequest
        description: Download information
        required: true
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github_com_meetgeekai_api_internal_models.UploadResponse
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github_com_meetgeekai_api_internal_errors.BadRequestError
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github_com_meetgeekai_api_internal_errors.UnauthorizedError
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github_com_meetgeekai_api_internal_errors.AccessDeniedError
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github_com_meetgeekai_api_internal_errors.QuotaLimitReachedError
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github_com_meetgeekai_api_internal_errors.InternalServerError
      security:
        - Bearer: []
components:
  schemas:
    github_com_meetgeekai_api_internal_models.UploadRequest:
      description: User account information with user id and username
      type: object
      required:
        - download_url
      properties:
        download_url:
          type: string
          description: >-
            A publicly accessible URL that initiates a direct download when
            accessed
          example: >-
            https://my-bucket.s3.us-west-2.amazonaws.com/photos/2023-08-23/meeting.mp4
        language_code:
          type: string
          description: >-
            Please consult the
            [appendix](/api-reference/v1/appendix-language-codes) for all
            available language code options
          example: en-US
        template_name:
          type: string
          description: >-
            Please consult the
            [appendix](/api-reference/v1/appendix-template-names) for all
            available meeting template options
          example: General meeting
    github_com_meetgeekai_api_internal_models.UploadResponse:
      type: object
      properties:
        message:
          type: string
          description: >-
            This response only confirms the submission status. The final
            analysis status will be sent later via a webhook. For more details,
            refer to the [appendix](/api-reference/v1/appendix-webhooks) for
            information on webhooks.
          example: The recording has been validated and submitted for analysis
    github_com_meetgeekai_api_internal_errors.BadRequestError:
      type: object
      properties:
        message:
          type: string
          example: bad request
        reason:
          type: string
          example: missing api key
    github_com_meetgeekai_api_internal_errors.UnauthorizedError:
      type: object
      properties:
        message:
          type: string
          example: unauthorized
    github_com_meetgeekai_api_internal_errors.AccessDeniedError:
      type: object
      properties:
        message:
          type: string
          example: you do not have access to view this meeting
    github_com_meetgeekai_api_internal_errors.QuotaLimitReachedError:
      type: object
      properties:
        message:
          type: string
          example: quota limit reached
        unit:
          type: string
          example: day
    github_com_meetgeekai_api_internal_errors.InternalServerError:
      type: object
      properties:
        message:
          type: string
          example: internal server error
  securitySchemes:
    Bearer:
      description: Type "Bearer" followed by a space and a token
      type: apiKey
      name: Authorization
      in: header

````