OpenAI API

Returns a list of assistants.

get
https://api.openai.com/v1/assistants

Query Parameters

limitinteger

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20.

Default:20

orderstring

Sort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order.

Allowed values:ascdesc

Default:desc

afterstring

A cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.

beforestring

A cursor for use in pagination. before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_foo, your subsequent call can include before=obj_foo in order to fetch the previous page of the list.

Response

200 application/json

OK

ListAssistantsResponse

objectstringrequired

Example:list

dataarray[object]required

Represents an assistant that can call the model and use tools.

Show Child Parameters
first_idstringrequired

Example:asst_abc123

last_idstringrequired

Example:asst_abc456

has_morebooleanrequired

Example:false

get/assistants
 
200 application/json

Create an assistant with a model and instructions.

post
https://api.openai.com/v1/assistants

Body

application/json

CreateAssistantRequest

* Additional properties are NOT allowed.
modelAny Of
required

ID of the model to use. You can use the List models API to see all of your available models, or see our Model overview for descriptions of them.

Example:gpt-4o

Variant 1string
namestring | null

The name of the assistant. The maximum length is 256 characters.

<= 256 characters

descriptionstring | null

The description of the assistant. The maximum length is 512 characters.

<= 512 characters

instructionsstring | null

The system instructions that the assistant uses. The maximum length is 256,000 characters.

<= 256000 characters

reasoning_effortstring | null

o1 and o3-mini models only

Constrains effort on reasoning for
reasoning models.
Currently supported values are low, medium, and high. Reducing
reasoning effort can result in faster responses and fewer tokens used
on reasoning in a response.

Allowed values:lowmediumhigh

Default:medium

toolsOne Of
array

A list of tool enabled on the assistant. There can be a maximum of 128 tools per assistant. Tools can be of types code_interpreter, file_search, or function.

Default:[]

<= 128 items

Code interpreter toolobject
Show Child Parameters
tool_resourcesobject | null

A set of resources that are used by the assistant’s tools. The resources are specific to the type of tool. For example, the code_interpreter tool requires a list of file IDs, while the file_search tool requires a list of vector store IDs.

Show Child Parameters
metadataobject | null

Set of 16 key-value pairs that can be attached to an object. This can be
useful for storing additional information about the object in a structured
format, and querying for objects via API or the dashboard.

Keys are strings with a maximum length of 64 characters. Values are strings
with a maximum length of 512 characters.

temperaturenumber | null

What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.

Default:1

>= 0<= 2

Example:1

top_pnumber | null

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.

We generally recommend altering this or temperature but not both.

Default:1

>= 0<= 1

Example:1

response_formatOne Of
AssistantsApiResponseFormatOptionstring

auto is the default value

Allowed values:auto

Response

200 application/json

OK

Assistant

Represents an assistant that can call the model and use tools.

idstringrequired

The identifier, which can be referenced in API endpoints.

objectstringrequired

The object type, which is always assistant.

Allowed values:assistant

created_atintegerrequired

The Unix timestamp (in seconds) for when the assistant was created.

namestring | nullrequired

The name of the assistant. The maximum length is 256 characters.

<= 256 characters

descriptionstring | nullrequired

The description of the assistant. The maximum length is 512 characters.

<= 512 characters

modelstringrequired

ID of the model to use. You can use the List models API to see all of your available models, or see our Model overview for descriptions of them.

instructionsstring | nullrequired

The system instructions that the assistant uses. The maximum length is 256,000 characters.

<= 256000 characters

toolsOne Of
arrayrequired

A list of tool enabled on the assistant. There can be a maximum of 128 tools per assistant. Tools can be of types code_interpreter, file_search, or function.

Default:[]

<= 128 items

Code interpreter toolobject
Show Child Parameters
tool_resourcesobject | null

A set of resources that are used by the assistant’s tools. The resources are specific to the type of tool. For example, the code_interpreter tool requires a list of file IDs, while the file_search tool requires a list of vector store IDs.

Show Child Parameters
metadataobject | nullrequired

Set of 16 key-value pairs that can be attached to an object. This can be
useful for storing additional information about the object in a structured
format, and querying for objects via API or the dashboard.

Keys are strings with a maximum length of 64 characters. Values are strings
with a maximum length of 512 characters.

temperaturenumber | null

What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.

Default:1

>= 0<= 2

Example:1

top_pnumber | null

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.

We generally recommend altering this or temperature but not both.

Default:1

>= 0<= 1

Example:1

response_formatOne Of
AssistantsApiResponseFormatOptionstring

auto is the default value

Allowed values:auto

post/assistants

Body

{ "model": {} }
 
200 application/json

Retrieves an assistant.

get
https://api.openai.com/v1/assistants/{assistant_id}

Path Parameters

assistant_idstringrequired

The ID of the assistant to retrieve.

Response

200 application/json

OK

Assistant

Represents an assistant that can call the model and use tools.

idstringrequired

The identifier, which can be referenced in API endpoints.

objectstringrequired

The object type, which is always assistant.

Allowed values:assistant

created_atintegerrequired

The Unix timestamp (in seconds) for when the assistant was created.

namestring | nullrequired

The name of the assistant. The maximum length is 256 characters.

<= 256 characters

descriptionstring | nullrequired

The description of the assistant. The maximum length is 512 characters.

<= 512 characters

modelstringrequired

ID of the model to use. You can use the List models API to see all of your available models, or see our Model overview for descriptions of them.

instructionsstring | nullrequired

The system instructions that the assistant uses. The maximum length is 256,000 characters.

