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

# Cancel a transcription

> Request cancellation of an asynchronous transcription.



## OpenAPI

````yaml api-reference/openapi.json POST /v1/asr/transcriptions/{transcription_id}/cancel
openapi: 3.1.0
info:
  title: Chariot API
  version: '1'
  description: >-
    Chariot is a voice AI platform built for Indian and English languages.
    Convert text into natural-sounding speech over a simple REST call, an HTTP
    audio stream, or a low-latency WebSocket, and transcribe speech to text over
    a streaming WebSocket or from a prerecorded file (Beta). This reference
    documents the public, API-key-authenticated endpoints.
  contact:
    name: Chariot Support
    email: support@chariot.in
    url: https://chariot.in
servers:
  - url: https://api.chariot.in
    description: Production
security:
  - APIKeyHeader: []
tags:
  - name: Text to Speech
    description: Convert text into speech synchronously or as a stream.
  - name: Speech to Text
    description: >-
      Transcribe prerecorded files (Beta) and review streaming speech-to-text
      sessions.
  - name: Voices
    description: Browse the voice catalog.
  - name: Account
    description: Inspect your credit balance and usage.
paths:
  /v1/asr/transcriptions/{transcription_id}/cancel:
    post:
      tags:
        - Speech to Text
      summary: Cancel a transcription
      description: >-
        **Beta.** Request cancellation of an asynchronous transcription. Poll
        until terminal. Already terminal jobs are unchanged. Live and
        synchronous transcriptions cannot be cancelled through this route.


        See the [Async transcription
        guide](/guides/speech-to-text/async-transcription).
      operationId: cancelASRTranscription
      parameters:
        - name: transcription_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '202':
          description: Accepted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ASRAsyncTranscriptionDetail'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: >-
            Asynchronous transcription not found in your workspace. Live and
            synchronous transcriptions cannot be cancelled through this route.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Invalid parameters or input.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - APIKeyHeader: []
