{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/azure-ai-foundry/json-schema/azure-ai-foundry-update-agent-options-schema.json",
  "title": "UpdateAgentOptions",
  "description": "The request details to use when modifying an existing agent.",
  "x-generated": "2026-11-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_superseded/azure-ai-foundry-assistants-api-openapi.yml#/components/schemas/UpdateAgentOptions",
  "type": "object",
  "properties": {
    "model": {
      "type": "string",
      "description": "The ID of the model to use."
    },
    "name": {
      "type": [
        "string",
        "null"
      ],
      "description": "The modified name for the agent to use."
    },
    "description": {
      "type": [
        "string",
        "null"
      ],
      "description": "The modified description for the agent to use."
    },
    "instructions": {
      "type": [
        "string",
        "null"
      ],
      "description": "The modified system instructions for the new agent to use."
    },
    "tools": {
      "type": "array",
      "description": "The modified collection of tools to enable for the agent.",
      "default": [],
      "items": {
        "$ref": "#/$defs/ToolDefinition"
      }
    },
    "tool_resources": {
      "$ref": "#/$defs/ToolResources",
      "description": "A set of resources that are used by the agent's tools. The resources are specific to the type of tool. For example,\nthe `code_interpreter` tool requires a list of file IDs, while the `file_search` tool requires a list of vector store IDs.",
      "x-ms-client-name": "toolResources"
    },
    "temperature": {
      "type": [
        "number",
        "null"
      ],
      "format": "float",
      "description": "What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random,\nwhile lower values like 0.2 will make it more focused and deterministic.",
      "default": 1,
      "minimum": 0,
      "maximum": 2
    },
    "top_p": {
      "type": [
        "number",
        "null"
      ],
      "format": "float",
      "description": "An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.\nSo 0.1 means only the tokens comprising the top 10% probability mass are considered.\n\nWe generally recommend altering this or temperature but not both.",
      "default": 1,
      "minimum": 0,
      "maximum": 1,
      "x-ms-client-name": "topP"
    },
    "response_format": {
      "$ref": "#/$defs/AgentsResponseFormatOption",
      "description": "The response format of the tool calls used by this agent.",
      "x-ms-client-name": "responseFormat"
    },
    "metadata": {
      "type": [
        "object",
        "null"
      ],
      "description": "A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.",
      "additionalProperties": {
        "type": "string"
      }
    }
  },
  "$defs": {
    "AISearchIndexResource": {
      "type": "object",
      "description": "A AI Search Index resource.",
      "properties": {
        "index_connection_id": {
          "type": "string",
          "description": "An index connection id in an IndexResource attached to this agent.",
          "x-ms-client-name": "indexConnectionId"
        },
        "index_name": {
          "type": "string",
          "description": "The name of an index in an IndexResource attached to this agent.",
          "x-ms-client-name": "indexName"
        },
        "query_type": {
          "$ref": "#/$defs/AzureAISearchQueryType",
          "description": "Type of query in an AIIndexResource attached to this agent.",
          "x-ms-client-name": "queryType"
        },
        "top_k": {
          "type": "integer",
          "format": "int32",
          "description": "Number of documents to retrieve from search and present to the model.",
          "x-ms-client-name": "topK"
        },
        "filter": {
          "type": "string",
          "description": "filter string for search resource."
        },
        "index_asset_id": {
          "type": "string",
          "description": "Index asset id for search resource.",
          "x-ms-client-name": "indexAssetId"
        }
      }
    },
    "AgentsResponseFormatOption": {},
    "AzureAISearchQueryType": {
      "type": "string",
      "description": "Available query types for Azure AI Search tool.",
      "enum": [
        "simple",
        "semantic",
        "vector",
        "vector_simple_hybrid",
        "vector_semantic_hybrid"
      ],
      "x-ms-enum": {
        "name": "AzureAISearchQueryType",
        "modelAsString": true,
        "values": [
          {
            "name": "simple",
            "value": "simple",
            "description": "Query type `simple`"
          },
          {
            "name": "semantic",
            "value": "semantic",
            "description": "Query type `semantic`"
          },
          {
            "name": "vector",
            "value": "vector",
            "description": "Query type `vector`"
          },
          {
            "name": "vector_simple_hybrid",
            "value": "vector_simple_hybrid",
            "description": "Query type `vector_simple_hybrid`"
          },
          {
            "name": "vector_semantic_hybrid",
            "value": "vector_semantic_hybrid",
            "description": "Query type `vector_semantic_hybrid`"
          }
        ]
      }
    },
    "AzureAISearchToolResource": {
      "type": "object",
      "description": "A set of index resources used by the `azure_ai_search` tool.",
      "properties": {
        "indexes": {
          "type": "array",
          "description": "The indices attached to this agent. There can be a maximum of 1 index\nresource attached to the agent.",
          "maxItems": 1,
          "items": {
            "$ref": "#/$defs/AISearchIndexResource"
          },
          "x-ms-client-name": "indexList"
        }
      }
    },
    "CodeInterpreterToolResource": {
      "type": "object",
      "description": "A set of resources that are used by the `code_interpreter` tool.",
      "properties": {
        "file_ids": {
          "type": "array",
          "description": "A list of file IDs made available to the `code_interpreter` tool. There can be a maximum of 20 files\nassociated with the tool.",
          "default": [],
          "maxItems": 20,
          "items": {
            "type": "string"
          },
          "x-ms-client-name": "fileIds"
        },
        "data_sources": {
          "type": "array",
          "description": "The data sources to be used. This option is mutually exclusive with the `fileIds` property.",
          "maxItems": 20,
          "items": {
            "$ref": "#/$defs/VectorStoreDataSource"
          },
          "x-ms-client-name": "dataSources"
        }
      }
    },
    "FileSearchToolResource": {
      "type": "object",
      "description": "A set of resources that are used by the `file_search` tool.",
      "properties": {
        "vector_store_ids": {
          "type": "array",
          "description": "The ID of the vector store attached to this agent. There can be a maximum of 1 vector\nstore attached to the agent.",
          "maxItems": 1,
          "items": {
            "type": "string"
          },
          "x-ms-client-name": "vectorStoreIds"
        },
        "vector_stores": {
          "type": "array",
          "description": "The list of vector store configuration objects from Azure.\nThis list is limited to one element.\nThe only element of this list contains the list of azure asset IDs used by the search tool.",
          "maxItems": 1,
          "items": {
            "$ref": "#/$defs/VectorStoreConfigurations"
          },
          "x-ms-client-name": "vectorStores"
        }
      }
    },
    "ToolDefinition": {
      "type": "object",
      "description": "An abstract representation of an input tool definition that an agent can use.",
      "properties": {
        "type": {
          "type": "string",
          "description": "The object type."
        }
      },
      "required": [
        "type"
      ]
    },
    "ToolResources": {
      "type": "object",
      "description": "A set of resources that are used by the agent's tools. The resources are specific to the type of\ntool. For example, the `code_interpreter` tool requires a list of file IDs, while the `file_search`\ntool requires a list of vector store IDs.",
      "properties": {
        "code_interpreter": {
          "$ref": "#/$defs/CodeInterpreterToolResource",
          "description": "Resources to be used by the `code_interpreter` tool consisting of file IDs.",
          "x-ms-client-name": "codeInterpreter"
        },
        "file_search": {
          "$ref": "#/$defs/FileSearchToolResource",
          "description": "Resources to be used by the `file_search` tool consisting of vector store IDs.",
          "x-ms-client-name": "fileSearch"
        },
        "azure_ai_search": {
          "$ref": "#/$defs/AzureAISearchToolResource",
          "description": "Resources to be used by the `azure_ai_search` tool consisting of index IDs and names.",
          "x-ms-client-name": "azureAISearch"
        }
      }
    },
    "VectorStoreConfiguration": {
      "type": "object",
      "description": "Vector storage configuration is the list of data sources, used when multiple\nfiles can be used for the enterprise file search.",
      "properties": {
        "data_sources": {
          "type": "array",
          "description": "Data sources",
          "items": {
            "$ref": "#/$defs/VectorStoreDataSource"
          },
          "x-ms-client-name": "dataSources"
        }
      },
      "required": [
        "data_sources"
      ]
    },
    "VectorStoreConfigurations": {
      "type": "object",
      "description": "The structure, containing the list of vector storage configurations i.e. the list of azure asset IDs.",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name",
          "x-ms-client-name": "storeName"
        },
        "configuration": {
          "$ref": "#/$defs/VectorStoreConfiguration",
          "description": "Configurations",
          "x-ms-client-name": "storeConfiguration"
        }
      },
      "required": [
        "name",
        "configuration"
      ]
    },
    "VectorStoreDataSource": {
      "type": "object",
      "description": "The structure, containing Azure asset URI path and the asset type of the file used as a data source\nfor the enterprise file search.",
      "properties": {
        "uri": {
          "type": "string",
          "description": "Asset URI.",
          "x-ms-client-name": "assetIdentifier"
        },
        "type": {
          "$ref": "#/$defs/VectorStoreDataSourceAssetType",
          "description": "The asset type",
          "x-ms-client-name": "assetType"
        }
      },
      "required": [
        "uri",
        "type"
      ]
    },
    "VectorStoreDataSourceAssetType": {
      "type": "string",
      "description": "Type of vector storage asset. Asset type may be a uri_asset, in this case it should contain asset URI ID,\nin the case of id_asset it should contain the data ID.",
      "enum": [
        "uri_asset",
        "id_asset"
      ],
      "x-ms-enum": {
        "name": "VectorStoreDataSourceAssetType",
        "modelAsString": true,
        "values": [
          {
            "name": "uri_asset",
            "value": "uri_asset",
            "description": "Azure URI"
          },
          {
            "name": "id_asset",
            "value": "id_asset",
            "description": "The data ID"
          }
        ]
      }
    }
  }
}