ASAPP AutoTranscribe Media Gateway API
Operations for controlling AutoTranscribe Media Gateway transcription and streaming
Operations for controlling AutoTranscribe Media Gateway transcription and streaming
openapi: 3.0.1
info:
title: AutoCompose AutoTranscribe Media Gateway API
description: 'Autocompose API to suggest the next agent message.
Suggestions are based on the conversation history, conversation metadata, and
the in-progress message text the agent has already typed into the composer.
'
version: 0.0.3
servers:
- url: https://api.sandbox.asapp.com
security:
- API-ID: []
API-Secret: []
tags:
- name: AutoTranscribe Media Gateway
description: Operations for controlling AutoTranscribe Media Gateway transcription and streaming
paths:
/mg-autotranscribe/v1/start-streaming:
post:
tags:
- AutoTranscribe Media Gateway
operationId: startStreaming
summary: Start streaming
description: 'This starts the transcription of the audio stream.
Use in conjunction with the [stop-streaming](/apis/media-gateway/stop-streaming-audio) endpoint to control when transcription occurs for a given call. This allow you to prevent transcription of sensitive parts of a conversation, such as entering PCI data.
'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
namespace:
description: The media gateway platform or protocol you are using.
type: string
enum:
- siprec
- twilio
- amazonconnect
- genesysaudiohook
guid:
description: The globally unique Id for the call, also sometimes called Unique Call Id (UCID). Must be in decimal form.
type: string
autotranscribeParams:
type: object
properties:
language:
description: IETF language tag
type: string
default: en-US
detailedToken:
description: 'Determines whether AutoTranscribe outputs word-level details like word content, timestamp and word type
'
type: boolean
default: false
audioRecordingAllowed:
description: 'Determines whether ASAPP may record and store the audio for this conversation for the purposes of model training
'
type: boolean
default: false
redactionOutput:
description: 'Determines whether the transcription output is redacted.
If detailedToken is true, requests with value "redacted" or "redacted_and_unredacted" will be rejected.
If no redaction rules configured by the client for "redacted" or "redacted_and_unredacted", the request will be rejected.
'
type: string
default: redacted
enum:
- redacted
- unredacted
- redacted_and_unredacted
example:
language: en-US
detailedToken: false
audioRecordingAllowed: false
redactionOutput: redacted
siprecParams:
type: object
properties:
mediaLineOrder:
description: 'Defines the mapping of media lines (m-lines) in SDP of SIPREC protocol.
- `CUSTOMER_FIRST` will map top audio m-line to customer side of conversation (usual for inbound calls to call center, default)
- `AGENT_FIRST` will map top audio m-line to agent side of the conversation (usual for outbound calls from call center)
'
type: string
default: CUSTOMER_FIRST
enum:
- CUSTOMER_FIRST
- AGENT_FIRST
twilioParams:
type: object
properties:
trackMap:
type: object
properties:
inbound:
type: string
description: The inbound twilio track
default: customer
enum:
- customer
- agent
outbound:
type: string
description: The outbound twilio track
default: agent
enum:
- customer
- agent
example:
trackMap:
inbound: customer
outbound: agent
amazonConnectParams:
type: object
properties:
streamArn:
type: string
description: Amazon stream arn
startSelectorType:
type: string
description: Identifies the fragment on the Kinesis video stream where you want to start getting the data from
enum:
- NOW
- FRAGMENT_NUMBER
afterFragmentNumber:
type: string
description: Amazon fragment number from where you want to start returning the fragments - mandatory if startSelectorType is FRAGMENT_NUMBER
example:
streamArn: arn:aws:kinesisvideo:us-east-1:000000000000:stream/streamtest-connect-asappconnect-contact-1117e864-690f-4e1e-9dcf-6fbfcc288e41/1654194145007
startSelectorType: FRAGMENT_NUMBER
afterFragmentNumber: '91343852333181476958523476930058290730435475343'
customerId:
description: Id of the customer on the call. Usually taken from Call Center CTI information.
type: string
agentId:
description: The Id of the agent on the call. Usually taken from Call Center CTI information.
type: string
required:
- namespace
- guid
- customerId
- agentId
example:
namespace: siprec
guid: 0867617078-0032318833-2221801472-0002236962
customerId: customerId
agentId: agentId
autotranscribeParams:
language: en-US
siprecParams:
mediaLineOrder: CUSTOMER_FIRST
responses:
'200':
description: Router processed the request, details are in the response body
content:
application/json:
schema:
type: object
properties:
autotranscribeResponse:
type: object
properties:
customer:
type: object
properties:
streamId:
type: string
example: 5ce2b755-3f38-11ed-b755-7aed4b5c38d5
status:
type: object
properties:
code:
type: integer
example: 1000
description:
type: string
example: OK
agent:
type: object
properties:
streamId:
type: string
example: 5ce2b755-3f38-11ed-b755-7aed4b5c38d5
status:
type: object
properties:
code:
type: integer
example: 1000
description:
type: string
example: OK
isOk:
type: boolean
errorMessage:
type: string
example:
isOk: true
autotranscribeResponse:
customer:
streamId: 5ce2b755-3f38-11ed-b755-7aed4b5c38d5
status:
code: 1000
description: OK
agent:
streamId: cf31116-3f38-11ed-9116-7a0a36c763f1
status:
code: 1000
description: OK
'400':
description: 400 - Bad request
content:
application/json:
schema:
description: Bad request response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 400-01
message: Bad request
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'401':
description: 401 - Unauthorized
content:
application/json:
schema:
description: Unauthorized response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 401-01
message: Unauthorized
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'403':
description: 403 - Forbidden
content:
application/json:
schema:
description: Forbidden response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 403-01
message: Forbidden Response
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'404':
description: 404 - Not Found
content:
application/json:
schema:
description: Not Found response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 404-01
message: Not Found
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'409':
description: 409 - Conflict
content:
application/json:
schema:
description: Conflict response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 409-01
message: Conflict
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'413':
description: 413 - Request Entity Too Large
content:
application/json:
schema:
description: Request Entity Too Large response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 413-01
message: Request Entity Too Large
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'422':
description: 422 - Unprocessable Entity
content:
application/json:
schema:
description: Unprocessable Entity response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 422-01
message: Unprocessable Entity
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'429':
description: 429 - Too Many Requests
content:
application/json:
schema:
description: Too Many Requests response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 429-01
message: Too Many Requests
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'503':
description: 503 - Service Unavailable
content:
application/json:
schema:
description: Service Unavailable response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 503-01
message: Service Unavailable
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
default:
description: 500 - Internal Server Error
content:
application/json:
schema:
description: Default error response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 500-01
message: Internal server error
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
/mg-autotranscribe/v1/stop-streaming:
post:
tags:
- AutoTranscribe Media Gateway
operationId: stopStreaming
summary: Stop streaming
description: 'This stops the transcription of the audio stream.
Use in conjunction with the [start-streaming](/apis/media-gateway/start-streaming-audio) endpoint to control when transcription occurs for a given call. This allow you to prevent transcription of sensitive parts of a conversation, such as entering PCI data.
'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
namespace:
description: The media gateway platform or protocol you are using.
type: string
enum:
- siprec
- twilio
- amazonconnect
- genesysaudiohook
guid:
description: The globally unique Id for the call, also sometimes called Unique Call Id (UCID). Must be in decimal form.
type: string
example:
namespace: siprec
guid: 0867617078-0032318833-2221801472-0002236962
responses:
'200':
description: Router processed the request, details are in the response body
content:
application/json:
schema:
type: object
properties:
autotranscribeResponse:
type: object
properties:
customer:
type: object
properties:
streamId:
type: string
example: 5ce2b755-3f38-11ed-b755-7aed4b5c38d5
status:
type: object
properties:
code:
type: integer
example: 1000
description:
type: string
example: OK
summary:
type: object
properties:
totalAudioBytes:
type: integer
audioDurationMs:
type: integer
streamingSeconds:
type: integer
transcripts:
type: integer
example:
totalAudioBytes: 1334720
audioDurationMs: 83420
streamingSeconds: 84
transcripts: 2
agent:
type: object
properties:
streamId:
type: string
example: 5ce2b755-3f38-11ed-b755-7aed4b5c38d5
status:
type: object
properties:
code:
type: integer
example: 1000
description:
type: string
example: OK
summary:
type: object
properties:
totalAudioBytes:
type: integer
audioDurationMs:
type: integer
streamingSeconds:
type: integer
transcripts:
type: integer
example:
totalAudioBytes: 1334720
audioDurationMs: 83420
streamingSeconds: 84
transcripts: 2
isOk:
type: boolean
errorMessage:
type: string
'400':
description: 400 - Bad request
content:
application/json:
schema:
description: Bad request response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 400-01
message: Bad request
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'401':
description: 401 - Unauthorized
content:
application/json:
schema:
description: Unauthorized response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 401-01
message: Unauthorized
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'403':
description: 403 - Forbidden
content:
application/json:
schema:
description: Forbidden response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 403-01
message: Forbidden Response
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'404':
description: 404 - Not Found
content:
application/json:
schema:
description: Not Found response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 404-01
message: Not Found
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'409':
description: 409 - Conflict
content:
application/json:
schema:
description: Conflict response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 409-01
message: Conflict
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'413':
description: 413 - Request Entity Too Large
content:
application/json:
schema:
description: Request Entity Too Large response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 413-01
message: Request Entity Too Large
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'422':
description: 422 - Unprocessable Entity
content:
application/json:
schema:
description: Unprocessable Entity response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 422-01
message: Unprocessable Entity
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'429':
description: 429 - Too Many Requests
content:
application/json:
schema:
description: Too Many Requests response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 429-01
message: Too Many Requests
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'503':
description: 503 - Service Unavailable
content:
application/json:
schema:
description: Service Unavailable response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 503-01
message: Service Unavailable
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
# --- truncated at 32 KB (40 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/asapp/refs/heads/main/openapi/asapp-autotranscribe-media-gateway-api-openapi.yml