OpenAI · Schema

AgentResource

A reusable agent scoped to the caller's project.

LLMOpenAIArtificial IntelligenceGenerative AIChatbotsFoundation ModelsT1

Properties

Name Type Description
id string The ID of the reusable agent.
object string The object type. Always `agent`.
created_at integer The Unix timestamp, in seconds, when the agent was created.
updated_at integer The Unix timestamp, in seconds, when the agent was last updated.
name stringnull A human-readable name for the agent, or null if it is unnamed.
metadata object Custom string key-value pairs attached to the agent.
model string The requested model name used for inference.
reasoning object The resolved reasoning configuration, including the model default for an omitted effort.
text object The resolved configuration for text generated by the agent.
service_tier object The resolved service-tier policy used for model requests.
instructions stringnull Custom instructions appended to the agent's default base instructions.
tools array Tools available to the agent.
multi_agent object The resolved configuration for creating and coordinating subagents.
View JSON Schema on GitHub

JSON Schema

openai-agent-resource-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/openai/main/json-schema/openai-agent-resource-schema.json",
  "title": "AgentResource",
  "description": "A reusable agent scoped to the caller's project.",
  "x-generated": "2026-09-23",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/openai-agents-api-openapi.yml#/components/schemas/AgentResource",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 0,
      "description": "The ID of the reusable agent."
    },
    "object": {
      "type": "string",
      "enum": [
        "agent"
      ],
      "default": "agent",
      "x-stainless-const": true,
      "description": "The object type. Always `agent`."
    },
    "created_at": {
      "type": "integer",
      "format": "int64",
      "description": "The Unix timestamp, in seconds, when the agent was created."
    },
    "updated_at": {
      "type": "integer",
      "format": "int64",
      "description": "The Unix timestamp, in seconds, when the agent was last updated."
    },
    "name": {
      "type": [
        "string",
        "null"
      ],
      "minLength": 0,
      "description": "A human-readable name for the agent, or null if it is unnamed."
    },
    "metadata": {
      "type": "object",
      "additionalProperties": {
        "type": "string",
        "minLength": 0
      },
      "propertyNames": {
        "type": "string",
        "minLength": 0
      },
      "minProperties": 0,
      "description": "Custom string key-value pairs attached to the agent."
    },
    "model": {
      "type": "string",
      "minLength": 0,
      "description": "The requested model name used for inference."
    },
    "reasoning": {
      "$ref": "#/$defs/ReasoningResource",
      "description": "The resolved reasoning configuration, including the model default for an omitted effort."
    },
    "text": {
      "$ref": "#/$defs/TextResource",
      "description": "The resolved configuration for text generated by the agent."
    },
    "service_tier": {
      "$ref": "#/$defs/ServiceTierResource",
      "description": "The resolved service-tier policy used for model requests."
    },
    "instructions": {
      "type": [
        "string",
        "null"
      ],
      "minLength": 0,
      "description": "Custom instructions appended to the agent's default base instructions."
    },
    "tools": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/PersistedAgentToolResource"
      },
      "minItems": 0,
      "maxItems": 2000,
      "description": "Tools available to the agent."
    },
    "multi_agent": {
      "$ref": "#/$defs/MultiAgentConfigResource",
      "description": "The resolved configuration for creating and coordinating subagents."
    }
  },
  "required": [
    "id",
    "object",
    "created_at",
    "updated_at",
    "name",
    "metadata",
    "model",
    "reasoning",
    "text",
    "service_tier",
    "instructions",
    "tools",
    "multi_agent"
  ],
  "additionalProperties": false,
  "$defs": {
    "McpConnectionOriginResource": {
      "type": "string",
      "enum": [
        "service",
        "environment"
      ],
      "description": "Where outbound MCP HTTP connections originate."
    },
    "MultiAgentConfigResource": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "Whether subagent tools are enabled. Defaults to false."
        },
        "max_concurrent_subagents": {
          "type": [
            "integer",
            "null"
          ],
          "format": "int64",
          "minimum": 1,
          "maximum": 4294967295,
          "description": "Maximum number of subagents that may run concurrently, or null when disabled. Defaults to 6 when enabled."
        }
      },
      "required": [
        "enabled",
        "max_concurrent_subagents"
      ],
      "additionalProperties": false,
      "description": "The resolved configuration for creating and coordinating subagents."
    },
    "PersistedAgentToolResource": {
      "oneOf": [
        {
          "$ref": "#/$defs/PersistedAgentToolResourceFunction"
        },
        {
          "$ref": "#/$defs/PersistedAgentToolResourceToolSearch"
        },
        {
          "$ref": "#/$defs/PersistedAgentToolResourceProgrammaticToolCalling"
        },
        {
          "$ref": "#/$defs/PersistedAgentToolResourceMcp"
        },
        {
          "$ref": "#/$defs/PersistedAgentToolResourceWebSearch"
        }
      ],
      "x-oai-discriminator-values": [
        "function",
        "tool_search",
        "programmatic_tool_calling",
        "mcp",
        "web_search"
      ],
      "description": "A credential-free tool available to a reusable agent."
    },
    "PersistedAgentToolResourceFunction": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "function"
          ],
          "default": "function",
          "x-stainless-const": true,
          "description": "The type of the object. Always `function`."
        },
        "name": {
          "type": "string",
          "minLength": 0,
          "description": "The name of the function."
        },
        "description": {
          "type": "string",
          "minLength": 0,
          "description": "A description of what the function does."
        },
        "parameters": {
          "type": "object",
          "additionalProperties": {},
          "propertyNames": {
            "type": "string",
            "minLength": 0
          },
          "minProperties": 0,
          "description": "A JSON Schema object describing the function's arguments."
        },
        "defer_loading": {
          "type": "boolean",
          "description": "Whether the function is deferred and discovered through tool search."
        }
      },
      "required": [
        "type",
        "name",
        "description",
        "parameters",
        "defer_loading"
      ],
      "additionalProperties": false,
      "description": "A function defined by the application."
    },
    "PersistedAgentToolResourceMcp": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "mcp"
          ],
          "default": "mcp",
          "x-stainless-const": true,
          "description": "The type of the object. Always `mcp`."
        },
        "server_label": {
          "type": "string",
          "minLength": 0,
          "description": "A label used to identify the MCP server in tool calls."
        },
        "credential_id": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 0,
          "description": "The vault credential selected for this MCP server, if any."
        },
        "transport": {
          "$ref": "#/$defs/PersistedMcpTransportResource",
          "description": "The credential-free transport used to connect to the MCP server."
        },
        "request_metadata": {
          "type": "object",
          "additionalProperties": {},
          "propertyNames": {
            "type": "string",
            "minLength": 0
          },
          "minProperties": 0,
          "description": "Metadata included with requests to this MCP server."
        },
        "allowed_tools": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "maxItems": 2000,
          "description": "The MCP tools the agent may call, or null when all server tools are allowed."
        },
        "required": {
          "type": "boolean",
          "description": "Whether this MCP server must initialize before the first turn."
        },
        "connection_origin": {
          "$ref": "#/$defs/McpConnectionOriginResource",
          "description": "Where outbound MCP HTTP connections originate."
        }
      },
      "required": [
        "type",
        "server_label",
        "credential_id",
        "transport",
        "request_metadata",
        "allowed_tools",
        "required",
        "connection_origin"
      ],
      "additionalProperties": false,
      "description": "Tools provided by a remote MCP server without stored credentials."
    },
    "PersistedAgentToolResourceProgrammaticToolCalling": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "programmatic_tool_calling"
          ],
          "default": "programmatic_tool_calling",
          "x-stainless-const": true,
          "description": "The type of the object. Always `programmatic_tool_calling`."
        },
        "enabled": {
          "type": "boolean",
          "description": "Whether tools can be called from model-generated code."
        }
      },
      "required": [
        "type",
        "enabled"
      ],
      "additionalProperties": false,
      "description": "Enables calling tools from model-generated code."
    },
    "PersistedAgentToolResourceToolSearch": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "tool_search"
          ],
          "default": "tool_search",
          "x-stainless-const": true,
          "description": "The type of the object. Always `tool_search`."
        }
      },
      "required": [
        "type"
      ],
      "additionalProperties": false,
      "description": "Discovers deferred function tools and loads them into the model context."
    },
    "PersistedAgentToolResourceWebSearch": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "web_search"
          ],
          "default": "web_search",
          "x-stainless-const": true,
          "description": "The type of the object. Always `web_search`."
        },
        "mode": {
          "$ref": "#/$defs/WebSearchModeResource",
          "description": "The source used for web search results."
        },
        "context_size": {
          "$ref": "#/$defs/WebSearchContextSizeResource",
          "description": "The amount of search context made available to the model. Defaults to `medium`."
        },
        "allowed_domains": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "maxItems": 2000,
          "description": "Allowed search domains, or `null` when the search is unrestricted."
        },
        "location": {
          "anyOf": [
            {
              "$ref": "#/$defs/WebSearchLocationResource"
            },
            {
              "type": "null"
            }
          ],
          "description": "Approximate location used to localize search results, if provided."
        }
      },
      "required": [
        "type",
        "mode",
        "context_size",
        "allowed_domains",
        "location"
      ],
      "additionalProperties": false,
      "description": "Web search."
    },
    "PersistedMcpTransportResource": {
      "oneOf": [
        {
          "$ref": "#/$defs/PersistedMcpTransportResourceHttp"
        },
        {
          "$ref": "#/$defs/PersistedMcpTransportResourceStdio"
        }
      ],
      "x-oai-discriminator-values": [
        "http",
        "stdio"
      ],
      "description": "A credential-free transport used to connect to an MCP server."
    },
    "PersistedMcpTransportResourceHttp": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "http"
          ],
          "default": "http",
          "x-stainless-const": true,
          "description": "The type of the object. Always `http`."
        },
        "server_url": {
          "type": "string",
          "minLength": 0,
          "description": "The URL of the MCP server."
        },
        "headers": {
          "type": "object",
          "additionalProperties": {
            "type": "string",
            "minLength": 0
          },
          "propertyNames": {
            "type": "string",
            "minLength": 0
          },
          "minProperties": 0,
          "description": "Non-secret HTTP headers sent to the MCP server."
        }
      },
      "required": [
        "type",
        "server_url",
        "headers"
      ],
      "additionalProperties": false,
      "description": "Connects to an MCP server over HTTP."
    },
    "PersistedMcpTransportResourceStdio": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "stdio"
          ],
          "default": "stdio",
          "x-stainless-const": true,
          "description": "The type of the object. Always `stdio`."
        },
        "command": {
          "type": "string",
          "minLength": 0,
          "description": "The command used to start the MCP server."
        },
        "args": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "maxItems": 2000,
          "description": "Arguments passed to the MCP server command."
        },
        "cwd": {
          "type": "string",
          "minLength": 0,
          "description": "The working directory used to start the MCP server."
        },
        "env_vars": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "maxItems": 2000,
          "description": "Environment variable names inherited from the execution environment."
        }
      },
      "required": [
        "type",
        "command",
        "args",
        "cwd",
        "env_vars"
      ],
      "additionalProperties": false,
      "description": "Starts an MCP server as a local process."
    },
    "ReasoningEffortResource": {
      "type": "string",
      "enum": [
        "none",
        "minimal",
        "low",
        "medium",
        "high",
        "xhigh",
        "max"
      ],
      "description": "The amount of reasoning effort used by an agent."
    },
    "ReasoningResource": {
      "type": "object",
      "properties": {
        "effort": {
          "anyOf": [
            {
              "$ref": "#/$defs/ReasoningEffortResource"
            },
            {
              "type": "null"
            }
          ],
          "description": "The requested reasoning effort, or `null` when the model selects its own default."
        },
        "summary": {
          "anyOf": [
            {
              "$ref": "#/$defs/ReasoningSummaryResource"
            },
            {
              "type": "null"
            }
          ],
          "description": "The requested reasoning summary format, or `null` when summaries are disabled."
        }
      },
      "required": [
        "effort",
        "summary"
      ],
      "additionalProperties": false,
      "description": "The reasoning configuration used by an agent."
    },
    "ReasoningSummaryResource": {
      "type": "string",
      "enum": [
        "concise",
        "detailed",
        "auto"
      ],
      "x-enumDescriptions": [
        "Returns a concise reasoning summary when supported.",
        "Returns a detailed reasoning summary when supported.",
        "Automatically selects the most detailed summary supported by the model."
      ],
      "description": "The reasoning summary format requested from an agent."
    },
    "ServiceTierResource": {
      "type": "string",
      "enum": [
        "auto",
        "default",
        "flex",
        "priority",
        "fast"
      ],
      "description": "The service-tier policy configured for an agent."
    },
    "TextFormatResource": {
      "oneOf": [
        {
          "$ref": "#/$defs/TextFormatResourceText"
        },
        {
          "$ref": "#/$defs/TextFormatResourceJsonSchema"
        }
      ],
      "x-oai-discriminator-values": [
        "text",
        "json_schema"
      ],
      "description": "The effective output format for generated text."
    },
    "TextFormatResourceJsonSchema": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "json_schema"
          ],
          "default": "json_schema",
          "x-stainless-const": true,
          "description": "The type of the object. Always `json_schema`."
        },
        "schema": {
          "type": "object",
          "additionalProperties": {},
          "propertyNames": {
            "type": "string",
            "minLength": 0
          },
          "minProperties": 0,
          "description": "The JSON Schema that generated text must match."
        }
      },
      "required": [
        "type",
        "schema"
      ],
      "additionalProperties": false,
      "description": "Constrains generated text to a JSON Schema."
    },
    "TextFormatResourceText": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "text"
          ],
          "default": "text",
          "x-stainless-const": true,
          "description": "The type of the object. Always `text`."
        }
      },
      "required": [
        "type"
      ],
      "additionalProperties": false,
      "description": "Generates ordinary text without a structured-output constraint."
    },
    "TextResource": {
      "type": "object",
      "properties": {
        "format": {
          "$ref": "#/$defs/TextFormatResource",
          "description": "The effective output format. Defaults to ordinary text."
        },
        "verbosity": {
          "$ref": "#/$defs/VerbosityResource",
          "description": "The amount of text produced by the agent. Defaults to `medium`."
        }
      },
      "required": [
        "format",
        "verbosity"
      ],
      "additionalProperties": false,
      "description": "The text configuration used by an agent."
    },
    "VerbosityResource": {
      "type": "string",
      "enum": [
        "low",
        "medium",
        "high"
      ],
      "description": "The amount of text produced by an agent."
    },
    "WebSearchContextSizeResource": {
      "type": "string",
      "enum": [
        "low",
        "medium",
        "high"
      ],
      "description": "The amount of web search context made available to the model."
    },
    "WebSearchLocationResource": {
      "type": "object",
      "properties": {
        "country": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 0,
          "description": "The two-letter ISO country code, such as `US`."
        },
        "region": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 0,
          "description": "The region or state name."
        },
        "city": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 0,
          "description": "The city name."
        },
        "timezone": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 0,
          "description": "The IANA timezone, such as `America/Los_Angeles`."
        }
      },
      "required": [
        "country",
        "region",
        "city",
        "timezone"
      ],
      "additionalProperties": false,
      "description": "Approximate user location used to localize web search results."
    },
    "WebSearchModeResource": {
      "type": "string",
      "enum": [
        "disabled",
        "cached",
        "live"
      ],
      "description": "The source used for web search results."
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/openai-agent-resource"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.