Skip to main content

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

Download Microsoft Edge More info about Internet Explorer and Microsoft Edge
microsoft-foundry.rest.security.o-auth2-auth

Assistants

Update an assistant

POST /openai/v1/assistants/{assistant_id} Deprecated

Updates an assistant with the supplied changes.

Path parameters

assistant_id string required Deprecated

The ID of the assistant to modify.

Request Body

The request body.

Content-Type: application/json
model string | enum Deprecated

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.

Any of the following:
string Deprecated
enum Deprecated
gpt-5gpt-5-minigpt-5-nanogpt-5-2025-08-07gpt-5-mini-2025-08-07gpt-5-nano-2025-08-07gpt-4.1gpt-4.1-minigpt-4.1-nanogpt-4.1-2025-04-14gpt-4.1-mini-2025-04-14gpt-4.1-nano-2025-04-14o3-minio3-mini-2025-01-31o1o1-2024-12-17gpt-4ogpt-4o-2024-11-20gpt-4o-2024-08-06gpt-4o-2024-05-13gpt-4o-minigpt-4o-mini-2024-07-18gpt-4.5-previewgpt-4.5-preview-2025-02-27gpt-4-turbogpt-4-turbo-2024-04-09gpt-4-0125-previewgpt-4-turbo-previewgpt-4-1106-previewgpt-4-vision-previewgpt-4gpt-4-0314gpt-4-0613gpt-4-32kgpt-4-32k-0314gpt-4-32k-0613gpt-3.5-turbogpt-3.5-turbo-16kgpt-3.5-turbo-0613gpt-3.5-turbo-1106gpt-3.5-turbo-0125gpt-3.5-turbo-16k-0613
reasoning_effort string | enum | null Deprecated

Constrains effort on reasoning for reasoning models. Currently supported values are none, minimal, low, medium, high, xhigh, and max. Reducing reasoning effort can result in faster responses and fewer tokens used on reasoning in a response. Not all reasoning models support every value. See the reasoning guide for model-specific support.

Any of the following:
string Deprecated
enum Deprecated
noneminimallowmediumhighxhighmax
name string | null Deprecated
description string | null Deprecated
instructions string | null Deprecated
tools OpenAI.AssistantTool[] Deprecated

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.

tool_resources OpenAI.ModifyAssistantRequestToolResources | null Deprecated
code_interpreter OpenAI.ModifyAssistantRequestToolResourcesCodeInterpreter Deprecated
file_ids string[] Deprecated
file_search OpenAI.ModifyAssistantRequestToolResourcesFileSearch Deprecated
vector_store_ids string[] Deprecated
metadata OpenAI.Metadata | null Deprecated

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.

[key: string] string Deprecated
temperature number | null Deprecated
top_p number | null Deprecated
response_format enum | OpenAI.ResponseFormatText | OpenAI.ResponseFormatJsonObject | OpenAI.ResponseFormatJsonSchema | null Deprecated

Specifies the format that the model must output. Compatible with GPT-4o, GPT-4 Turbo, and all GPT-3.5 Turbo models since gpt-3.5-turbo-1106. Setting to { "type": "json_schema", "json_schema": {...} } enables Structured Outputs which ensures the model will match your supplied JSON schema. Learn more in the Structured Outputs guide. Setting to { "type": "json_object" } enables JSON mode, which ensures the message the model generates is valid JSON. Important:* when using JSON mode, you must also instruct the model to produce JSON yourself via a system or user message. Without this, the model may generate an unending stream of whitespace until the generation reaches the token limit, resulting in a long-running and seemingly "stuck" request. Also note that the message content may be partially cut off if finish_reason="length", which indicates the generation exceeded max_tokens or the conversation exceeded the max context length.

One of the following:
enum Deprecated
auto
type enum required Deprecated

The type of response format being defined. Always text.

text
type enum required Deprecated

The type of response format being defined. Always json_object.

json_object
type enum required Deprecated

The type of response format being defined. Always json_schema.

json_schema
json_schema OpenAI.ResponseFormatJsonSchemaJsonSchema required Deprecated
description string Deprecated
name string required Deprecated
schema OpenAI.ResponseFormatJsonSchemaSchema Deprecated

The schema for the response format, described as a JSON Schema object. Learn how to build JSON schemas here.

strict boolean | null Deprecated

Responses

The request has succeeded.

Body

Content-Type: application/json
id string required Deprecated

The identifier, which can be referenced in API endpoints.

object enum required Deprecated

The object type, which is always assistant.

assistant
created_at integer required Deprecated

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

name string | null required Deprecated
description string | null required Deprecated
model string required Deprecated

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.

instructions string | null required Deprecated
tools OpenAI.AssistantTool[] required Deprecated

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.

tool_resources OpenAI.AssistantObjectToolResources | null Deprecated
code_interpreter OpenAI.AssistantObjectToolResourcesCodeInterpreter Deprecated
file_ids string[] Deprecated
file_search OpenAI.AssistantObjectToolResourcesFileSearch Deprecated
vector_store_ids string[] Deprecated
metadata OpenAI.Metadata | null required Deprecated

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.

[key: string] string Deprecated
temperature number | null Deprecated
top_p number | null Deprecated
response_format enum | OpenAI.ResponseFormatText | OpenAI.ResponseFormatJsonObject | OpenAI.ResponseFormatJsonSchema | null Deprecated