<= 256000 characters

toolsOne Of
arrayrequired

A list of tool enabled on the assistant. There can be a maximum of 128 tools per assistant. Tools can be of types code_interpreter, file_search, or function.

Default:[]

<= 128 items

Code interpreter toolobject
Show Child Parameters
tool_resourcesobject | null

A set of resources that are used by the assistant’s tools. The resources are specific to the type of tool. For example, the code_interpreter tool requires a list of file IDs, while the file_search tool requires a list of vector store IDs.

Show Child Parameters
metadataobject | nullrequired

Set of 16 key-value pairs that can be attached to an object. This can be
useful for storing additional information about the object in a structured
format, and querying for objects via API or the dashboard.

Keys are strings with a maximum length of 64 characters. Values are strings
with a maximum length of 512 characters.

temperaturenumber | null

What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.

Default:1

>= 0<= 2

Example:1

top_pnumber | null

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.

We generally recommend altering this or temperature but not both.

Default:1

>= 0<= 1

Example:1

response_formatOne Of
AssistantsApiResponseFormatOptionstring

auto is the default value

Allowed values:auto

get/assistants/{assistant_id}
 
200 application/json

Modifies an assistant.

post
https://api.openai.com/v1/assistants/{assistant_id}

Path Parameters

assistant_idstringrequired

The ID of the assistant to modify.

Body

application/json

ModifyAssistantRequest

* Additional properties are NOT allowed.
modelAny Of

ID of the model to use. You can use the List models API to see all of your available models, or see our Model overview for descriptions of them.

Variant 1string
reasoning_effortstring | null

o1 and o3-mini models only

Constrains effort on reasoning for
reasoning models.
Currently supported values are low, medium, and high. Reducing
reasoning effort can result in faster responses and fewer tokens used
on reasoning in a response.

Allowed values:lowmediumhigh

Default:medium

namestring | null

The name of the assistant. The maximum length is 256 characters.

<= 256 characters

descriptionstring | null

The description of the assistant. The maximum length is 512 characters.

<= 512 characters

instructionsstring | null

The system instructions that the assistant uses. The maximum length is 256,000 characters.

<= 256000 characters

toolsOne Of
array

A list of tool enabled on the assistant. There can be a maximum of 128 tools per assistant. Tools can be of types code_interpreter, file_search, or function.

Default:[]

<= 128 items

Code interpreter toolobject
Show Child Parameters
tool_resourcesobject | null

A set of resources that are used by the assistant’s tools. The resources are specific to the type of tool. For example, the code_interpreter tool requires a list of file IDs, while the file_search tool requires a list of vector store IDs.

Show Child Parameters
metadataobject | null

Set of 16 key-value pairs that can be attached to an object. This can be
useful for storing additional information about the object in a structured
format, and querying for objects via API or the dashboard.

Keys are strings with a maximum length of 64 characters. Values are strings
with a maximum length of 512 characters.

temperaturenumber | null

What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.

Default:1

>= 0<= 2

Example:1

top_pnumber | null

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.

We generally recommend altering this or temperature but not both.

Default:1

>= 0<= 1

Example:1

response_formatOne Of
AssistantsApiResponseFormatOptionstring

auto is the default value

Allowed values:auto

Response

200 application/json

OK

Assistant

Represents an assistant that can call the model and use tools.

idstringrequired

The identifier, which can be referenced in API endpoints.

objectstringrequired

The object type, which is always assistant.

Allowed values:assistant

created_atintegerrequired

The Unix timestamp (in seconds) for when the assistant was created.

namestring | nullrequired

The name of the assistant. The maximum length is 256 characters.

<= 256 characters

descriptionstring | nullrequired

The description of the assistant. The maximum length is 512 characters.

<= 512 characters

modelstringrequired

ID of the model to use. You can use the List models API to see all of your available models, or see our Model overview for descriptions of them.

instructionsstring | nullrequired

The system instructions that the assistant uses. The maximum length is 256,000 characters.

<= 256000 characters

toolsOne Of
arrayrequired

A list of tool enabled on the assistant. There can be a maximum of 128 tools per assistant. Tools can be of types code_interpreter, file_search, or function.

Default:[]

<= 128 items

Code interpreter toolobject
Show Child Parameters
tool_resourcesobject | null

A set of resources that are used by the assistant’s tools. The resources are specific to the type of tool. For example, the code_interpreter tool requires a list of file IDs, while the file_search tool requires a list of vector store IDs.

Show Child Parameters
metadataobject | nullrequired

Set of 16 key-value pairs that can be attached to an object. This can be
useful for storing additional information about the object in a structured
format, and querying for objects via API or the dashboard.

Keys are strings with a maximum length of 64 characters. Values are strings
with a maximum length of 512 characters.

temperaturenumber | null

What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.

Default:1

>= 0<= 2

Example:1

top_pnumber | null

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.

We generally recommend altering this or temperature but not both.

Default:1

>= 0<= 1

Example:1

response_formatOne Of
AssistantsApiResponseFormatOptionstring

auto is the default value

Allowed values:auto

post/assistants/{assistant_id}

Body

{}
 
200 application/json

Delete an assistant.

delete
https://api.openai.com/v1/assistants/{assistant_id}

Path Parameters

assistant_idstringrequired

The ID of the assistant to delete.

Response

200 application/json

OK

DeleteAssistantResponse

idstringrequired
deletedbooleanrequired
objectstringrequired

Allowed values:assistant.deleted

delete/assistants/{assistant_id}
 
200 application/json