Threads, REST: Message.List
- HTTP request
- Query parameters
- Response
- Author
- MessageContent
- ContentPart
- Text
- Citation
- Source
- FileChunk
- SearchIndex
- ExpirationConfig
- TextSearchIndex
- ChunkingStrategy
- StaticChunkingStrategy
- NgramTokenizer
- VectorSearchIndex
- HybridSearchIndex
- CombinationStrategy
- MeanCombinationStrategy
- ReciprocalRankFusionCombinationStrategy
- File
- ChunkContent
List messages in a specific thread.
By default, messages are listed in reverse chronological order, i.e., from the newest to the oldest.
HTTP request
GET https://rest-assistant.api.cloud.yandex.net/assistants/v1/messages
Query parameters
Request message for listing messages in a specific thread.
Field |
Description |
threadId |
string Required field. ID of the thread whose messages will be listed. |
Response
HTTP Code: 200 - OK
{
"id": "string",
"threadId": "string",
"createdBy": "string",
"createdAt": "string",
"author": {
"id": "string",
"role": "string"
},
"labels": "object",
"content": {
"content": [
{
// Includes only one of the fields `text`
"text": {
"content": "string"
}
// end of the list of possible fields
}
]
},
"status": "string",
"citations": [
{
"sources": [
{
// Includes only one of the fields `chunk`
"chunk": {
"searchIndex": {
"id": "string",
"folderId": "string",
"name": "string",
"description": "string",
"createdBy": "string",
"createdAt": "string",
"updatedBy": "string",
"updatedAt": "string",
"expirationConfig": {
"expirationPolicy": "string",
"ttlDays": "string"
},
"expiresAt": "string",
"labels": "object",
// Includes only one of the fields `textSearchIndex`, `vectorSearchIndex`, `hybridSearchIndex`
"textSearchIndex": {
"chunkingStrategy": {
// Includes only one of the fields `staticStrategy`
"staticStrategy": {
"maxChunkSizeTokens": "string",
"chunkOverlapTokens": "string"
}
// end of the list of possible fields
},
// Includes only one of the fields `ngramTokenizer`
"ngramTokenizer": {
"minGram": "string",
"maxGram": "string"
}
// end of the list of possible fields
},
"vectorSearchIndex": {
"docEmbedderUri": "string",
"queryEmbedderUri": "string",
"chunkingStrategy": {
// Includes only one of the fields `staticStrategy`
"staticStrategy": {
"maxChunkSizeTokens": "string",
"chunkOverlapTokens": "string"
}
// end of the list of possible fields
}
},
"hybridSearchIndex": {
"textSearchIndex": {
"chunkingStrategy": {
// Includes only one of the fields `staticStrategy`
"staticStrategy": {
"maxChunkSizeTokens": "string",
"chunkOverlapTokens": "string"
}
// end of the list of possible fields
},
// Includes only one of the fields `ngramTokenizer`
"ngramTokenizer": {
"minGram": "string",
"maxGram": "string"
}
// end of the list of possible fields
},
"vectorSearchIndex": {
"docEmbedderUri": "string",
"queryEmbedderUri": "string",
"chunkingStrategy": {
// Includes only one of the fields `staticStrategy`
"staticStrategy": {
"maxChunkSizeTokens": "string",
"chunkOverlapTokens": "string"
}
// end of the list of possible fields
}
},
"chunkingStrategy": {
// Includes only one of the fields `staticStrategy`
"staticStrategy": {
"maxChunkSizeTokens": "string",
"chunkOverlapTokens": "string"
}
// end of the list of possible fields
},
"normalizationStrategy": "string",
"combinationStrategy": {
// Includes only one of the fields `meanCombination`, `rrfCombination`
"meanCombination": {
"meanEvaluationTechnique": "string",
"weights": [
"string"
]
},
"rrfCombination": {
"k": "string"
}
// end of the list of possible fields
}
}
// end of the list of possible fields
},
"sourceFile": {
"id": "string",
"folderId": "string",
"name": "string",
"description": "string",
"mimeType": "string",
"createdBy": "string",
"createdAt": "string",
"updatedBy": "string",
"updatedAt": "string",
"expirationConfig": {
"expirationPolicy": "string",
"ttlDays": "string"
},
"expiresAt": "string",
"labels": "object"
},
"content": {
"content": [
{
// Includes only one of the fields `text`
"text": {
"content": "string"
}
// end of the list of possible fields
}
]
}
}
// end of the list of possible fields
}
]
}
]
}
Field |
Description |
id |
string Unique identifier of the message. |
threadId |
string ID of the thread that this message belongs to. |
createdBy |
string Identifier of the subject who created this message. |
createdAt |
string (date-time) Timestamp representing when the message was created. String in RFC3339 To work with values in this field, use the APIs described in the |
author |
Author of the message, containing details about the message's creator. |
labels |
object (map<string, string>) Set of key-value pairs that can be used to organize and categorize the message. |
content |
Content of the message. |
status |
enum (MessageStatus) Status of the message.
|
citations[] |
List of citations used to generate the message. |
Author
Author of the message, containing details about the message's creator.
Field |
Description |
id |
string Unique identifier of the author. This could be either the user's ID or the assistant's ID, depending on the role. |
role |
string Role of the author, indicating whether the message was created by a "user" or an "assistant". |
MessageContent
Represents the content of a message, which can consist of multiple parts.
Field |
Description |
content[] |
A list of content parts that make up the message. |
ContentPart
ContentPart represents an individual part of the message content, which can be of various types.
Field |
Description |
text |
Text content of the message part. Includes only one of the fields Specifies the type of content that the part contains. |
Text
Text represents a textual content part of a message.
Field |
Description |
content |
string Text content of the message. |
Citation
Represents a citation used for generating a message.
Field |
Description |
sources[] |
List of sources for citation. |
Source
Represents a source used for generating a message citation.
Field |
Description |
chunk |
File chunk source. Includes only one of the fields Specifies the type of source type. |
FileChunk
FileChunk represents a chunk of a file used as a source.
Field |
Description |
searchIndex |
Search index associated with the file chunk. |
sourceFile |
The original file from which the chunk is derived. |
content |
Content of the file chunk. |
SearchIndex
Represents a search index used to store and query data, either using traditional keyword-based text search or vector-based search mechanisms.
Field |
Description |
id |
string Unique identifier of the search index. |
folderId |
string ID of the folder that the search index belongs to. |
name |
string Name of the search index. |
description |
string Description of the search index. |
createdBy |
string Identifier of the subject who created this search index. |
createdAt |
string (date-time) Timestamp representing when the search index was created. String in RFC3339 To work with values in this field, use the APIs described in the |
updatedBy |
string Identifier of the subject who last updated this search index. |
updatedAt |
string (date-time) Timestamp representing the last time this search index was updated. String in RFC3339 To work with values in this field, use the APIs described in the |
expirationConfig |
Configuration for the expiration of the search index, defining when and how the search index will expire. |
expiresAt |
string (date-time) Timestamp representing when the search index will expire. String in RFC3339 To work with values in this field, use the APIs described in the |
labels |
object (map<string, string>) Set of key-value pairs that can be used to organize and categorize the search index. |
textSearchIndex |
Keyword-based text search index configuration. Includes only one of the fields Type of the search index. It can be either a traditional keyword-based text search or a vector-based search. |
vectorSearchIndex |
Vector-based search index configuration. Includes only one of the fields Type of the search index. It can be either a traditional keyword-based text search or a vector-based search. |
hybridSearchIndex |
Hybrid (vector-based + keyword-based) search index configuration Includes only one of the fields Type of the search index. It can be either a traditional keyword-based text search or a vector-based search. |
ExpirationConfig
Field |
Description |
expirationPolicy |
enum (ExpirationPolicy)
|
ttlDays |
string (int64) |
TextSearchIndex
Defines the configuration for a traditional keyword-based text search index.
Field |
Description |
chunkingStrategy |
Chunking strategy used to split text into smaller chunks before indexing. |
ngramTokenizer |
Tokenizer that generates n-grams. Includes only one of the fields Tokenizer type used for text search. The tokenizer determines how the |
ChunkingStrategy
Defines a general strategy for chunking text into smaller segments.
Currently, only StaticChunkingStrategy is supported.
Field |
Description |
staticStrategy |
Includes only one of the fields |
StaticChunkingStrategy
Defines a chunking strategy where chunks are created with a fixed maximum chunk size and an overlap between consecutive chunks.
Field |
Description |
maxChunkSizeTokens |
string (int64) The maximum number of tokens allowed in a single chunk. |
chunkOverlapTokens |
string (int64) The number of tokens that should overlap between consecutive chunks. |
NgramTokenizer
Configuration for the NgramTokenizer, which splits text into overlapping character sequences (n-grams) of specified lengths.
Example:
Input text: hello
min_gram = 2, max_gram = 3
Generated tokens:
- For n = 2 (2-character n-grams):
he
,el
,ll
,lo
- For n = 3 (3-character n-grams):
hel
,ell
,llo
Final tokens: [he, el, ll, lo, hel, ell, llo]
Field |
Description |
minGram |
string (int64) Minimum length of characters in a gram. Defaults to 3 |
maxGram |
string (int64) Maximum length of characters in a gram. Defaults to 4 |
VectorSearchIndex
Defines the configuration for a vector-based search index. This type uses embeddings to represent documents and queries.
Field |
Description |
docEmbedderUri |
string The ID of the model to be used for obtaining document text embeddings. |
queryEmbedderUri |
string The ID of the model to be used for obtaining query text embeddings. |
chunkingStrategy |
Chunking strategy used to split text into smaller chunks before indexing. |
HybridSearchIndex
Defines the configuration for a hybrid (vector-based + keyword-based) search index. This type uses both embeddings and keyword-based search to represent documents and queries.
Field |
Description |
textSearchIndex |
Configuration for a traditional keyword-based text search index. |
vectorSearchIndex |
Configuration for a vector-based search index. |
chunkingStrategy |
Common chunking strategy that applies to both text and vector search indexes. |
normalizationStrategy |
enum (NormalizationStrategy) Normalization strategy for relevance scores from different indices. Default is MIN_MAX_STRATEGY
|
combinationStrategy |
Combination strategy for merging rankings from different indices. Default is arithmetic mean |
CombinationStrategy
Combination strategy for merging rankings from different indices
Field |
Description |
meanCombination |
Includes only one of the fields |
rrfCombination |
ReciprocalRankFusionCombinationStrategy Includes only one of the fields |
MeanCombinationStrategy
Field |
Description |
meanEvaluationTechnique |
enum (MeanEvaluationTechnique) Technique for averaging relevance scores from different indices. Default is ARITHMETIC
|
weights[] |
string Weights used for evaluating the weighted mean of relevance scores. The sum of the values must equal 1.0 |
ReciprocalRankFusionCombinationStrategy
https://plg.uwaterloo.ca/~gvcormac/cormacksigir09-rrf.pdf
Field |
Description |
k |
string (int64) The parameter k for RRFscore. Default is 60 |
File
Field |
Description |
id |
string Unique identifier of the file. |
folderId |
string ID of the folder that the file belongs to. |
name |
string Name of the file. |
description |
string Description of the file. |
mimeType |
string MIME type of the file, indicating the file's format (e.g., "application/pdf") |
createdBy |
string Identifier of the subject who created this file. |
createdAt |
string (date-time) Timestamp representing when the file was created. String in RFC3339 To work with values in this field, use the APIs described in the |
updatedBy |
string Identifier of the subject who last updated this file. |
updatedAt |
string (date-time) Timestamp representing the last time this file was updated. String in RFC3339 To work with values in this field, use the APIs described in the |
expirationConfig |
Configuration for the expiration of the file, defining when and how the file will expire. |
expiresAt |
string (date-time) Timestamp representing when the file will expire. String in RFC3339 To work with values in this field, use the APIs described in the |
labels |
object (map<string, string>) Set of key-value pairs that can be used to organize and categorize the file. |
ChunkContent
Represents the content of a file chunk.
Field |
Description |
content[] |
A list of content parts that make up the chunk. |