ChatMessages
Returns one row per message for the specified chat. Specify ClaudeChatId to return messages for a specific chat, or omit it to retrieve messages across all chats returned by Chats.
View-Specific Information
Select
When ClaudeChatId is omitted, the add-in obtains chat Ids from Chats and issues one messages request for each chat automatically. UpdatedAt and DeletedAt are chat-level timestamps returned at the response root and repeated on every message row. DeletedAt reports deletion of the owning chat, because the API does not report deletion per message. Content, Files, GeneratedFiles, and Artifacts are per-message JSON aggregates. Use the GetChatMessage* procedures for flattened child rows.
The add-in uses Claude Compliance API to process WHERE clause conditions built with the following columns and operators server-side. The rest of the filter is processed client-side within the add-in.
Sorting, grouping, and offsets are processed client-side within the add-in. When the add-in processes an ORDER BY after retrieval, it also applies LIMIT after retrieval. Use the MessageOrder input to have the API return messages newest-first.
| Column | Supported Operators |
| ClaudeChatId | = |
| CreatedAt, UpdatedAt | >, >=, <, <= |
| MessageOrder | = |
| ToolResultMaxChars | = |
| ToolUseInputMaxChars | = |
- LIMIT
SELECT Id, Role, Content FROM ChatMessages WHERE ClaudeChatId = 'claude_chat_123' AND CreatedAt >= '2026-01-01T00:00:00Z' LIMIT 100;
SELECT Id, Content FROM ChatMessages WHERE ClaudeChatId = 'claude_chat_123' AND MessageOrder = 'desc' AND ToolResultMaxChars = 1000 LIMIT 50;
SELECT Id, ClaudeChatId, Role FROM ChatMessages LIMIT 100;
Columns
| Name | Type | Description |
| Id [KEY] | String | The unique identifier of the message. |
| ClaudeChatId | String | The Id of the chat that owns the message. When omitted, the provider sources ids from Chats automatically. |
| Role | String | The role of the message author (user or assistant). |
| CreatedAt | Datetime | The creation timestamp of the message. Filterable server-side with range operators. |
| UpdatedAt | Datetime | The chat last-update timestamp returned at the response root and repeated on each message row. Filterable server-side with updated_at range operators. |
| DeletedAt | Datetime | The soft-deletion timestamp of the owning chat, or null when the chat has not been deleted. The API reports deletion on the chat rather than on individual messages, so every message row of a deleted chat repeats this value. |
| Content | String | The ordered text, tool-use, and tool-result content blocks as a JSON array string. |
| Files | String | The uploaded-file objects attached to this message as a JSON array. |
| GeneratedFiles | String | The generated-file objects attached to this message as a JSON array. |
| Artifacts | String | The artifact objects attached to this message as a JSON array. |
Pseudocolumns
Pseudocolumn fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.
| Name | Type | Description |
| MessageOrder | String | The message sort direction: asc (default) or desc. |
| ToolResultMaxChars | Integer | Maximum characters per tool-result text item; use -1 to request the full value. |
| ToolUseInputMaxChars | Integer | Maximum characters of JSON-encoded tool input; use -1 to request the full value. |