Threads, REST: Thread.Create
- HTTP request
- Body parameters
- MessageData
- Author
- MessageContent
- ContentPart
- Text
- ExpirationConfig
- Tool
- SearchIndexTool
- RephraserOptions
- CallStrategy
- AutoCall
- FunctionTool
- GenSearchTool
- GenSearchOptions
- SiteOption
- HostOption
- UrlOption
- SearchFilter
- Response
- ExpirationConfig
- Tool
- SearchIndexTool
- RephraserOptions
- CallStrategy
- AutoCall
- FunctionTool
- GenSearchTool
- GenSearchOptions
- SiteOption
- HostOption
- UrlOption
- SearchFilter
Create a new thread.
HTTP request
POST https://rest-assistant.api.cloud.yandex.net/assistants/v1/threads
Body parameters
{
"folderId": "string",
"messages": [
{
"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
}
]
}
}
],
"name": "string",
"description": "string",
"defaultMessageAuthorId": "string",
"expirationConfig": {
"expirationPolicy": "string",
"ttlDays": "string"
},
"labels": "object",
"tools": [
{
// Includes only one of the fields `searchIndex`, `function`, `genSearch`
"searchIndex": {
"searchIndexIds": [
"string"
],
"maxNumResults": "string",
"rephraserOptions": {
"rephraserUri": "string"
},
"callStrategy": {
// Includes only one of the fields `alwaysCall`, `autoCall`
"alwaysCall": "object",
"autoCall": {
"name": "string",
"instruction": "string"
}
// end of the list of possible fields
}
},
"function": {
"name": "string",
"description": "string",
"parameters": "object"
},
"genSearch": {
"options": {
// Includes only one of the fields `site`, `host`, `url`
"site": {
"site": [
"string"
]
},
"host": {
"host": [
"string"
]
},
"url": {
"url": [
"string"
]
},
// end of the list of possible fields
"enableNrfmDocs": "boolean",
"searchFilters": [
{
// Includes only one of the fields `date`, `lang`, `format`
"date": "string",
"lang": "string",
"format": "string"
// end of the list of possible fields
}
]
},
"description": "string"
}
// end of the list of possible fields
}
]
}
Request message for creating a new thread.
Field |
Description |
folderId |
string Required field. |
messages[] |
List of messages to initialize the thread. |
name |
string Name of the thread. |
description |
string Description of the thread. |
defaultMessageAuthorId |
string Default user ID that will be used as the author for thread messages if no other author is specified. |
expirationConfig |
Expiration configuration for the thread. |
labels |
object (map<string, string>) Set of key-value pairs to label the thread. |
tools[] |
List of tools that are available for assistants to use in this thread. |
MessageData
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 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. |
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. |
ExpirationConfig
Field |
Description |
expirationPolicy |
enum (ExpirationPolicy)
|
ttlDays |
string (int64) |
Tool
Represents a general tool that can be one of several types.
Field |
Description |
searchIndex |
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 |
genSearch |
Performs web retrieval and generative synthesis. 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 |
searchIndexIds[] |
string A list of search index IDs that this tool will query. Currently, only a single index ID is supported. |
maxNumResults |
string (int64) The maximum number of results to return from the search. |
rephraserOptions |
Options for rephrasing user queries. |
callStrategy |
Defines the strategy for triggering search. |
RephraserOptions
Options for configuring the rephrasing the last user message for search using context from previous conversation.
Field |
Description |
rephraserUri |
string Required field. The ID of the model used to rephrase the last user message for search. |
CallStrategy
Defines when the assistant uses the search tool.
Field |
Description |
alwaysCall |
object Includes only one of the fields One of |
autoCall |
Includes only one of the fields One of |
AutoCall
Exposes the tool as a callable function.
The model decides when to trigger search based on the instruction.
Field |
Description |
name |
string The name of the tool as exposed to the model. |
instruction |
string Required field. Required instruction that helps the model decide when to call the tool. |
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 |
object A JSON Schema that defines the expected parameters for the function. |
GenSearchTool
Field |
Description |
options |
Scoping and filtering rules for the search query |
description |
string Required field. description of the purpose |
GenSearchOptions
Field |
Description |
site |
Includes only one of the fields Restricts the search to the specific websites, hosts or pages. |
host |
Includes only one of the fields Restricts the search to the specific websites, hosts or pages. |
url |
Includes only one of the fields Restricts the search to the specific websites, hosts or pages. |
enableNrfmDocs |
boolean Use the documents inaccessible from the front page. |
searchFilters[] |
Restricts the search by date, document formats or language. |
SiteOption
Restricts the search to the specific websites.
Field |
Description |
site[] |
string |
HostOption
Restricts the search to the specific hosts.
Field |
Description |
host[] |
string |
UrlOption
Restricts the search to the specific pages.
Field |
Description |
url[] |
string |
SearchFilter
Field |
Description |
date |
string Restrict by document date Includes only one of the fields Includes only one of the fields date, lang, format. |
lang |
string Restrict by document language. Use ISO 639-1 language codes. Includes only one of the fields Includes only one of the fields date, lang, format. |
format |
enum (DocFormat) Restrict by document format. Includes only one of the fields Includes only one of the fields date, lang, format.
|
Response
HTTP Code: 200 - OK
{
"id": "string",
"folderId": "string",
"name": "string",
"description": "string",
"defaultMessageAuthorId": "string",
"createdBy": "string",
"createdAt": "string",
"updatedBy": "string",
"updatedAt": "string",
"expirationConfig": {
"expirationPolicy": "string",
"ttlDays": "string"
},
"expiresAt": "string",
"labels": "object",
"tools": [
{
// Includes only one of the fields `searchIndex`, `function`, `genSearch`
"searchIndex": {
"searchIndexIds": [
"string"
],
"maxNumResults": "string",
"rephraserOptions": {
"rephraserUri": "string"
},
"callStrategy": {
// Includes only one of the fields `alwaysCall`, `autoCall`
"alwaysCall": "object",
"autoCall": {
"name": "string",
"instruction": "string"
}
// end of the list of possible fields
}
},
"function": {
"name": "string",
"description": "string",
"parameters": "object"
},
"genSearch": {
"options": {
// Includes only one of the fields `site`, `host`, `url`
"site": {
"site": [
"string"
]
},
"host": {
"host": [
"string"
]
},
"url": {
"url": [
"string"
]
},
// end of the list of possible fields
"enableNrfmDocs": "boolean",
"searchFilters": [
{
// Includes only one of the fields `date`, `lang`, `format`
"date": "string",
"lang": "string",
"format": "string"
// end of the list of possible fields
}
]
},
"description": "string"
}
// end of the list of possible fields
}
]
}
Field |
Description |
id |
string Unique identifier of the thread. |
folderId |
string ID of the folder that the thread belongs to. |
name |
string Name of the thread. |
description |
string Description of the thread. |
defaultMessageAuthorId |
string Default user ID that will be used as the author for thread messages if no other author is specified. |
createdBy |
string Identifier of the subject who created this thread. |
createdAt |
string (date-time) Timestamp representing when the thread 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 thread. |
updatedAt |
string (date-time) Timestamp representing the last time this thread 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 thread, defining when and how the thread will expire. |
expiresAt |
string (date-time) Timestamp representing when the thread 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 thread. |
tools[] |
List of tools that are available for assistants to use in this thread. |
ExpirationConfig
Field |
Description |
expirationPolicy |
enum (ExpirationPolicy)
|
ttlDays |
string (int64) |
Tool
Represents a general tool that can be one of several types.
Field |
Description |
searchIndex |
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 |
genSearch |
Performs web retrieval and generative synthesis. 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 |
searchIndexIds[] |
string A list of search index IDs that this tool will query. Currently, only a single index ID is supported. |
maxNumResults |
string (int64) The maximum number of results to return from the search. |
rephraserOptions |
Options for rephrasing user queries. |
callStrategy |
Defines the strategy for triggering search. |
RephraserOptions
Options for configuring the rephrasing the last user message for search using context from previous conversation.
Field |
Description |
rephraserUri |
string Required field. The ID of the model used to rephrase the last user message for search. |
CallStrategy
Defines when the assistant uses the search tool.
Field |
Description |
alwaysCall |
object Includes only one of the fields One of |
autoCall |
Includes only one of the fields One of |
AutoCall
Exposes the tool as a callable function.
The model decides when to trigger search based on the instruction.
Field |
Description |
name |
string The name of the tool as exposed to the model. |
instruction |
string Required field. Required instruction that helps the model decide when to call the tool. |
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 |
object A JSON Schema that defines the expected parameters for the function. |
GenSearchTool
Field |
Description |
options |
Scoping and filtering rules for the search query |
description |
string Required field. description of the purpose |
GenSearchOptions
Field |
Description |
site |
Includes only one of the fields Restricts the search to the specific websites, hosts or pages. |
host |
Includes only one of the fields Restricts the search to the specific websites, hosts or pages. |
url |
Includes only one of the fields Restricts the search to the specific websites, hosts or pages. |
enableNrfmDocs |
boolean Use the documents inaccessible from the front page. |
searchFilters[] |
Restricts the search by date, document formats or language. |
SiteOption
Restricts the search to the specific websites.
Field |
Description |
site[] |
string |
HostOption
Restricts the search to the specific hosts.
Field |
Description |
host[] |
string |
UrlOption
Restricts the search to the specific pages.
Field |
Description |
url[] |
string |
SearchFilter
Field |
Description |
date |
string Restrict by document date Includes only one of the fields Includes only one of the fields date, lang, format. |
lang |
string Restrict by document language. Use ISO 639-1 language codes. Includes only one of the fields Includes only one of the fields date, lang, format. |
format |
enum (DocFormat) Restrict by document format. Includes only one of the fields Includes only one of the fields date, lang, format.
|