Submits a batch of transcript messages for a given interaction or workflow session.
The {id} path parameter accepts either an interactionId or a workflow session ID.
Each message in the batch is processed sequentially. The response contains a summary of successful and failed messages. Partial success is possible — some messages may succeed while others fail.
Note on the message field: In the POST request body, message is a plain string (the text of the transcript). In the GET response, the same field name returns an array of content objects (e.g. [{"type":"text","text":"...","isTextOnlyEmojis":false}]). Be aware of this type difference when building integrations.
Author email resolution: If author.type is user and author.id is an email address, the API automatically resolves it to the corresponding userId for the account (best-effort — original author.id is used if resolution fails).
410 Gone is returned when the workflow session is found but has already ended.
Finding Your Customer Subdomain
Your subdomain is found in your Avaya Infinity portal URL and is required for all API calls.
Example: If your portal URL is:
https://core.avaya1234.ec.avayacloud.com/app/core-config-ui/
Your subdomain is: avaya1234
To use this API:
- Find your subdomain from your Infinity portal URL (as shown above)
- Get your Bearer token using your provisioned client credential (see Authentication below)
- In the API explorer on the right:
- Click on
{customerId}in the URL field and replace it with your actual subdomain - Paste your Bearer token in the Credentials section
- Fill out the request body with your message batch
- Click on
Authentication
This endpoint requires a valid OAuth 2.0 Bearer token. To get started, contact Avaya Support to request a client_id and client_secret provisioned with the TRANSCRIPT scope.
Once you have your credentials, generate an access token and include it in the Authorization: Bearer <token> header of each request.
Working with Interaction IDs
The {id} path parameter accepts:
- An interactionId for standard voice or digital interactions (format:
004d01...) - A workflow session ID for
WORKFLOW_SESSIONtype sessions
Use whichever ID corresponds to the interaction context you are writing transcripts for.
Important Notes
- Both
messagesarray andauthor.typeare required. All other fields are optional. - Omitting
directiondefaults toin(inbound). OmittingcreatedAtdefaults to server time. - Partial success is normal — inspect
failedanderrorsin the response even on a200. - If
author.typeisuserandauthor.idis an email, the API attempts to resolve it to the account'suserId. If resolution fails, the originalauthor.idis preserved. - A
410 Goneresponse indicates the workflow session exists but has already ended — no new messages can be added. - Validation errors return
422 Unprocessable Entity, not400. Each error object includestype,value,msg,path, andlocation.
DOS Protection & Rate Limiting
- Implement retry logic with exponential backoff if you encounter rate limit errors.
- Avoid sending large batches in tight loops — space requests appropriately.
Security Implementation Guidelines
- Never expose your
client_secretor Bearer token to client-side applications. - Implement proper error handling — avoid surfacing internal error details to end users.
