Runs, gRPC: RunService.Get
- gRPC request
- GetRunRequest
- Run
- RunState
- Error
- Message
- Author
- MessageContent
- ContentPart
- Text
- Citation
- Source
- FileChunk
- SearchIndex
- ExpirationConfig
- TextSearchIndex
- ChunkingStrategy
- StaticChunkingStrategy
- NgramTokenizer
- VectorSearchIndex
- HybridSearchIndex
- CombinationStrategy
- MeanCombinationStrategy
- ReciprocalRankFusionCombinationStrategy
- File
- ChunkContent
- ToolCallList
- ToolCall
- FunctionCall
- ContentUsage
- PromptTruncationOptions
- AutoStrategy
- LastMessagesStrategy
- CompletionOptions
- Tool
- SearchIndexTool
- FunctionTool
Retrieve details of a specific run by its ID.
gRPC request
rpc Get (GetRunRequest) returns (Run)
GetRunRequest
{
"run_id": "string"
}
Request message for retrieving a specific run by its ID.
Field |
Description |
run_id |
string Required field. ID of the run to retrieve. |
Run
{
"id": "string",
"assistant_id": "string",
"thread_id": "string",
"created_by": "string",
"created_at": "google.protobuf.Timestamp",
"labels": "map<string, string>",
"state": {
"status": "RunStatus",
// Includes only one of the fields `error`, `completed_message`, `tool_call_list`
"error": {
"code": "int64",
"message": "string"
},
"completed_message": {
"id": "string",
"thread_id": "string",
"created_by": "string",
"created_at": "google.protobuf.Timestamp",
"author": {
"id": "string",
"role": "string"
},
"labels": "map<string, string>",
"content": {
"content": [
{
// Includes only one of the fields `text`
"text": {
"content": "string"
}
// end of the list of possible fields
}
]
},
"status": "MessageStatus",
"citations": [
{
"sources": [
{
// Includes only one of the fields `chunk`
"chunk": {
"search_index": {
"id": "string",
"folder_id": "string",
"name": "string",
"description": "string",
"created_by": "string",
"created_at": "google.protobuf.Timestamp",
"updated_by": "string",
"updated_at": "google.protobuf.Timestamp",
"expiration_config": {
"expiration_policy": "ExpirationPolicy",
"ttl_days": "int64"
},
"expires_at": "google.protobuf.Timestamp",
"labels": "map<string, string>",
// Includes only one of the fields `text_search_index`, `vector_search_index`, `hybrid_search_index`
"text_search_index": {
"chunking_strategy": {
// Includes only one of the fields `static_strategy`
"static_strategy": {
"max_chunk_size_tokens": "int64",
"chunk_overlap_tokens": "int64"
}
// end of the list of possible fields
},
// Includes only one of the fields `ngram_tokenizer`
"ngram_tokenizer": {
"min_gram": "google.protobuf.Int64Value",
"max_gram": "google.protobuf.Int64Value"
}
// end of the list of possible fields
},
"vector_search_index": {
"doc_embedder_uri": "string",
"query_embedder_uri": "string",
"chunking_strategy": {
// Includes only one of the fields `static_strategy`
"static_strategy": {
"max_chunk_size_tokens": "int64",
"chunk_overlap_tokens": "int64"
}
// end of the list of possible fields
}
},
"hybrid_search_index": {
"text_search_index": {
"chunking_strategy": {
// Includes only one of the fields `static_strategy`
"static_strategy": {
"max_chunk_size_tokens": "int64",
"chunk_overlap_tokens": "int64"
}
// end of the list of possible fields
},
// Includes only one of the fields `ngram_tokenizer`
"ngram_tokenizer": {
"min_gram": "google.protobuf.Int64Value",
"max_gram": "google.protobuf.Int64Value"
}
// end of the list of possible fields
},
"vector_search_index": {
"doc_embedder_uri": "string",
"query_embedder_uri": "string",
"chunking_strategy": {
// Includes only one of the fields `static_strategy`
"static_strategy": {
"max_chunk_size_tokens": "int64",
"chunk_overlap_tokens": "int64"
}
// end of the list of possible fields
}
},
"chunking_strategy": {
// Includes only one of the fields `static_strategy`
"static_strategy": {
"max_chunk_size_tokens": "int64",
"chunk_overlap_tokens": "int64"
}
// end of the list of possible fields
},
"normalization_strategy": "NormalizationStrategy",
"combination_strategy": {
// Includes only one of the fields `mean_combination`, `rrf_combination`
"mean_combination": {
"mean_evaluation_technique": "MeanEvaluationTechnique",
"weights": [
"double"
]
},
"rrf_combination": {
"k": "google.protobuf.Int64Value"
}
// end of the list of possible fields
}
}
// end of the list of possible fields
},
"source_file": {
"id": "string",
"folder_id": "string",
"name": "string",
"description": "string",
"mime_type": "string",
"created_by": "string",
"created_at": "google.protobuf.Timestamp",
"updated_by": "string",
"updated_at": "google.protobuf.Timestamp",
"expiration_config": {
"expiration_policy": "ExpirationPolicy",
"ttl_days": "int64"
},
"expires_at": "google.protobuf.Timestamp",
"labels": "map<string, string>"
},
"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
}
]
}
]
},
"tool_call_list": {
"tool_calls": [
{
// Includes only one of the fields `function_call`
"function_call": {
"name": "string",
"arguments": "google.protobuf.Struct"
}
// end of the list of possible fields
}
]
}
// end of the list of possible fields
},
"usage": {
"prompt_tokens": "int64",
"completion_tokens": "int64",
"total_tokens": "int64"
},
"custom_prompt_truncation_options": {
"max_prompt_tokens": "google.protobuf.Int64Value",
// Includes only one of the fields `auto_strategy`, `last_messages_strategy`
"auto_strategy": "AutoStrategy",
"last_messages_strategy": {
"num_messages": "int64"
}
// end of the list of possible fields
},
"custom_completion_options": {
"max_tokens": "google.protobuf.Int64Value",
"temperature": "google.protobuf.DoubleValue"
},
"tools": [
{
// Includes only one of the fields `search_index`, `function`
"search_index": {
"search_index_ids": [
"string"
],
"max_num_results": "google.protobuf.Int64Value"
},
"function": {
"name": "string",
"description": "string",
"parameters": "google.protobuf.Struct"
}
// end of the list of possible fields
}
]
}
Represents a run of an assistant over a specific thread of messages.
Field |
Description |
id |
string Unique identifier of the run. |
assistant_id |
string Identifier for the assistant that is being run. |
thread_id |
string Identifier for the thread of messages that this run is associated with. |
created_by |
string Identifier of the subject who created this run. |
created_at |
Timestamp representing when the run was created. |
labels |
object (map<string, string>) Set of key-value pairs that can be used to organize and categorize the run. |
state |
Current state of the run, including its status and any associated data. |
usage |
Information about the content usage during the run, such as the number of tokens used by the completion model. |
custom_prompt_truncation_options |
Configuration options for truncating the prompt when the token count exceeds a specified limit. |
custom_completion_options |
Configuration options for completion generation. |
tools[] |
List of tools that are available for the assistant to use in this run. |
RunState
Represents the current state of a run.
Field |
Description |
status |
enum RunStatus Current status of a run.
|
error |
Error information if a run has failed. Includes only one of the fields Oneof field to capture additional data depending on the state of a run. |
completed_message |
Final message generated by an assistant if a run has completed successfully. Includes only one of the fields Oneof field to capture additional data depending on the state of a run. |
tool_call_list |
A list of tool calls requested by the assistant. Includes only one of the fields Oneof field to capture additional data depending on the state of a run. |
Error
Field |
Description |
code |
int64 |
message |
string |
Message
Field |
Description |
id |
string Unique identifier of the message. |
thread_id |
string ID of the thread that this message belongs to. |
created_by |
string Identifier of the subject who created this message. |
created_at |
Timestamp representing when the message was created. |
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 |
search_index |
Search index associated with the file chunk. |
source_file |
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. |
folder_id |
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. |
created_by |
string Identifier of the subject who created this search index. |
created_at |
Timestamp representing when the search index was created. |
updated_by |
string Identifier of the subject who last updated this search index. |
updated_at |
Timestamp representing the last time this search index was updated. |
expiration_config |
Configuration for the expiration of the search index, defining when and how the search index will expire. |
expires_at |
Timestamp representing when the search index will expire. |
labels |
object (map<string, string>) Set of key-value pairs that can be used to organize and categorize the search index. |
text_search_index |
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. |
vector_search_index |
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. |
hybrid_search_index |
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 |
expiration_policy |
enum ExpirationPolicy
|
ttl_days |
int64 |
TextSearchIndex
Defines the configuration for a traditional keyword-based text search index.
Field |
Description |
chunking_strategy |
Chunking strategy used to split text into smaller chunks before indexing. |
ngram_tokenizer |
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 |
static_strategy |
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 |
max_chunk_size_tokens |
int64 The maximum number of tokens allowed in a single chunk. |
chunk_overlap_tokens |
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 |
min_gram |
Minimum length of characters in a gram. Defaults to 3 |
max_gram |
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 |
doc_embedder_uri |
string The ID of the model to be used for obtaining document text embeddings. |
query_embedder_uri |
string The ID of the model to be used for obtaining query text embeddings. |
chunking_strategy |
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 |
text_search_index |
Configuration for a traditional keyword-based text search index. |
vector_search_index |
Configuration for a vector-based search index. |
chunking_strategy |
Common chunking strategy that applies to both text and vector search indexes. |
normalization_strategy |
enum NormalizationStrategy Normalization strategy for relevance scores from different indices. Default is MIN_MAX_STRATEGY
|
combination_strategy |
Combination strategy for merging rankings from different indices. Default is arithmetic mean |
CombinationStrategy
Combination strategy for merging rankings from different indices
Field |
Description |
mean_combination |
Includes only one of the fields |
rrf_combination |
ReciprocalRankFusionCombinationStrategy Includes only one of the fields |
MeanCombinationStrategy
Field |
Description |
mean_evaluation_technique |
enum MeanEvaluationTechnique Technique for averaging relevance scores from different indices. Default is ARITHMETIC
|
weights[] |
double 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 |
The parameter k for RRFscore. Default is 60 |
File
Field |
Description |
id |
string Unique identifier of the file. |
folder_id |
string ID of the folder that the file belongs to. |
name |
string Name of the file. |
description |
string Description of the file. |
mime_type |
string MIME type of the file, indicating the file's format (e.g., "application/pdf") |
created_by |
string Identifier of the subject who created this file. |
created_at |
Timestamp representing when the file was created. |
updated_by |
string Identifier of the subject who last updated this file. |
updated_at |
Timestamp representing the last time this file was updated. |
expiration_config |
Configuration for the expiration of the file, defining when and how the file will expire. |
expires_at |
Timestamp representing when the file will expire. |
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. |
ToolCallList
Represents a list of tool calls.
Field |
Description |
tool_calls[] |
A list of tool calls to be executed. |
ToolCall
Represents a call to a tool.
Field |
Description |
function_call |
Represents a call to a function. Includes only one of the fields |
FunctionCall
Represents the invocation of a function with specific arguments.
Field |
Description |
name |
string The name of the function being called. |
arguments |
The structured arguments passed to the function. |
ContentUsage
Represents the content usage during a run, such as the number of tokens used by the completion model.
Field |
Description |
prompt_tokens |
int64 The number of tokens used in the prompt. |
completion_tokens |
int64 The number of tokens used in the completion response. |
total_tokens |
int64 The total number of tokens used (prompt + completion). |
PromptTruncationOptions
Defines the options for truncating thread messages within a prompt.
Field |
Description |
max_prompt_tokens |
The maximum number of tokens allowed in the prompt. |
auto_strategy |
Includes only one of the fields Specifies the truncation strategy to use when the prompt exceeds the token limit. |
last_messages_strategy |
Retains only the last Includes only one of the fields Specifies the truncation strategy to use when the prompt exceeds the token limit. |
AutoStrategy
Auto truncation strategy.
Field |
Description |
Empty |
LastMessagesStrategy
Truncates the prompt by retaining only the last num_messages
messages in the thread.
Field |
Description |
num_messages |
int64 The number of most recent messages to retain in the prompt. |
CompletionOptions
Defines the options for completion generation.
Field |
Description |
max_tokens |
The limit on the number of tokens used for single completion generation. |
temperature |
Affects creativity and randomness of responses. Should be a double number between 0 (inclusive) and 1 (inclusive). |
Tool
Represents a general tool that can be one of several types.
Field |
Description |
search_index |
SearchIndexTool tool that performs search across specified indexes. Includes only one of the fields |
function |
Function tool that can be invoked by the assistant. Includes only one of the fields |
SearchIndexTool
Configures a tool that enables Retrieval-Augmented Generation (RAG) by allowing the assistant to search across a specified search index.
Field |
Description |
search_index_ids[] |
string A list of search index IDs that this tool will query. Currently, only a single index ID is supported. |
max_num_results |
The maximum number of results to return from the search. |
FunctionTool
Represents a function tool that can be invoked by the assistant.
Field |
Description |
name |
string The name of the function. |
description |
string A description of the function's purpose or behavior. |
parameters |
A JSON Schema that defines the expected parameters for the function. |