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

# Upload Transcriptions

> This endpoint is used to upload transcriptions to a specific workspace.



## OpenAPI

````yaml POST /transcribe/workspace/{id}/transcriptions
openapi: 3.1.0
info:
  title: Pawa AI APIs
  description: >-
    API endpoints in Pawa Platform to perform CRUD operations on different
    features using Pawa AI, a digital assistant built for Africa for various
    tasks.
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.pawa-ai.com/v1
    description: Production Server
security:
  - bearerAuth: []
paths:
  /transcribe/workspace/{id}/transcriptions:
    post:
      tags:
        - Transcribe
      summary: Upload transcriptions to a workspace
      description: This endpoint is used to upload transcriptions to a specific workspace.
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: number
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateWorkspaceTranscriptionDto'
      responses:
        '200':
          description: Transcription uploaded successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceTranscriptionUploadResponseDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                badRequest:
                  value:
                    success: false
                    message: Invalid input provided
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unauthorized:
                  value:
                    success: false
                    message: Unauthorized access
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                forbidden:
                  value:
                    success: false
                    message: You do not have permission to access this resource
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                notFound:
                  value:
                    success: false
                    message: Resource does not exist
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                tooManyRequests:
                  value:
                    success: false
                    message: Rate limit exceeded. Please try again later.
        '500':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                serverError:
                  value:
                    success: false
                    message: Internal server error
components:
  schemas:
    CreateWorkspaceTranscriptionDto:
      type: object
      properties:
        files:
          type: array
          items:
            type: string
            format: binary
          description: Files to be uploaded
        language:
          type: string
          enum:
            - English
            - Swahili
            - Luo
            - Meru
            - Kamba
            - Kikuyu
            - Hausa
            - Igbo
            - Yoruba
            - Pidgin
            - Zulu
            - Tswana
            - Afrikaans
            - Xhosa
            - Nyankole
            - Ganda
            - Lugbara
          example: English
        is_speaker_diarization:
          type: boolean
          example: false
        prompt:
          type: string
          example: Nipe maneno yaliyokwenye hii audio
      required:
        - files
        - language
        - is_speaker_diarization
    WorkspaceTranscriptionUploadResponseDto:
      type: object
      properties:
        success:
          type: boolean
          example: true
        message:
          type: string
          example: Transcription uploaded and saved successfully
        data:
          type: array
          items:
            $ref: '#/components/schemas/WorkspaceTranscriptionDto'
      required:
        - success
        - message
        - data
    ErrorResponse:
      required:
        - success
        - message
      type: object
      properties:
        success:
          type: boolean
          example: false
        message:
          type: string
          example: An error occurred
    WorkspaceTranscriptionDto:
      type: object
      properties:
        id:
          type: number
          example: 1
        fileName:
          type: string
          example: meeting_recording.mp3
        fileUrl:
          type: string
          example: https://storage.domain.com/files/meeting_recording.mp3
        fileType:
          type: string
          example: audio/mpeg
        duration:
          type: number
          example: 320
          description: Duration of the file in seconds
        transcript:
          type: object
          example:
            filename: testing audio.mp3
            transcript: '[Environmental Sounds]'
          nullable: true
        status:
          type: string
          example: COMPLETED
          enum:
            - ACTIVE
            - INACTIVE
            - DELETED
            - ARCHIVED
          description: Processing status of the file
        createdAt:
          type: string
          example: '2026-02-23T08:00:00.000Z'
        updatedAt:
          type: string
          example: '2026-02-23T08:10:00.000Z'
      required:
        - id
        - fileName
        - fileUrl
        - fileType
        - duration
        - transcript
        - status
        - createdAt
        - updatedAt
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````