Twilio Transcripts API

The Transcripts API from Twilio — 6 operation(s) for transcripts.

Operations 8

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /v2/Transcripts/{Sid}/Media Get download links for a transcript's recording · Fetch media #
Ask an LLM
“Where can I download the audio behind a Voice Intelligence transcript?”
“Can I get the PII-redacted version of a transcript's media?”
Tell an agent
Get the media download URL for transcript {transcript}.
Fetch the media of transcript {transcript} with redaction set to {redacted}.
GET /v2/Transcripts/{TranscriptSid}/OperatorResults List all language-operator results for a transcript · List operator result #
Ask an LLM
“What did all the language understanding operators find in one transcript?”
“Can I see sentiment, summaries and extractions for a call transcript together?”
Tell an agent
List every operator result for transcript {transcript}.
Show the unredacted operator results for transcript {transcript}, redacted={redacted}.
GET /v2/Transcripts/{TranscriptSid}/OperatorResults/{OperatorSid} Get one operator's result for a transcript · Fetch operator result #
Ask an LLM
“What did one specific operator, like my custom classifier, return for a transcript?”
“Can I pull just a single operator's output rather than all of them?”
Tell an agent
Get the result of operator {operator} on transcript {transcript}.
Show operator {operator}'s output for transcript {transcript} with redaction {redacted}.
GET /v2/Transcripts/{TranscriptSid}/Sentences Read the sentences of a transcript · List sentence #
Ask an LLM
“How do I get the actual text of a call, sentence by sentence?”
“Can I read the transcript with personal information redacted?”
Tell an agent
List the sentences in transcript {transcript}.
Show transcript {transcript}'s sentences with redaction set to {redacted}.
POST /v2/Transcripts Transcribe a recording into a new transcript · Create transcript #
Ask an LLM
“How do I send a call recording to Twilio Voice Intelligence for transcription?”
“Can I attach my own reference ID to a transcript when I create it?”
Tell an agent
Create a transcript in service {service} for media channel {channel}.
Transcribe channel {channel} in service {service} tagged with customer key {key}.
GET /v2/Transcripts Search transcripts in a Voice Intelligence service · List transcript #
Ask an LLM
“Which transcripts has my Voice Intelligence service produced this week?”
“Can I filter transcripts by status or language?”
Tell an agent
List transcripts for service {service}.
Show transcripts with status {status} created after {after}.
GET /v2/Transcripts/{Sid} Look up one transcript · Fetch transcript #
Ask an LLM
“What is the processing status of a single transcript?”
“Can I see the language and duration recorded for one transcript?”
Tell an agent
Show me transcript {transcript}.
Check whether transcript {transcript} has finished processing.
DELETE /v2/Transcripts/{Sid} Delete a transcript · Delete transcript #
Ask an LLM
“How do I permanently delete a call transcript for privacy reasons?”
“Can I remove a transcript once I no longer need it?”
Tell an agent destructive · confirm first
Delete transcript {transcript}.
Permanently remove the transcript {transcript} and its data.

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/twilio-transcripts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

twilio-transcripts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Twilio - Intelligence Transcripts API
  description: This is the public Twilio REST API.
  termsOfService: https://www.twilio.com/legal/tos
  contact:
    name: Twilio Support
    url: https://support.twilio.com
    email: support@twilio.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  version: 1.52.0
