---
title: "Tamloot — Get a session transcript"
description: "Get a session transcript: parameters, request examples, and response schemas for GET /v1/sessions/{session_id}/transcript."
canonical: "https://tamloot.cc/en/docs/developers/api-reference/get-session-transcript"
last-updated: "2026-10-18"
---

# Get a session transcript

`GET /v1/sessions/{session_id}/transcript`

Send your API key in the `Authorization: Bearer $TAMLOOT_API_KEY` header. Only data visible to the key owner is accessible.

Based on the published [OpenAPI description](https://tamloot.cc/openapi.json). Schema names and code identifiers are shown exactly as the API defines them.

## Parameters

| Parameter | Location | Required | Type | Constraints |
| --- | --- | --- | --- | --- |
| `session_id` | path | Yes | string (uuid) | — |

## Request examples

```bash
curl "https://api.tamloot.cc/v1/sessions/00000000-0000-4000-8000-000000000000/transcript" \
  --header "Authorization: Bearer $TAMLOOT_API_KEY"
```

```javascript
const response = await fetch("https://api.tamloot.cc/v1/sessions/00000000-0000-4000-8000-000000000000/transcript", {
  headers: { Authorization: `Bearer ${process.env.TAMLOOT_API_KEY}` },
});
if (!response.ok) throw new Error('HTTP ' + response.status);
const result = await response.json();
```

## Responses

| Status | Meaning |
| --- | --- |
| 200 | Successful response |
| 401 | Missing or invalid API key |
| 404 | Record not found or not visible to this account |
| 422 | Invalid request parameters |
| 429 | Rate limit exceeded; wait according to Retry-After |

### Success response schema

```json
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "session_id": {
          "type": "string",
          "format": "uuid"
        },
        "transcript": {
          "type": "string",
          "nullable": true,
          "description": "null when no transcript has been generated yet"
        },
        "recording": {
          "type": "object",
          "nullable": true,
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid"
            },
            "duration_seconds": {
              "type": "number",
              "nullable": true
            },
            "recording_started_at": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "recording_ended_at": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          }
        }
      }
    }
  }
}
```

### Error response schema

```json
{
  "type": "object",
  "required": [
    "error"
  ],
  "properties": {
    "error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "description": "HTTP status code as a string, e.g. \"404\""
        },
        "message": {
          "type": "string"
        }
      }
    }
  }
}
```

### Response headers

```json
{
  "RateLimit-Limit": {
    "description": "Requests allowed per one-second window.",
    "schema": {
      "type": "integer"
    }
  },
  "RateLimit-Policy": {
    "description": "The rate-limit policy, as `<limit>;w=<window seconds>`.",
    "schema": {
      "type": "string"
    }
  }
}
```

See the [quickstart](/en/docs/developers/quickstart) for API key setup and [API overview](/en/docs/developers/api) for rate limits and versioning.

## Where to look next

- [Tamloot](https://tamloot.cc/en)
- [All guides](https://tamloot.cc/en/docs)
- [llms.txt](https://tamloot.cc/docs/llms.txt)
- [Sitemap](https://tamloot.cc/sitemaps/sitemap.xml)
