## Get Full Session

`beta.chat.retrieve(strsession_id, ChatRetrieveParams**kwargs)  -> ChatRetrieveResponse`

**get** `/api/v1/chat/{session_id}`

Retrieve a full session by ID, including its event history.

### Parameters

- `session_id: str`

- `organization_id: Optional[str]`

- `project_id: Optional[str]`

### Returns

- `class ChatRetrieveResponse: …`

  Full chat session including its complete event history.

  - `events: List[Event]`

    Ordered list of events that make up the conversation history.

    - `class EventThinkingDeltaEvent: …`

      - `content: str`

      - `type: Optional[Literal["thinking_delta"]]`

        - `"thinking_delta"`

    - `class EventTextDeltaEvent: …`

      - `content: str`

      - `type: Optional[Literal["text_delta"]]`

        - `"text_delta"`

    - `class EventThinkingEvent: …`

      - `content: str`

      - `type: Optional[Literal["thinking"]]`

        - `"thinking"`

    - `class EventTextEvent: …`

      - `content: str`

      - `type: Optional[Literal["text"]]`

        - `"text"`

    - `class EventToolCallEvent: …`

      - `arguments: Dict[str, object]`

      - `call_id: str`

      - `name: str`

      - `type: Optional[Literal["tool_call"]]`

        - `"tool_call"`

    - `class EventToolResultEvent: …`

      - `call_id: str`

      - `name: str`

      - `result: object`

      - `image_attachment: Optional[EventToolResultEventImageAttachment]`

        Coordinates for lazily resolving a page screenshot presigned URL.

        - `attachment_name: str`

        - `source_id: str`

      - `type: Optional[Literal["tool_result"]]`

        - `"tool_result"`

    - `class EventStopEvent: …`

      - `error: Optional[str]`

      - `is_error: bool`

      - `usage: EventStopEventUsage`

        - `duration_ms: Optional[float]`

        - `total_input_tokens: Optional[int]`

        - `total_output_tokens: Optional[int]`

        - `turns: Optional[int]`

      - `type: Optional[Literal["stop"]]`

        - `"stop"`

    - `class EventUserInputEvent: …`

      - `content: str`

      - `type: Optional[Literal["user_input"]]`

        - `"user_input"`

  - `last_updated_at: str`

    ISO-format timestamp showing when the session was last updated.

  - `session_id: str`

    Unique session identifier.

  - `generated_title: Optional[str]`

    Auto-generated title derived from the first user message.

  - `index_ids: Optional[List[str]]`

    Indexes this session is bound to. Null on unbound sessions.

  - `job_metadata: Optional[JobMetadata]`

    Token usage and status from the most recent run. Null if the session has not been run yet.

    - `duration_ms: Optional[float]`

    - `error: Optional[str]`

    - `export_config_ids: Optional[List[str]]`

    - `is_error: Optional[bool]`

    - `total_input_tokens: Optional[int]`

    - `total_output_tokens: Optional[int]`

    - `turns: Optional[int]`

### Example

```python
import os
from llama_cloud import LlamaCloud

client = LlamaCloud(
    api_key=os.environ.get("LLAMA_CLOUD_API_KEY"),  # This is the default and can be omitted
)
chat = client.beta.chat.retrieve(
    session_id="session_id",
)
print(chat.session_id)
```

#### Response

```json
{
  "events": [
    {
      "content": "content",
      "type": "thinking_delta"
    }
  ],
  "last_updated_at": "2026-04-22T12:34:41.342245",
  "session_id": "ses-abc123",
  "generated_title": "What were the main findings in Q3?...",
  "index_ids": [
    "idx-abc123",
    "idx-def456"
  ],
  "job_metadata": {
    "duration_ms": 0,
    "error": "error",
    "export_config_ids": [
      "string"
    ],
    "is_error": true,
    "total_input_tokens": 0,
    "total_output_tokens": 0,
    "turns": 0
  }
}
```
