Yandex Cloud
Search
Contact UsGet started
  • Blog
  • Pricing
  • Documentation
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • ML & AI
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Customer Stories
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Education and Science
    • Yandex Cloud Partner program
  • Blog
  • Pricing
  • Documentation
© 2025 Direct Cursus Technology L.L.C.
Yandex Foundation Models
    • Overview
    • API authentication
        • Overview
          • Overview
            • Overview
            • Create
            • Get
            • Update
            • Delete
            • List
  • Yandex Cloud ML SDK
  • Compatibility with OpenAI
  • Access management
  • Pricing policy
  • Public materials
  • Release notes

In this article:

  • gRPC request
  • CreateThreadRequest
  • MessageData
  • Author
  • MessageContent
  • ContentPart
  • Text
  • ExpirationConfig
  • Tool
  • SearchIndexTool
  • RephraserOptions
  • FunctionTool
  • Thread
  • ExpirationConfig
  • Tool
  • SearchIndexTool
  • RephraserOptions
  • FunctionTool
  1. API references
  2. AI Assistant API
  3. gRPC
  4. Threads
  5. Thread
  6. Create

Threads, gRPC: ThreadService.Create

Written by
Yandex Cloud
Updated at April 24, 2025
  • gRPC request
  • CreateThreadRequest
  • MessageData
  • Author
  • MessageContent
  • ContentPart
  • Text
  • ExpirationConfig
  • Tool
  • SearchIndexTool
  • RephraserOptions
  • FunctionTool
  • Thread
  • ExpirationConfig
  • Tool
  • SearchIndexTool
  • RephraserOptions
  • FunctionTool

Create a new thread.

gRPC requestgRPC request

rpc Create (CreateThreadRequest) returns (Thread)

CreateThreadRequestCreateThreadRequest

{
  "folder_id": "string",
  "messages": [
    {
      "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
          }
        ]
      }
    }
  ],
  "name": "string",
  "description": "string",
  "default_message_author_id": "string",
  "expiration_config": {
    "expiration_policy": "ExpirationPolicy",
    "ttl_days": "int64"
  },
  "labels": "map<string, string>",
  "tools": [
    {
      // Includes only one of the fields `search_index`, `function`
      "search_index": {
        "search_index_ids": [
          "string"
        ],
        "max_num_results": "google.protobuf.Int64Value",
        "rephraser_options": {
          "rephraser_uri": "string"
        }
      },
      "function": {
        "name": "string",
        "description": "string",
        "parameters": "google.protobuf.Struct"
      }
      // end of the list of possible fields
    }
  ]
}

Request message for creating a new thread.

Field

Description

folder_id

string

Required field.

messages[]

MessageData

List of messages to initialize the thread.

name

string

Name of the thread.

description

string

Description of the thread.

default_message_author_id

string

Default user ID that will be used as the author for thread messages if no other author is specified.

expiration_config

ExpirationConfig

Expiration configuration for the thread.

labels

object (map<string, string>)

Set of key-value pairs to label the thread.

tools[]

Tool

List of tools that are available for assistants to use in this thread.

MessageDataMessageData

Represents the data required to create or initialize a message in a thread.
This message is used, for example, to initialize a thread with some messages upon its creation.

Field

Description

author

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

MessageContent

Content of the message.

AuthorAuthor

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".

MessageContentMessageContent

Represents the content of a message, which can consist of multiple parts.

Field

Description

content[]

ContentPart

A list of content parts that make up the message.

ContentPartContentPart

ContentPart represents an individual part of the message content, which can be of various types.

Field

Description

text

Text

Text content of the message part.

Includes only one of the fields text.

Specifies the type of content that the part contains.

TextText

Text represents a textual content part of a message.

Field

Description

content

string

Text content of the message.

ExpirationConfigExpirationConfig

Field

Description

expiration_policy

enum ExpirationPolicy

  • EXPIRATION_POLICY_UNSPECIFIED
  • STATIC
  • SINCE_LAST_ACTIVE

ttl_days

int64

ToolTool

