---
title: Get Punctuated Transcripts
slug: tutorials/get-punctuated-transcripts
description: Learn how to retrieve detailed audio transcripts with timings, confidence scores, and speaker labels. Get code examples for making GET requests to the endpoint and understand the JSON responses. Explore the response schema and understand the various eleme
docTags: 
createdAt: 2022-06-27T12:29:32.000Z
---

# <font color="#3694fc">//  </font>Overview&#x20;

Leveraging the unique **`interactionIdentifier`** provided upon successfully [declaring an audio interaction](docId\:PqLj1vqO7gTf0iqj1LBVN), the **Punctuated Transcript endpoint&#x20;**&#x6C;ets you instantly retrieve a detailed **sentence-by-sentence transcript** with **precise timings**, **[confidence scores](docId\:ZATcqMNsVApZs9WWKgeCn)**, and [speaker labels](https://docs.elevateai.com/transcription-features#fDLGr).

When this <font color="#2166ae">`GET`</font> request successfully executes, an HTTP status will be returned to indicate the request was successful, along with a **`JSON`** response providing [detailed transcription output](https://docs.elevateai.com/tutorials/get-punctuated-transcript#jwy9_). &#x20;


:::CodeblockTabs
Sample API Response (Truncated)

```json
{
    "sentenceSegments": [
        {
        "participant": "participantOne",
        "startTimeOffset": 1410,
        "endTimeOffset": 3210,
        "phrase": "Thank you for calling America phone service.",
        "score": 0.99137425
        },
        {
        "participant": "participantOne",
        "startTimeOffset": 3210,
        "endTimeOffset": 5570,
        "phrase": "This is Adam speaking, how may I be of service.",
        "score": 0.99325925
        },
        ...
    ],
    "redactionSegments": [
        {
        "startTimeOffset": 24650,
        "endTimeOffset": 27530,
        "result": "CVV",
        "score": 0
        },
        ...
    ]
}
```
:::

If an error occurs when requesting to declare the interaction, a standard HTTP status will be retuned to indicate the request was unsuccessful, along with a JSON response containing additional details to [assist with troubleshooting](https://docs.elevateai.com/#Qofti).&#x20;

***

# <font color="#3694fc">//  </font>Request Parameters & Code Examples

:::ApiMethodV2
```json
{
  "tab": "examples",
  "url": "https://api.elevateai.com/v1/interactions/{interactionIdentifier}/transcripts/punctuated",
  "name": "Retrieve a Punctuated Transcript",
  "method": "GET",
  "request": {
    "pathParameters": [
      {
        "kind": "required",
        "name": "interactionIdentifier",
        "type": "string",
        "description": "interactionIdentifier (GUID) returned upon successfully declaring the interaction"
      }
    ],
    "queryParameters": [],
    "headerParameters": [
      {
        "kind": "required",
        "name": "X-API-Token",
        "type": "string",
        "description": "Valid API key associated with your account for authentication and usage tracking"
      },
      {
        "kind": "optional",
        "name": "Accept-Encoding",
        "type": "string",
        "description": "Recommended for bandwidth optimization, will be 'gzip, deflate, br'"
      }
    ],
    "bodyDataParameters": [],
    "formDataParameters": []
  },
  "results": {
    "languages": [
      {
        "id": "WoV_v6SkqlwseAvEf84vd",
        "code": "{\n\t\"sentenceSegments\": [{\n\t\t\"participant\": \"string\",\n\t\t\"startTimeOffset\": \"number\",\n\t\t\"endTimeOffset\": \"number\",\n\t\t\"phrase\": \"string\",\n\t\t\"score\": \"number\"\n\t}],\n\t\"redactionSegments\": [{\n\t\t\"startTimeOffset\": \"number\",\n\t\t\"endTimeOffset\": \"number\",\n\t\t\"result\": \"string\",\n\t\t\"score\": \"number\"\n\t}]\n}",
        "language": "200",
        "customLabel": ""
      },
      {
        "id": "uG7elQBVG6NZ1glvFtnZE",
        "code": "{\n  \"StatusCode\": HttpStatusCode\n}",
        "language": "204",
        "customLabel": ""
      },
      {
        "id": "ypTHsXrC_k8R4z-Ys8dYF",
        "code": "{\n  \"errorMessage\": \"string\"\n}",
        "language": "401",
        "customLabel": ""
      },
      {
        "id": "cnnwSSw8RcAbNP3VrVM75",
        "code": "{\r\n  \"errorMessage\": \"string\"\r\n}",
        "language": "404",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "uG7elQBVG6NZ1glvFtnZE"
  },
  "examples": {
    "languages": [
      {
        "id": "MVYpOJsoMEDfBIYkyDZMK",
        "code": "curl --location -g --request GET 'https://api.elevateai.com/v1/interactions/{interctionIdentifier}/transcripts/punctuated' \\\n--header 'X-API-Token: {Your API Token}' \\\n--header 'Content-Type: application/json' \\\n--header 'Accept-Encoding: gzip, deflate, br'",
        "language": "curl",
        "customLabel": ""
      },
      {
        "id": "Yv_cHbnQxB5BVb1s8bRAN",
        "code": "var request = require('request');\nvar options = {\n  'method': 'GET',\n  'url': 'https://api.elevateai.com/v1/interactions/{interctionIdentifier}/transcripts/punctuated',\n  'headers': {\n    'X-API-Token': '{Your API Token}',\n    'Content-Type': 'application/json',\n    'Accept-Encoding': 'gzip, deflate, br'\n  }\n};\nrequest(options, function (error, response) {\n  if (error) throw new Error(error);\n  console.log(response.body);\n});\n",
        "language": "nodejs",
        "customLabel": ""
      },
      {
        "id": "xogQAsiE93PggzimhomXf",
        "code": "var myHeaders = new Headers();\nmyHeaders.append(\"X-API-Token\", \"{Your API Token}\");\nmyHeaders.append(\"Content-Type\", \"application/json\");\nmyHeaders.append(\"Accept-Encoding\", \"gzip, deflate, br\");\n\nvar requestOptions = {\n  method: 'GET',\n  headers: myHeaders,\n  redirect: 'follow'\n};\n\nfetch(\"https://api.elevateai.com/v1/interactions/{interctionIdentifier}/transcripts/punctuated\", requestOptions)\n  .then(response => response.text())\n  .then(result => console.log(result))\n  .catch(error => console.log('error', error));",
        "language": "javascript",
        "customLabel": ""
      },
      {
        "id": "SLHOWhviY8Rm3cgZIZYop",
        "code": "import http.client\nimport json\n\nconn = http.client.HTTPSConnection(\"api.elevateai.com\")\npayload = ''\nheaders = {\n  'X-API-Token': '{Your API Token}',\n  'Content-Type': 'application/json',\n  'Accept-Encoding': 'gzip, deflate, br'\n}\nconn.request(\"GET\", \"/v1/interactions/{interctionIdentifier}/transcripts/punctuated\", payload, headers)\nres = conn.getresponse()\ndata = res.read()\nprint(data.decode(\"utf-8\"))",
        "language": "python",
        "customLabel": ""
      },
      {
        "id": "mWbL7QxK3ml-noTTiHIXq",
        "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.elevateai.com/v1/interactions/{interctionIdentifier}/transcripts/punctuated\")\n\nhttps = Net::HTTP.new(url.host, url.port)\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"X-API-Token\"] = \"{Your API Token}\"\nrequest[\"Content-Type\"] = \"application/json\"\nrequest[\"Accept-Encoding\"] = \"gzip, deflate, br\"\n\nresponse = https.request(request)\nputs response.read_body\n",
        "language": "ruby",
        "customLabel": ""
      },
      {
        "id": "fayD9QeAjkdhUfWarB0g0",
        "code": "var client = new RestClient(\"https://api.elevateai.com/v1/interactions/{interctionIdentifier}/transcripts/punctuated\");\r\nclient.Timeout = -1;\r\nvar request = new RestRequest(Method.GET);\r\nrequest.AddHeader(\"X-API-Token\", \"{Your API Token}\");\r\nrequest.AddHeader(\"Content-Type\", \"application/json\");\r\nrequest.AddHeader(\"Accept-Encoding\", \"gzip, deflate, br\");\r\nIRestResponse response = client.Execute(request);\r\nConsole.WriteLine(response.Content);",
        "language": "csharp",
        "customLabel": ""
      },
      {
        "id": "YH0EJy8yAZOgvvyK8gysd",
        "code": "<?php\r\n\r\n$curl = curl_init();\r\n\r\ncurl_setopt_array($curl, array(\r\n  CURLOPT_URL => 'https://api.elevateai.com/v1/interactions/%7BinterctionIdentifier%7D/transcripts/punctuated',\r\n  CURLOPT_RETURNTRANSFER => true,\r\n  CURLOPT_ENCODING => '',\r\n  CURLOPT_MAXREDIRS => 10,\r\n  CURLOPT_TIMEOUT => 0,\r\n  CURLOPT_FOLLOWLOCATION => true,\r\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\r\n  CURLOPT_CUSTOMREQUEST => 'GET',\r\n  CURLOPT_HTTPHEADER => array(\r\n    'X-API-Token: {Your API Token}',\r\n    'Content-Type: application/json',\r\n    'Accept-Encoding: gzip, deflate, br'\r\n  ),\r\n));\r\n\r\n$response = curl_exec($curl);\r\n\r\ncurl_close($curl);\r\necho $response;\r\n",
        "language": "php",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "fayD9QeAjkdhUfWarB0g0"
  },
  "description": "Get a transcript by its ID",
  "currentNewParameter": {
    "label": "Header Parameter",
    "value": "headerParameters"
  },
  "autoGeneratedAnchorSlug": "retrieve-a-punctuated-transcript",
  "legacyHash": "TyrXqyWmG8yDYHGurJ0Ex"
}
```
:::

***

# <font color="#3694fc">//  </font>Response Schema

## Schema

| **Element**                           | **Type**         | **Description**                                                                                                                                          |
| ------------------------------------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **sentenceSegments**                  | array of objects | Ordered list of each sentence spoken, excluding redacted phrases                                                                                         |
| sentenceSegments/**participant**      | string           | [Speaker](https://docs.elevateai.com/transcription-features#fDLGr) associated with sentence, will be either **`participantOne`** or **`participantTwo`** |
| sentenceSegments/**startTimeOffset**  | number           | Start time of sentence, in milliseconds                                                                                                                  |
| sentenceSegments/**endTimeOffset**    | number           | End time of sentence, in milliseconds                                                                                                                    |
| sentenceSegments/**phrase**           | string           | Punctuated sentence, with [any redacted segments](https://docs.elevateai.com/transcription-features#kFhYB), represented by "# # # #"                     |
| sentenceSegments/**score**            | float            | Confidence score                                                                                                                                         |
| **redactionSegments**                 | array of objects | List of details associated with each redacted segment                                                                                                    |
| redactionSegments/**startTimeOffset** | number           | Start time of redacted phrase, in milliseconds                                                                                                           |
| redactionSegments/**endTimeOffset**   | number           | End time of redacted phrase, in milliseconds                                                                                                             |
| redactionSegments/**result**          | string           | Reason for redaction, will be **`CVV`**, **`Credit Card`**, or **`Social Security`**                                                                     |
| redactionSegments/**score**           | float            | Confidence score                                                                                                                                         |



**Need more help?&#x20;**&#x43;ontact the [ElevateAI Support team](mailto\:support@elevateai.com). &#x20;