servers:
- url: https://intelligence.twilio.com
tags:
- name: Transcripts
paths:
  /v2/Transcripts/{Sid}/Media:
    servers:
    - url: https://intelligence.twilio.com
    description: 'TODO: Resource-level docs'
    x-twilio:
      defaultOutputProperties:
      - account_sid
      - service_sid
      - sid
      pathType: instance
      parent: /Transcripts/{Sid}
    get:
      description: Get download URLs for media if possible
      tags:
      - Transcripts
      parameters:
      - name: Sid
        in: path
        description: The unique SID identifier of the Transcript.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^GT[0-9a-fA-F]{32}$
        required: true
      - name: Redacted
        in: query
        description: Grant access to PII Redacted/Unredacted Media. If redaction is enabled, the default is `true` to access redacted media.
        schema:
          type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/intelligence.v2.transcript.media'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: FetchMedia
      x-maturity:
      - Beta
      summary: Fetch media
      x-summary-source: derived
  /v2/Transcripts/{TranscriptSid}/OperatorResults:
    servers:
    - url: https://intelligence.twilio.com
    description: 'TODO: Resource-level docs'
    x-twilio:
      defaultOutputProperties:
      - operator_sid
      pathType: list
      parent: /Transcripts/{Sid}
    get:
      description: Retrieve a list of Operator Results for the given Transcript.
      tags:
      - Transcripts
      parameters:
      - name: TranscriptSid
        in: path
        description: A 34 character string that uniquely identifies this Transcript.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^GT[0-9a-fA-F]{32}$
        required: true
      - name: Redacted
        in: query
        description: Grant access to PII redacted/unredacted Language Understanding operator. If redaction is enabled, the default is True.
        schema:
          type: boolean
      - name: PageSize
        in: query
        description: How many resources to return in each list page. The default is 50, and the maximum is 1000.
        schema:
          type: integer
          minimum: 1
          maximum: 1000
      - name: Page
        in: query
        description: The page index. This value is simply for client state.
        schema:
          type: integer
          minimum: 0
      - name: PageToken
        in: query
        description: The page token. This is provided by the API.
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOperatorResultResponse'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: ListOperatorResult
      x-maturity:
      - Beta
      summary: List operator result
      x-summary-source: derived
  /v2/Transcripts/{TranscriptSid}/OperatorResults/{OperatorSid}:
    servers:
    - url: https://intelligence.twilio.com
    description: 'TODO: Resource-level docs'
    x-twilio:
      defaultOutputProperties:
      - operator_sid
      pathType: instance
      parent: /Transcripts/{Sid}
    get:
      description: Fetch a specific Operator Result for the given Transcript.
      tags:
      - Transcripts
      parameters:
      - name: TranscriptSid
        in: path
        description: A 34 character string that uniquely identifies this Transcript.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^GT[0-9a-fA-F]{32}$
        required: true
      - name: OperatorSid
        in: path
        description: A 34 character string that identifies this Language Understanding operator sid.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^LY[0-9a-fA-F]{32}$
        required: true
      - name: Redacted
        in: query
        description: Grant access to PII redacted/unredacted Language Understanding operator. If redaction is enabled, the default is True.
        schema:
          type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/intelligence.v2.transcript.operator_result'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: FetchOperatorResult
      x-maturity:
      - Beta
      summary: Fetch operator result
      x-summary-source: derived
  /v2/Transcripts/{TranscriptSid}/Sentences:
    servers:
    - url: https://intelligence.twilio.com
    description: 'TODO: Resource-level docs'
    x-twilio:
      defaultOutputProperties:
      - sid
      - media_channel
      - sentence_index
      - transcript
      - start_time
      - end_time
      - confidence
      pathType: list
      parent: /Transcripts/{Sid}
    get:
      description: Get all Transcript Sentences by TranscriptSid
      tags:
      - Transcripts
      parameters:
      - name: TranscriptSid
        in: path
        description: The unique SID identifier of the Transcript.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^GT[0-9a-fA-F]{32}$
        required: true
      - name: Redacted
        in: query
        description: Grant access to PII Redacted/Unredacted Sentences. If redaction is enabled, the default is `true` to access redacted sentences.
        schema:
          type: boolean
      - name: PageSize
        in: query
        description: How many resources to return in each list page. The default is 50, and the maximum is 1000.
        schema:
          type: integer
          minimum: 1
          maximum: 1000
      - name: Page
        in: query
        description: The page index. This value is simply for client state.
        schema:
          type: integer
          minimum: 0
      - name: PageToken
        in: query
        description: The page token. This is provided by the API.
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListSentenceResponse'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: ListSentence
      x-maturity:
      - Beta
      summary: List sentence
      x-summary-source: derived
  /v2/Transcripts:
    servers:
    - url: https://intelligence.twilio.com
    description: 'TODO: Resource-level docs'
    x-twilio:
      defaultOutputProperties:
      - sid
      - date_created
      - media_start_time
      - duration
      - status
      pathType: list
      dependentProperties:
        sentences:
          mapping:
            transcript_sid: sid
          resource_url: /v2/Transcripts/{transcript_sid}/Sentences
        media:
          mapping:
            sid: sid
          resource_url: /v2None
        operator_results:
          mapping:
            transcript_sid: sid
          resource_url: /v2/Transcripts/{transcript_sid}/OperatorResults
    post:
      description: Create a new Transcript for the service
      tags:
      - Transcripts
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/intelligence.v2.transcript'
          description: Accepted
      security:
      - accountSid_authToken: []
      operationId: CreateTranscript
      x-maturity:
      - Beta
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateTranscriptRequest'
      summary: Create transcript
      x-summary-source: derived
    get:
      description: Retrieve a list of Transcripts for a given service.
      tags:
      - Transcripts
      parameters:
      - name: ServiceSid
        in: query
        description: The unique SID identifier of the Service.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^GA[0-9a-fA-F]{32}$
      - name: BeforeStartTime
        in: query
        description: Filter by before StartTime.
        schema:
          type: string
      - name: AfterStartTime
        in: query
        description: Filter by after StartTime.
        schema:
          type: string
      - name: BeforeDateCreated
        in: query
        description: Filter by before DateCreated.
        schema:
          type: string
      - name: AfterDateCreated
        in: query
        description: Filter by after DateCreated.
        schema:
          type: string
      - name: Status
        in: query
        description: Filter by status.
        schema:
          type: string
      - name: LanguageCode
        in: query
        description: Filter by Language Code.
        schema:
          type: string
      - name: SourceSid
        in: query
        description: Filter by SourceSid.
        schema:
          type: string
      - name: PageSize
        in: query
        description: How many resources to return in each list page. The default is 50, and the maximum is 1000.
        schema:
          type: integer
          minimum: 1
          maximum: 1000
      - name: Page
        in: query
        description: The page index. This value is simply for client state.
        schema:
          type: integer
          minimum: 0
      - name: PageToken
        in: query
        description: The page token. This is provided by the API.
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTranscriptResponse'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: ListTranscript
      x-maturity:
      - Beta
      summary: List transcript
      x-summary-source: derived
  /v2/Transcripts/{Sid}:
    servers:
    - url: https://intelligence.twilio.com
    description: 'TODO: Resource-level docs'
    x-twilio:
      defaultOutputProperties:
      - sid
      - date_created
      - media_start_time
      - duration
      - status
      pathType: instance
      dependentProperties:
        sentences:
          mapping:
            transcript_sid: sid
          resource_url: /v2/Transcripts/{transcript_sid}/Sentences
        media:
          mapping:
            sid: sid
          resource_url: /v2None
        operator_results:
          mapping:
            transcript_sid: sid
          resource_url: /v2/Transcripts/{transcript_sid}/OperatorResults
    get:
      description: Fetch a specific Transcript.
      tags:
      - Transcripts
      parameters:
      - name: Sid
        in: path
        description: A 34 character string that uniquely identifies this Transcript.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^GT[0-9a-fA-F]{32}$
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/intelligence.v2.transcript'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: FetchTranscript
      x-maturity:
      - Beta
      summary: Fetch transcript
      x-summary-source: derived
    delete:
      description: Delete a specific Transcript.
      tags:
      - Transcripts
      parameters:
      - name: Sid
        in: path
        description: A 34 character string that uniquely identifies this Transcript.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^GT[0-9a-fA-F]{32}$
        required: true
      responses:
        '204':
          description: The resource was deleted successfully.
      security:
      - accountSid_authToken: []
      operationId: DeleteTranscript
      x-maturity:
      - Beta
      summary: Delete transcript
      x-summary-source: derived