Represents a general tool that can be one of several types.

Field

Description

search_index

SearchIndexTool

SearchIndexTool tool that performs search across specified indexes.

Includes only one of the fields search_index, function.

function

FunctionTool

Function tool that can be invoked by the assistant.

Includes only one of the fields search_index, function.

SearchIndexToolSearchIndexTool

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

google.protobuf.Int64Value

The maximum number of results to return from the search.
Fewer results may be returned if necessary to fit within the prompt's token limit.
This ensures that the combined prompt and search results do not exceed the token constraints.

rephraser_options

RephraserOptions

Options for rephrasing user queries.
Used to rewrite the last user message for search,
incorporating context from the previous conversation.

RephraserOptionsRephraserOptions

Options for configuring the rephrasing the last user message for search using context from previous conversation.

Field

Description

rephraser_uri

string

Required field. The ID of the model used to rephrase the last user message for search.

FunctionToolFunctionTool

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

google.protobuf.Struct

A JSON Schema that defines the expected parameters for the function.
The schema should describe the required fields, their types, and any constraints or default values.

ThreadThread

{
  "id": "string",
  "folder_id": "string",
  "name": "string",
  "description": "string",
  "default_message_author_id": "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>",
  "tools": [
    {
      // Includes only one of the fields `search_index`, `function`
      "search_index": {
        "search_index_ids": [
          "string"
        ],
        "max_num_results": "google.protobuf.Int64Value",
        "rephraser_options": {
          "rephraser_uri": "string"
        }
      },
      "function": {
        "name": "string",
        "description": "string",
        "parameters": "google.protobuf.Struct"
      }
      // end of the list of possible fields
    }
  ]
}

Field

Description

id

string

Unique identifier of the thread.

folder_id

string

ID of the folder that the thread belongs to.

name

string

Name of the thread.

description

string

Description of the thread.

default_message_author_id

string

Default user ID that will be used as the author for thread messages if no other author is specified.

created_by

string

Identifier of the subject who created this thread.

created_at

google.protobuf.Timestamp

Timestamp representing when the thread was created.

updated_by

string

Identifier of the subject who last updated this thread.

updated_at

google.protobuf.Timestamp

Timestamp representing the last time this thread was updated.

expiration_config

ExpirationConfig

Configuration for the expiration of the thread, defining when and how the thread will expire.

expires_at

google.protobuf.Timestamp

Timestamp representing when the thread will expire.

labels

object (map<string, string>)

Set of key-value pairs that can be used to organize and categorize the thread.

tools[]

Tool

List of tools that are available for assistants to use in this thread.

ExpirationConfigExpirationConfig

Field

Description

expiration_policy

enum ExpirationPolicy

  • EXPIRATION_POLICY_UNSPECIFIED
  • STATIC
  • SINCE_LAST_ACTIVE

ttl_days

int64

ToolTool

Represents a general tool that can be one of several types.

Field

Description

search_index

SearchIndexTool

SearchIndexTool tool that performs search across specified indexes.

Includes only one of the fields search_index, function.

function

FunctionTool

Function tool that can be invoked by the assistant.

Includes only one of the fields search_index, function.

SearchIndexToolSearchIndexTool

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

google.protobuf.Int64Value

The maximum number of results to return from the search.
Fewer results may be returned if necessary to fit within the prompt's token limit.
This ensures that the combined prompt and search results do not exceed the token constraints.

rephraser_options

RephraserOptions

Options for rephrasing user queries.
Used to rewrite the last user message for search,
incorporating context from the previous conversation.

RephraserOptionsRephraserOptions

Options for configuring the rephrasing the last user message for search using context from previous conversation.

Field

Description

rephraser_uri

string

Required field. The ID of the model used to rephrase the last user message for search.

FunctionToolFunctionTool

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

google.protobuf.Struct

A JSON Schema that defines the expected parameters for the function.
The schema should describe the required fields, their types, and any constraints or default values.

Was the article helpful?

Previous
Overview
Next
Get
© 2025 Direct Cursus Technology L.L.C.