Assistants

Modify assistant

Modifies an assistant.

post/assistants/{assistant_id}

Path parameters

assistant_idstring required

The ID of the assistant to modify.

Request body

reasoning_effort'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max' nullable

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.

namestring nullable

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

descriptionstring nullable

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

instructionsstring nullable

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

metadataMetadata nullable

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 nullable

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.

top_pnumber nullable

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.

Example request

{
  "temperature": 1,
  "top_p": 1
}

Response

OK

idstring required

The identifier, which can be referenced in API endpoints.

object'assistant' required

The object type, which is always assistant.

created_atinteger required

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

namestring nullable required

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

descriptionstring nullable required

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

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

instructionsstring nullable required

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

metadataMetadata nullable required

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 nullable

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.

top_pnumber nullable

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.

Example response

{
  "temperature": 1,
  "top_p": 1
}

Changes

Changed in 13 of the 163 revisions of this API.40658

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the non-success response with the status

      response-non-success-status-added

    • ○

      added the new max enum value to the request property /

      request-property-enum-value-added

    This revision also has 2 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

  • 74cbcf73838f26427See the full diff
    • ▲

      the request property became not nullable

      request-property-became-not-nullable

    • ▲

      the request property became not nullable

      request-property-became-not-nullable

    • ▲

      the request property became not nullable

      request-property-became-not-nullable

    • ▲

      the request property became not nullable

      request-property-became-not-nullable

    • ▲

      the request property became not nullable

      request-property-became-not-nullable

    • ▲

      the request property became not nullable

      request-property-became-not-nullable

    • ▲

      the request property became not nullable

      request-property-became-not-nullable

    • ▲

      the request property became not nullable

      request-property-became-not-nullable

    • ▲

      the request property //// became not nullable

      request-property-became-not-nullable

    • ▲

      the request property became not nullable

      request-property-became-not-nullable

    • ▲

      removed the enum value high of the request property

      request-property-enum-value-removed

    • ▲

      removed the enum value low of the request property

      request-property-enum-value-removed

    • ▲

      removed the enum value medium of the request property

      request-property-enum-value-removed

    • ▲

      removed subschema #1 from the request property oneOf list

      request-property-one-of-removed

    • ▲

      the request property type changed from object to no type

      request-property-type-changed

    • ▲

      response property description list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • ▲

      response property instructions list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • ▲

      response property metadata list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • ▲

      response property name list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • ▲

      response property temperature list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • ▲

      response property tools/items/oneOf[subschema #3: Function tool]/function/strict list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • ▲

      response property top_p list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • ▲

      the response property's maxLength was unset from 512 for the response status

      response-property-max-length-unset

    • ▲

      the response property's maxLength was unset from 256000 for the response status

      response-property-max-length-unset

    • ▲

      the response property's maxLength was unset from 256 for the response status

      response-property-max-length-unset

    • ▲

      the response's property type changed from object to no type for status

      response-property-type-changed

    • ●

      removed the request property /

      request-property-removed

    • ●

      removed the request property /

      request-property-removed

    • ●

      removed the optional property / from the response with the status

      response-optional-property-removed

    • ●

      removed the optional property / from the response with the status

      response-optional-property-removed

    • ○

      endpoint deprecated

      endpoint-deprecated

    • ○

      added subschema #2 to the request property anyOf list

      request-property-any-of-added

    • ○

      added subschema #1 subschema #2 to the request property anyOf list

      request-property-any-of-added

    • ○

      the request property default value medium was removed

      request-property-default-value-removed

    • ○

      the request property default value false was removed

      request-property-default-value-removed

    • ○

      the request property default value 1 was removed

      request-property-default-value-removed

    • ○

      the request property default value 1 was removed

      request-property-default-value-removed

    • ○

      added the new gpt-5 enum value to the request property ////

      request-property-enum-value-added

    • ○

      added the new gpt-5-2025-08-07 enum value to the request property ////

      request-property-enum-value-added

    • ○

      added the new gpt-5-mini enum value to the request property ////

      request-property-enum-value-added

    • ○

      added the new gpt-5-mini-2025-08-07 enum value to the request property ////

      request-property-enum-value-added

    • ○

      added the new gpt-5-nano enum value to the request property ////

      request-property-enum-value-added

    • ○

      added the new gpt-5-nano-2025-08-07 enum value to the request property ////

      request-property-enum-value-added

    • ○

      request property list-of-types was widened by adding types null to media type application/json

      request-property-list-of-types-widened

    • ○

      request property list-of-types was widened by adding types null to media type application/json

      request-property-list-of-types-widened

    • ○

      request property list-of-types was widened by adding types null to media type application/json

      request-property-list-of-types-widened

    • ○

      request property list-of-types was widened by adding types null to media type application/json

      request-property-list-of-types-widened

    • ○

      request property list-of-types was widened by adding types null to media type application/json

      request-property-list-of-types-widened

    • ○

      request property list-of-types was widened by adding types null to media type application/json

      request-property-list-of-types-widened

    • ○

      request property //// list-of-types was widened by adding types null to media type application/json

      request-property-list-of-types-widened

    • ○

      request property list-of-types was widened by adding types null to media type application/json

      request-property-list-of-types-widened

    • ○

      added subschema #2 to the response property anyOf list for the response status

      response-property-any-of-added

    • ○

      added subschema #1 subschema #2 to the response property anyOf list for the response status

      response-property-any-of-added

    • ○

      the response's property default value false was removed for the status

      response-property-default-value-removed

    • ○

      the response's property default value 1 was removed for the status

      response-property-default-value-removed

    • ○

      the response's property default value 1 was removed for the status

      response-property-default-value-removed

    • ○

      removed subschema #1 from the response property oneOf list for the response status

      response-property-one-of-removed

    This revision also has 40 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • ○

      added the new gpt-4.1 enum value to the request property ////

      request-property-enum-value-added

    • ○

      added the new gpt-4.1-2025-04-14 enum value to the request property ////

      request-property-enum-value-added

    • ○

      added the new gpt-4.1-mini enum value to the request property ////

      request-property-enum-value-added

    • ○

      added the new gpt-4.1-mini-2025-04-14 enum value to the request property ////

      request-property-enum-value-added

    • ○

      added the new gpt-4.1-nano enum value to the request property ////

      request-property-enum-value-added

    • ○

      added the new gpt-4.1-nano-2025-04-14 enum value to the request property ////

      request-property-enum-value-added

    This revision also has 18 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

  • 6ab43fe7798e215See the full diff
    • ▲

      the response property became nullable for the status

      response-property-became-nullable

    • ▲

      added subschema #1 to the response property oneOf list for the response status

      response-property-one-of-added

    • ●

      removed subschema #2 from the request property allOf list

      request-property-all-of-removed

    • ○

      the request property became nullable

      request-property-became-nullable

    • ○

      added the new gpt-4.5-preview enum value to the request property ////

      request-property-enum-value-added

    • ○

      added the new gpt-4.5-preview-2025-02-27 enum value to the request property ////

      request-property-enum-value-added

    • ○

      added subschema #1 to the request property oneOf list

      request-property-one-of-added

    • ○

      removed subschema #2 from the response property allOf list for the response status

      response-property-all-of-removed

    • ○

      added the new optional request property

      new-optional-request-property

    • ○

      added to the request property anyOf list

      request-property-any-of-added

  • fc164a27fdb932See the full diff
    • ▲

      added subschema #2 to the request property allOf list

      request-property-all-of-added

    • ▲

      the request property became not nullable

      request-property-became-not-nullable

    • ▲

      removed subschema #1 from the request property oneOf list

      request-property-one-of-removed

    • ○

      added subschema #2 to the response property allOf list for the response status

      response-property-all-of-added

    • ○

      removed subschema #1 from the response property oneOf list for the response status

      response-property-one-of-removed

  • 15156e46769c213See the full diff
    • ▲

      the response property became nullable for the status

      response-property-became-nullable

    • ▲

      added subschema #1 to the response property oneOf list for the response status

      response-property-one-of-added

    • ●

      removed subschema #2 from the request property allOf list

      request-property-all-of-removed

    • ○

      the request property became nullable

      request-property-became-nullable

    • ○

      added subschema #1 to the request property oneOf list

      request-property-one-of-added

    • ○

      removed subschema #2 from the response property allOf list for the response status

      response-property-all-of-removed

  • bdebcdfcbbde32See the full diff
    • ▲

      added subschema #2 to the request property allOf list

      request-property-all-of-added

    • ▲

      the request property became not nullable

      request-property-became-not-nullable

    • ▲

      removed subschema #1 from the request property oneOf list

      request-property-one-of-removed

    • ○

      added subschema #2 to the response property allOf list for the response status

      response-property-all-of-added

    • ○

      removed subschema #1 from the response property oneOf list for the response status

      response-property-one-of-removed