Retrieves transcript messages for a given interaction or workflow session by its ID.
The {interactionId} parameter accepts either an interactionId or a workflow session ID.
Returns a sanitized subset of message fields appropriate for transcript display. Internal and sensitive fields are excluded from the response.
Note on the message field: In the GET response, message is an array of content objects (e.g. [{"type":"text","text":"Hello","isTextOnlyEmojis":false}]). This differs from the POST request body where message is a plain string. Be aware of this type difference when building integrations.
Note on createdAt format: The createdAt field in responses uses the format 2026-02-26 16:27:05.124000 (space separator, no T, no timezone), rather than standard ISO 8601. Parse accordingly.
Known issue: If the {interactionId} does not exist, the API currently returns a 500 Internal Server Error (with {"message":"Internal Server Error","errors":[]}) rather than a 404. This is a known behavior pending a server-side fix — treat a 500 response on this endpoint as a potential "not found" condition.
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
- Provide the
interactionIdpath parameter
- 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 and Pagination
The {interactionId} path parameter accepts:
- An interactionId for standard voice or digital interactions (format:
004d01...) - A workflow session ID for
WORKFLOW_SESSIONtype sessions
Use the before and after query parameters with a paginationId or timestamp value to page through large transcript histories. The limit parameter controls how many messages are returned per page.
Important Notes
- Transcript messages are returned in the order they were created.
- The
messagefield in each returned message is an array of content objects, not a plain string. - The
createdAtfield format is2026-02-26 16:27:05.124000— not standard ISO 8601. Parse using a space separator. - For customer authors, a root-level
displayNamefield may be present on the author object in addition to thedetails.displayName. - Messages posted via the Send Transcript Batch endpoint will have
subType: "transcription". - Known issue: A non-existent
interactionIdreturns500instead of404. This is pending a server-side fix.
DOS Protection & Rate Limiting
- Implement retry logic with exponential backoff for transient errors.
- Use pagination parameters (
limit,before,after) to retrieve large transcripts in manageable pages rather than fetching all messages in one call.
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.
