---
title: "Get Text Session"
method: GET
path: "/api/v1/text-ai/text-sessions/{session_id}"
tags: ["text-ai", "text_sessions"]
deprecated: true
---

# Get Text Session

`GET /api/v1/text-ai/text-sessions/{session_id}`

> **Deprecated.**

Get a text session with its full message history.

## Path parameters

- `session_id` string, uuid, required

## Response `200`

Successful Response

- TextSessionOperatorRead — Operator-console view of a session — ``TextSessionRead`` without the widget ``session_token``. ``session_token`` is the credential the PUBLIC widget API authenticates on (``verify_session_token``): a holder can read the session and act as the visitor. It rides on ``TextSessionRead`` because that is the widget's own working type, but the operator detail endpoint (``GET /text-sessions/{id}``) must not hand it to a console user — otherwise the VIEW_TRANSCRIPTS redaction is defeated by simply replaying the token against the widget API. Overriding the field with ``exclude=True`` drops it from every response, and ``SkipJsonSchema`` drops it from the generated OpenAPI type so the client never expects it.
  - `id` string, uuid, required
  - `tenant_id` string, uuid, required
  - `text_agent_id` string, uuid, nullable, required
  - `text_widget_group_id` string, uuid, nullable, required
  - `status` string, required
  - `visitor_name` string, nullable, required
  - `visitor_email` string, nullable, required
  - `visitor_phone` string, nullable, required
  - `customer_profile_id` string, uuid, nullable, required
  - `langgraph_thread_id` string, nullable, required
  - `summary` string, nullable, required
  - `message_count` integer, required
  - `started_at` string, date-time, nullable, required
  - `ended_at` string, date-time, nullable, required
  - `customer_context` object, nullable, required
  - `session_metadata` object, nullable, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `messages` TextMessageRead[]
    - `id` string, uuid, required
    - `tenant_id` string, uuid, required
    - `text_session_id` string, uuid, required
    - `role` string, required
    - `content` string, nullable, required
    - `tool_calls` object[], nullable, required
    - `attachments` object[], nullable
    - `tokens_used` integer, nullable, required
    - `sequence` integer, required
  - `handoff_status` string, nullable, required
  - `handoff_provider` string, nullable, required
  - `handoff_metadata` object, nullable, required
  - `handed_off_at` string, date-time, nullable, required
  - `is_new` boolean, required
  - `email_verified` boolean, required
  - `review_status` string, required
  - `booking_made` boolean, nullable
  - `booking_value_cents` integer, nullable
  - `outcome_agent_ref` string, nullable
  - `booking_outcome_set_by_user_id` string, uuid, nullable
  - `booking_outcome_set_at` string, date-time, nullable
  - `primary_property_id` string, uuid, nullable

## Other responses

- `403` — Missing the required permission for call logs
- `404` — Text session not found
- `422` — Validation Error

---

[API](https://skmtc.dev/getanana/apis/cleon-api.md) · [All operations](https://skmtc.dev/getanana/apis/cleon-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/getanana/cleon-api/revisions/c0f54348e251/schema)