Specifies the format that the model must output. Compatible with GPT-4o, GPT-4 Turbo, and all GPT-3.5 Turbo models since gpt-3.5-turbo-1106. Setting to { "type": "json_schema", "json_schema": {...} } enables Structured Outputs which ensures the model will match your supplied JSON schema. Learn more in the Structured Outputs guide. Setting to { "type": "json_object" } enables JSON mode, which ensures the message the model generates is valid JSON. Important:* when using JSON mode, you must also instruct the model to produce JSON yourself via a system or user message. Without this, the model may generate an unending stream of whitespace until the generation reaches the token limit, resulting in a long-running and seemingly "stuck" request. Also note that the message content may be partially cut off if finish_reason="length", which indicates the generation exceeded max_tokens or the conversation exceeded the max context length.

One of the following:
enum Deprecated
auto
type enum required Deprecated

The type of response format being defined. Always text.

text
type enum required Deprecated

The type of response format being defined. Always json_object.

json_object
type enum required Deprecated

The type of response format being defined. Always json_schema.

json_schema
json_schema OpenAI.ResponseFormatJsonSchemaJsonSchema required Deprecated
description string Deprecated
name string required Deprecated
schema OpenAI.ResponseFormatJsonSchemaSchema Deprecated

The schema for the response format, described as a JSON Schema object. Learn how to build JSON schemas here.

strict boolean | null Deprecated

Client error

Body

Content-Type: application/json
error OpenAI.Error required Deprecated
code string | null required Deprecated
message string required Deprecated
param string | null Deprecated
type string Deprecated
misalignment OpenAI.MisalignmentErrorDetailsResource Deprecated
review_target string | null Deprecated
error_type string | enum Deprecated
Any of the following:
string Deprecated
enum Deprecated
potentially_unintended_data_transferpotentially_unintended_data_accesspotentially_unintended_destructive_activityother
detailed_explanation string Deprecated

The public explanation for this block.

steer OpenAI._MisalignmentSteer Deprecated
message string required Deprecated

The public continuation instruction.

details OpenAI.Error[] Deprecated
additionalInfo object Deprecated
debugInfo object Deprecated

Server error

Body

Content-Type: application/json
error OpenAI.Error required Deprecated
code string | null required Deprecated
message string required Deprecated
param string | null Deprecated
type string Deprecated
misalignment OpenAI.MisalignmentErrorDetailsResource Deprecated
review_target string | null Deprecated
error_type string | enum Deprecated
Any of the following:
string Deprecated
enum Deprecated
potentially_unintended_data_transferpotentially_unintended_data_accesspotentially_unintended_destructive_activityother
detailed_explanation string Deprecated

The public explanation for this block.

steer OpenAI._MisalignmentSteer Deprecated
message string required Deprecated

The public continuation instruction.

details OpenAI.Error[] Deprecated
additionalInfo object Deprecated
debugInfo object Deprecated

Request

curl https://api.openai.com/v1/assistants/asst_abc123 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "OpenAI-Beta: assistants=v2" \
  -d '{
      "instructions": "You are an HR bot, and you have access to files to answer employee questions about company policies. Always response with info from either of the files.",
      "tools": [{"type": "file_search"}],
      "model": "gpt-4o"
    }'
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get("OPENAI_API_KEY"),  # This is the default and can be omitted
)
assistant = client.beta.assistants.update(
    assistant_id="assistant_id",
)
print(assistant.id)
import OpenAI from "openai";

const openai = new OpenAI();

async function main() {
  const myUpdatedAssistant = await openai.beta.assistants.update(
    "asst_abc123",
    {
      instructions:
        "You are an HR bot, and you have access to files to answer employee questions about company policies. Always response with info from either of the files.",
      name: "HR Helper",
      tools: [{ type: "file_search" }],
      model: "gpt-4o"
    }
  );

  console.log(myUpdatedAssistant);
}

main();
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: process.env['OPENAI_API_KEY'], // This is the default and can be omitted
});

const assistant = await client.beta.assistants.update('assistant_id');

console.log(assistant.id);
package main

import (
    "context"
    "fmt"

    "github.com/openai/openai-go"
    "github.com/openai/openai-go/option"
)

func main() {
    client := openai.NewClient(
        option.WithAPIKey("My API Key"),
    )
    assistant, err := client.Beta.Assistants.Update(
        context.TODO(),
        "assistant_id",
        openai.BetaAssistantUpdateParams{},
    )
    if err != nil {
        panic(err.Error())
    }
    fmt.Printf("%+v
", assistant.ID)
}
package com.openai.example;

import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.beta.assistants.Assistant;
import com.openai.models.beta.assistants.AssistantUpdateParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        OpenAIClient client = OpenAIOkHttpClient.fromEnv();

        Assistant assistant = client.beta().assistants().update("assistant_id");
    }
}
require "openai"

openai = OpenAI::Client.new(api_key: "My API Key")

assistant = openai.beta.assistants.update("assistant_id")

puts(assistant)

Response

{
  "id": "asst_123",
  "object": "assistant",
  "created_at": 1699009709,
  "name": "HR Helper",
  "description": null,
  "model": "gpt-4o",
  "instructions": "You are an HR bot, and you have access to files to answer employee questions about company policies. Always response with info from either of the files.",
  "tools": [
    {
      "type": "file_search"
    }
  ],
  "tool_resources": {
    "file_search": {
      "vector_store_ids": []
    }
  },
  "metadata": {},
  "top_p": 1.0,
  "temperature": 1.0,
  "response_format": "auto"
}
en-us
Your Privacy Choices
  • AI Disclaimer
  • Previous Versions
  • Blog
  • Contribute
  • Privacy
  • Consumer Health Privacy
  • Terms of Use
  • Trademarks
  • © Microsoft 2026