components:
  schemas:
    ASRAsyncTranscriptionDetail:
      properties:
        model_type:
          anyOf:
            - type: string
            - type: 'null'
          title: Model Type
        filename:
          anyOf:
            - type: string
            - type: 'null'
          title: Filename
        input_audio:
          $ref: '#/components/schemas/ASRAsyncTranscriptionInputAudio'
        id:
          format: uuid
          title: Id
          type: string
        batch_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Batch Id
        custom_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Custom Id
        source:
          enum:
            - live
            - file
          title: Source
          type: string
        execution:
          enum:
            - realtime
            - sync
            - async
          title: Execution
          type: string
        input_type:
          enum:
            - stream
            - upload
            - url
          title: Input Type
          type: string
        status:
          enum:
            - queued
            - processing
            - cancelling
            - completed
            - failed
            - cancelled
            - closed
            - unknown
          title: Status
          type: string
        created_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Created At
        started_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Started At
        finished_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Finished At
        cancel_requested_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Cancel Requested At
        cancelled_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Cancelled At
        language:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Caller-requested transcription language. none selects automatic
            language detection. Null means the historical setting was not
            recorded.
          title: Language
        mode:
          anyOf:
            - type: string
            - type: 'null'
          title: Mode
        style:
          anyOf:
            - type: string
            - type: 'null'
          title: Style
        include_timestamps:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Include Timestamps
        duration_seconds:
          anyOf:
            - type: number
            - type: 'null'
          title: Duration Seconds
        progress:
          $ref: '#/components/schemas/ASRAsyncTranscriptionProgress'
        billing:
          $ref: '#/components/schemas/ASRAsyncTranscriptionBilling'
        error:
          anyOf:
            - $ref: '#/components/schemas/ASRAsyncTranscriptionError'
            - type: 'null'
        result:
          anyOf:
            - $ref: '#/components/schemas/ASRAsyncTranscriptionResult'
            - type: 'null'
      required:
        - model_type
        - filename
        - input_audio
        - id
        - batch_id
        - custom_id
        - source
        - execution
        - input_type
        - status
        - created_at
        - started_at
        - finished_at
        - cancel_requested_at
        - cancelled_at
        - language
        - mode
        - style
        - include_timestamps
        - duration_seconds
        - progress
        - billing
        - error
        - result
      title: TranscriptionDetail
      type: object
    Error:
      type: object
      description: Standard error envelope returned by all endpoints.
      properties:
        statusCode:
          type: integer
          description: HTTP status code, echoed in the body.
        error:
          type: string
          description: Machine-readable error class name.
        message:
          type: string
          description: Human-readable description of what went wrong.
      required:
        - statusCode
        - error
        - message
    ASRAsyncTranscriptionInputAudio:
      properties:
        format:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Original file container format, or live input encoding. Null when
            not recorded; never inferred from a filename.
          title: Format
        sample_rate_hz:
          anyOf:
            - exclusiveMinimum: 0
              type: integer
            - type: 'null'
          description: >-
            Sample rate of the original audio track selected for transcription,
            before resampling. Null when not recorded.
          title: Sample Rate Hz
      required:
        - format
        - sample_rate_hz
      title: TranscriptionInputAudio
      type: object
    ASRAsyncTranscriptionProgress:
      properties:
        stage:
          title: Stage
          type: string
        stage_percent:
          anyOf:
            - maximum: 100
              minimum: 0
              type: number
            - type: 'null'
          description: >-
            Percentage within this stage only, never overall completion. Null
            when not measurable or terminal.
          title: Stage Percent
        updated_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updated At
      required:
        - stage
        - stage_percent
        - updated_at
      title: TranscriptionProgress
      type: object
    ASRAsyncTranscriptionBilling:
      properties:
        credits:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            Current net credits debited for this transcription. Zero after a
            full refund; null when historical usage is unknown.
          title: Credits
        status:
          enum:
            - none
            - charged
            - settled
            - refunded
            - legacy
          title: Status
          type: string
      required:
        - credits
        - status
      title: TranscriptionBilling
      type: object
    ASRAsyncTranscriptionError:
      properties:
        code:
          description: >-
            Stable machine-readable failure code. Clients must tolerate new
            codes.
          title: Code
          type: string
        message:
          description: Safe human-readable explanation; do not branch on this text.
          title: Message
          type: string
      required:
        - code
        - message
      title: TranscriptionError
      type: object
    ASRAsyncTranscriptionResult:
      properties:
        text:
          anyOf:
            - type: string
            - type: 'null'
          title: Text
        words:
          anyOf:
            - items:
                $ref: '#/components/schemas/ASRAsyncASRWordTimestamp'
              type: array
            - type: 'null'
          description: >-
            Word boundaries in seconds from audio start. Empty when timestamps
            were disabled or no timed words were returned; null when
            unavailable, invalid, or historical settings are unknown. Interpret
            with include_timestamps.
          title: Words
        is_final:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            True for an upstream final result, false for a partial result, null
            when historical finality was not recorded.
          title: Is Final
      required:
        - text
        - words
        - is_final
      title: TranscriptionResult
      type: object
    ASRAsyncASRWordTimestamp:
      description: Estimated word boundaries in seconds from the start of session audio.
      properties:
        text:
          title: Text
          type: string
        start:
          minimum: 0
          title: Start
          type: number
        end:
          minimum: 0
          title: End
          type: number
      required:
        - text
        - start
        - end
      title: ASRWordTimestamp
      type: object
  responses:
    Unauthorized:
      description: Authentication failed. The API key is missing, invalid, or expired.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            missing:
              summary: No credentials provided
              value:
                statusCode: 401
                error: UnauthorizedException
                message: No API key or user credentials provided
            invalid:
              summary: Invalid or unknown API key
              value:
                statusCode: 401
                error: UnauthorizedException
                message: Invalid API Key or user credentials
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: chariotai-api-key
      description: >-
        Your Chariot API key, generated from the dashboard. Send it in the
        `chariotai-api-key` header on every request.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.