components:
  schemas:
    intelligence.v2.transcript.operator_result:
      type: object
      properties:
        operator_type:
          type:
          - string
          - 'null'
          $ref: '#/components/schemas/operator_result_enum_operator_type'
          description: The type of the applied Language Understanding Operator. One of conversation-classify, utterance-classify, extract, extract-normalize, or pii-extract
        name:
          type:
          - string
          - 'null'
          description: The name of the applied Language Understanding.
        operator_sid:
          type:
          - string
          - 'null'
          minLength: 34
          maxLength: 34
          pattern: ^LY[0-9a-fA-F]{32}$
          description: A 34 character string that identifies this Language Understanding operator sid.
        extract_match:
          type:
          - boolean
          - 'null'
          description: Boolean to tell if extract Language Understanding Processing model matches results.
        match_probability:
          type:
          - number
          - 'null'
          description: Percentage of 'matching' class needed to consider a sentence matches
        normalized_result:
          type:
          - string
          - 'null'
          description: Normalized output of extraction stage which matches Label.
        utterance_results:
          type:
          - array
          - 'null'
          items: {}
          description: List of mapped utterance object which matches sentences.
        utterance_match:
          type:
          - boolean
          - 'null'
          description: Boolean to tell if Utterance matches results.
        predicted_label:
          type:
          - string
          - 'null'
          description: The 'matching' class. This might be available on conversation classify model outputs.
        predicted_probability:
          type:
          - number
          - 'null'
          description: Percentage of 'matching' class needed to consider a sentence matches.
        label_probabilities:
          description: The labels probabilities. This might be available on conversation classify model outputs.
        extract_results:
          description: List of text extraction results. This might be available on classify-extract model outputs.
        text_generation_results:
          description: Output of a text generation operator for example Conversation Sumamary.
        transcript_sid:
          type:
          - string
          - 'null'
          minLength: 34
          maxLength: 34
          pattern: ^GT[0-9a-fA-F]{32}$
          description: A 34 character string that uniquely identifies this Transcript.
        url:
          type:
          - string
          - 'null'
          format: uri
          description: The URL of this resource.
    CreateTranscriptRequest:
      type: object
      required:
      - ServiceSid
      - Channel
      properties:
        ServiceSid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^GA[0-9a-fA-F]{32}$
          description: The unique SID identifier of the Service.
        Channel:
          description: JSON object describing Media Channel including Source and Participants
        CustomerKey:
          type: string
          description: Used to store client provided metadata. Maximum of 64 double-byte UTF8 characters.
        MediaStartTime:
          type: string
          format: date-time
          description: The date that this Transcript's media was started, given in ISO 8601 format.
    transcript_enum_status:
      type: string
      enum:
      - queued
      - in-progress
      - completed
      - failed
      - canceled
    operator_result_enum_operator_type:
      type: string
      enum:
      - conversation_classify
      - utterance_classify
      - extract
      - extract_normalize
      - pii_extract
    intelligence.v2.transcript.media:
      type: object
      properties:
        account_sid:
          type:
          - string
          - 'null'
          minLength: 34
          maxLength: 34
          pattern: ^AC[0-9a-fA-F]{32}$
          description: The unique SID identifier of the Account.
        media_url:
          type:
          - string
          - 'null'
          format: uri
          description: Downloadable URL for media, if stored in Twilio AI.
        service_sid:
          type:
          - string
          - 'null'
          minLength: 34
          maxLength: 34
          pattern: ^GA[0-9a-fA-F]{32}$
          description: The unique SID identifier of the Service.
        sid:
          type:
          - string
          - 'null'
          minLength: 34
          maxLength: 34
          pattern: ^GT[0-9a-fA-F]{32}$
          description: The unique SID identifier of the Transcript.
        url:
          type:
          - string
          - 'null'
          format: uri
          description: The URL of this resource.
    intelligence.v2.transcript.sentence:
      type: object
      properties:
        media_channel:
          type:
          - integer
          - 'null'
          description: The channel number.
        sentence_index:
          type:
          - integer
          - 'null'
          description: The index of the sentence in the transcript.
        start_time:
          type:
          - number
          - 'null'
          description: Offset from the beginning of the transcript when this sentence starts.
        end_time:
          type:
          - number
          - 'null'
          description: Offset from the beginning of the transcript when this sentence ends.
        transcript:
          type:
          - string
          - 'null'
          description: Transcript text.
          x-twilio:
            pii:
              handling: sensitive
              deleteSla: 30
        sid:
          type:
          - string
          - 'null'
          minLength: 34
          maxLength: 34
          pattern: ^GX[0-9a-fA-F]{32}$
          description: A 34 character string that uniquely identifies this Sentence.
        confidence:
          type:
          - number
          - 'null'
    ListOperatorResultResponse:
      type: object
      properties:
        operator_results:
          type: array
          items:
            $ref: '#/components/schemas/intelligence.v2.transcript.operator_result'
        meta:
          type: object
          properties:
            first_page_url:
              type: string
              format: uri
            next_page_url:
              type:
              - string
              - 'null'
              format: uri
            page:
              type: integer
            page_size:
              type: integer
            previous_page_url:
              type:
              - string
              - 'null'
              format: uri
            url:
              type: string
              format: uri
            key:
              type: string
    ListSentenceResponse:
      type: object
      properties:
        sentences:
          type: array
          items:
            $ref: '#/components/schemas/intelligence.v2.transcript.sentence'
        meta:
          type: object
          properties:
            first_page_url:
              type: string
              format: uri
            next_page_url:
              type:
              - string
              - 'null'
              format: uri
            page:
              type: integer
            page_size:
              type: integer
            previous_page_url:
              type:
              - string
              - 'null'
              format: uri
            url:
              type: string
              format: uri
            key:
              type: string
    intelligence.v2.transcript:
      type: object
      properties:
        account_sid:
          type:
          - string
          - 'null'
          minLength: 34
          maxLength: 34
          pattern: ^AC[0-9a-fA-F]{32}$
          description: The unique SID identifier of the Account.
        service_sid:
          type:
          - string
          - 'null'
          minLength: 34
          maxLength: 34
          pattern: ^GA[0-9a-fA-F]{32}$
          description: The unique SID identifier of the Service.
        sid:
          type:
          - string
          - 'null'
          minLength: 34
          maxLength: 34
          pattern: ^GT[0-9a-fA-F]{32}$
          description: A 34 character string that uniquely identifies this Transcript.
        date_created:
          type:
          - string
          - 'null'
          format: date-time
          description: The date that this Transcript was created, given in ISO 8601 format.
        date_updated:
          type:
          - string
          - 'null'
          format: date-time
          description: The date that this Transcript was updated, given in ISO 8601 format.
        status:
          type:
          - string
          - 'null'
          $ref: '#/components/schemas/transcript_enum_status'
          description: The Status of this Transcript. One of `queued`, `in-progress`, `completed`, `failed` or `canceled`.
        channel:
          description: Media Channel describing Transcript Source and Participant Mapping
        data_logging:
          type:
          - boolean
          - 'null'
          description: 'Data logging allows Twilio to improve the quality of the speech recognition & language understanding services through using customer data to refine, fine tune and evaluate machine learning models.

            Note: Data logging cannot be activated via API, only via www.twilio.com, as it requires additional consent.'
        language_code:
          type:
          - string
          - 'null'
          description: The default language code of the audio.
        customer_key:
          type:
          - string
          - 'null'
        media_start_time:
          type:
          - string
          - 'null'
          format: date-time
          description: The date that this Transcript's media was started, given in ISO 8601 format.
        duration:
          type:
          - integer
          - 'null'
          description: The duration of this Transcript's source
        url:
          type:
          - string
          - 'null'
          format: uri
          description: The URL of this resource.
        redaction:
          type:
          - boolean
          - 'null'
          description: If the transcript has been redacted, a redacted alternative of the transcript will be available.
        links:
          type:
          - object
          - 'null'
          format: uri-map
    ListTranscriptResponse:
      type: object
      properties:
        transcripts:
          type: array
          items:
            $ref: '#/components/schemas/intelligence.v2.transcript'
        meta:
          type: object
          properties:
            first_page_url:
              type: string
              format: uri
            next_page_url:
              type:
              - string
              - 'null'
              format: uri
            page:
              type: integer
            page_size:
              type: integer
            previous_page_url:
              type:
              - string
              - 'null'
              format: uri
            url:
              type: string
              format: uri
            key:
              type: string
  securitySchemes:
    accountSid_authToken:
      type: http
      scheme: basic
x-maturity:
- name: Beta
  description: PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution.