## Get Session Summary `client.Beta.Chat.GetSummary(ctx, sessionID, query) (*BetaChatGetSummaryResponse, error)` **get** `/api/v1/chat/{session_id}/summary` Retrieve a session summary by ID. ### Parameters - `sessionID string` - `query BetaChatGetSummaryParams` - `OrganizationID param.Field[string]` - `ProjectID param.Field[string]` ### Returns - `type BetaChatGetSummaryResponse struct{…}` Summary of a chat session, including its title and last run metadata. - `LastUpdatedAt string` ISO-format timestamp showing when the session was last updated. - `SessionID string` Unique session identifier. - `GeneratedTitle string` Auto-generated title derived from the first user message. - `IndexIDs []string` Indexes this session is bound to. Null on unbound sessions. - `JobMetadata BetaChatGetSummaryResponseJobMetadata` Token usage and status from the most recent run. Null if the session has not been run yet. - `DurationMs float64` - `Error string` - `ExportConfigIDs []string` - `IsError bool` - `TotalInputTokens int64` - `TotalOutputTokens int64` - `Turns int64` ### Example ```go package main import ( "context" "fmt" "github.com/run-llama/llama-parse-go" "github.com/run-llama/llama-parse-go/option" ) func main() { client := llamacloudprod.NewClient( option.WithAPIKey("My API Key"), ) response, err := client.Beta.Chat.GetSummary( context.TODO(), "session_id", llamacloudprod.BetaChatGetSummaryParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.SessionID) } ``` #### Response ```json { "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 } } ```