Shared
Domain Types
All Models
-
AllModels = String | ChatModel | :"o1-pro" | :"o1-pro-2025-03-19" | :"o3-pro" | 11 more-
String = String -
ChatModel = :"gpt-5.4" | :"gpt-5.4-mini" | :"gpt-5.4-nano" | 75 more-
:"gpt-5.4" -
:"gpt-5.4-mini" -
:"gpt-5.4-nano" -
:"gpt-5.4-mini-2026-03-17" -
:"gpt-5.4-nano-2026-03-17" -
:"gpt-5.3-chat-latest" -
:"gpt-5.2" -
:"gpt-5.2-2025-12-11" -
:"gpt-5.2-chat-latest" -
:"gpt-5.2-pro" -
:"gpt-5.2-pro-2025-12-11" -
:"gpt-5.1" -
:"gpt-5.1-2025-11-13" -
:"gpt-5.1-codex" -
:"gpt-5.1-mini" -
:"gpt-5.1-chat-latest" -
:"gpt-5" -
:"gpt-5-mini" -
:"gpt-5-nano" -
:"gpt-5-2025-08-07" -
:"gpt-5-mini-2025-08-07" -
:"gpt-5-nano-2025-08-07" -
:"gpt-5-chat-latest" -
:"gpt-4.1" -
:"gpt-4.1-mini" -
:"gpt-4.1-nano" -
:"gpt-4.1-2025-04-14" -
:"gpt-4.1-mini-2025-04-14" -
:"gpt-4.1-nano-2025-04-14" -
:"o4-mini" -
:"o4-mini-2025-04-16" -
:o3 -
:"o3-2025-04-16" -
:"o3-mini" -
:"o3-mini-2025-01-31" -
:o1 -
:"o1-2024-12-17" -
:"o1-preview" -
:"o1-preview-2024-09-12" -
:"o1-mini" -
:"o1-mini-2024-09-12" -
:"gpt-4o" -
:"gpt-4o-2024-11-20" -
:"gpt-4o-2024-08-06" -
:"gpt-4o-2024-05-13" -
:"gpt-4o-audio-preview" -
:"gpt-4o-audio-preview-2024-10-01" -
:"gpt-4o-audio-preview-2024-12-17" -
:"gpt-4o-audio-preview-2025-06-03" -
:"gpt-4o-mini-audio-preview" -
:"gpt-4o-mini-audio-preview-2024-12-17" -
:"gpt-4o-search-preview" -
:"gpt-4o-mini-search-preview" -
:"gpt-4o-search-preview-2025-03-11" -
:"gpt-4o-mini-search-preview-2025-03-11" -
:"chatgpt-4o-latest" -
:"codex-mini-latest" -
:"gpt-4o-mini" -
:"gpt-4o-mini-2024-07-18" -
:"gpt-4-turbo" -
:"gpt-4-turbo-2024-04-09" -
:"gpt-4-0125-preview" -
:"gpt-4-turbo-preview" -
:"gpt-4-1106-preview" -
:"gpt-4-vision-preview" -
:"gpt-4" -
:"gpt-4-0314" -
:"gpt-4-0613" -
:"gpt-4-32k" -
:"gpt-4-32k-0314" -
:"gpt-4-32k-0613" -
:"gpt-3.5-turbo" -
:"gpt-3.5-turbo-16k" -
:"gpt-3.5-turbo-0301" -
:"gpt-3.5-turbo-0613" -
:"gpt-3.5-turbo-1106" -
:"gpt-3.5-turbo-0125" -
:"gpt-3.5-turbo-16k-0613"
-
-
ResponsesOnlyModel = :"o1-pro" | :"o1-pro-2025-03-19" | :"o3-pro" | 11 more-
:"o1-pro" -
:"o1-pro-2025-03-19" -
:"o3-pro" -
:"o3-pro-2025-06-10" -
:"o3-deep-research" -
:"o3-deep-research-2025-06-26" -
:"o4-mini-deep-research" -
:"o4-mini-deep-research-2025-06-26" -
:"computer-use-preview" -
:"computer-use-preview-2025-03-11" -
:"gpt-5-codex" -
:"gpt-5-pro" -
:"gpt-5-pro-2025-10-06" -
:"gpt-5.1-codex-max"
-
-
Chat Model
-
ChatModel = :"gpt-5.4" | :"gpt-5.4-mini" | :"gpt-5.4-nano" | 75 more-
:"gpt-5.4" -
:"gpt-5.4-mini" -
:"gpt-5.4-nano" -
:"gpt-5.4-mini-2026-03-17" -
:"gpt-5.4-nano-2026-03-17" -
:"gpt-5.3-chat-latest" -
:"gpt-5.2" -
:"gpt-5.2-2025-12-11" -
:"gpt-5.2-chat-latest" -
:"gpt-5.2-pro" -
:"gpt-5.2-pro-2025-12-11" -
:"gpt-5.1" -
:"gpt-5.1-2025-11-13" -
:"gpt-5.1-codex" -
:"gpt-5.1-mini" -
:"gpt-5.1-chat-latest" -
:"gpt-5" -
:"gpt-5-mini" -
:"gpt-5-nano" -
:"gpt-5-2025-08-07" -
:"gpt-5-mini-2025-08-07" -
:"gpt-5-nano-2025-08-07" -
:"gpt-5-chat-latest" -
:"gpt-4.1" -
:"gpt-4.1-mini" -
:"gpt-4.1-nano" -
:"gpt-4.1-2025-04-14" -
:"gpt-4.1-mini-2025-04-14" -
:"gpt-4.1-nano-2025-04-14" -
:"o4-mini" -
:"o4-mini-2025-04-16" -
:o3 -
:"o3-2025-04-16" -
:"o3-mini" -
:"o3-mini-2025-01-31" -
:o1 -
:"o1-2024-12-17" -
:"o1-preview" -
:"o1-preview-2024-09-12" -
:"o1-mini" -
:"o1-mini-2024-09-12" -
:"gpt-4o" -
:"gpt-4o-2024-11-20" -
:"gpt-4o-2024-08-06" -
:"gpt-4o-2024-05-13" -
:"gpt-4o-audio-preview" -
:"gpt-4o-audio-preview-2024-10-01" -
:"gpt-4o-audio-preview-2024-12-17" -
:"gpt-4o-audio-preview-2025-06-03" -
:"gpt-4o-mini-audio-preview" -
:"gpt-4o-mini-audio-preview-2024-12-17" -
:"gpt-4o-search-preview" -
:"gpt-4o-mini-search-preview" -
:"gpt-4o-search-preview-2025-03-11" -
:"gpt-4o-mini-search-preview-2025-03-11" -
:"chatgpt-4o-latest" -
:"codex-mini-latest" -
:"gpt-4o-mini" -
:"gpt-4o-mini-2024-07-18" -
:"gpt-4-turbo" -
:"gpt-4-turbo-2024-04-09" -
:"gpt-4-0125-preview" -
:"gpt-4-turbo-preview" -
:"gpt-4-1106-preview" -
:"gpt-4-vision-preview" -
:"gpt-4" -
:"gpt-4-0314" -
:"gpt-4-0613" -
:"gpt-4-32k" -
:"gpt-4-32k-0314" -
:"gpt-4-32k-0613" -
:"gpt-3.5-turbo" -
:"gpt-3.5-turbo-16k" -
:"gpt-3.5-turbo-0301" -
:"gpt-3.5-turbo-0613" -
:"gpt-3.5-turbo-1106" -
:"gpt-3.5-turbo-0125" -
:"gpt-3.5-turbo-16k-0613"
-
Comparison Filter
-
class ComparisonFilterA filter used to compare a specified attribute key to a given value using a defined comparison operation.
-
key: StringThe key to compare against the value.
-
type: :eq | :ne | :gt | 5 moreSpecifies the comparison operator:
eq,ne,gt,gte,lt,lte,in,nin.-
eq: equals -
ne: not equal -
gt: greater than -
gte: greater than or equal -
lt: less than -
lte: less than or equal -
in: in -
nin: not in -
:eq -
:ne -
:gt -
:gte -
:lt -
:lte -
:in -
:nin
-
-
value: String | Float | bool | Array[String | Float]The value to compare against the attribute key; supports string, number, or boolean types.
-
String = String -
Float = Float -
UnionMember2 = bool -
UnionMember3 = Array[String | Float]-
String = String -
Float = Float
-
-
-
Compound Filter
-
class CompoundFilterCombine multiple filters using
andoror.-
filters: Array[ComparisonFilter | untyped]Array of filters to combine. Items can be
ComparisonFilterorCompoundFilter.-
class ComparisonFilterA filter used to compare a specified attribute key to a given value using a defined comparison operation.
-
key: StringThe key to compare against the value.
-
type: :eq | :ne | :gt | 5 moreSpecifies the comparison operator:
eq,ne,gt,gte,lt,lte,in,nin.-
eq: equals -
ne: not equal -
gt: greater than -
gte: greater than or equal -
lt: less than -
lte: less than or equal -
in: in -
nin: not in -
:eq -
:ne -
:gt -
:gte -
:lt -
:lte -
:in -
:nin
-
-
value: String | Float | bool | Array[String | Float]The value to compare against the attribute key; supports string, number, or boolean types.
-
String = String -
Float = Float -
UnionMember2 = bool -
UnionMember3 = Array[String | Float]-
String = String -
Float = Float
-
-
-
-
UnionMember1 = untyped
-
-
type: :and | :orType of operation:
andoror.-
:and -
:or
-
-
Custom Tool Input Format
-
CustomToolInputFormat = Text{ type} | Grammar{ definition, syntax, type}The input format for the custom tool. Default is unconstrained text.
-
class TextUnconstrained free-form text.
-
type: :textUnconstrained text format. Always
text.:text
-
-
class GrammarA grammar defined by the user.
-
definition: StringThe grammar definition.
-
syntax: :lark | :regexThe syntax of the grammar definition. One of
larkorregex.-
:lark -
:regex
-
-
type: :grammarGrammar format. Always
grammar.:grammar
-
-
Error Object
-
class ErrorObject-
code: String -
message: String -
param: String -
type: String
-
Function Definition
-
class FunctionDefinition-
name: StringThe name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.
-
description: StringA description of what the function does, used by the model to choose when and how to call the function.
-
parameters: FunctionParametersThe parameters the functions accepts, described as a JSON Schema object. See the guide for examples, and the JSON Schema reference for documentation about the format.
Omitting
parametersdefines a function with an empty parameter list. -
strict: boolWhether to enable strict schema adherence when generating the function call. If set to true, the model will follow the exact schema defined in the
parametersfield. Only a subset of JSON Schema is supported whenstrictistrue. Learn more about Structured Outputs in the function calling guide.
-
Function Parameters
-
FunctionParameters = Hash[Symbol, untyped]The parameters the functions accepts, described as a JSON Schema object. See the guide for examples, and the JSON Schema reference for documentation about the format.
Omitting
parametersdefines a function with an empty parameter list.
Metadata
-
Metadata = Hash[Symbol, String]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.
OAuth Error Code
-
OAuthErrorCode = :invalid_grant | :invalid_subject_token | String-
OAuthErrorCode = :invalid_grant | :invalid_subject_token-
:invalid_grant -
:invalid_subject_token
-
-
String = String
-
Reasoning
-
class Reasoninggpt-5 and o-series models only
Configuration options for reasoning models.
-
context: :auto | :current_turn | :all_turnsControls which reasoning items are rendered back to the model on later turns. When returned on a response, this is the effective reasoning context mode used for the response.
-
:auto -
:current_turn -
:all_turns
-
-
effort: ReasoningEffortConstrains effort on reasoning for reasoning models. Currently supported values are
none,minimal,low,medium,high, andxhigh. Reducing reasoning effort can result in faster responses and fewer tokens used on reasoning in a response.-
gpt-5.1defaults tonone, which does not perform reasoning. The supported reasoning values forgpt-5.1arenone,low,medium, andhigh. Tool calls are supported for all reasoning values in gpt-5.1. -
All models before
gpt-5.1default tomediumreasoning effort, and do not supportnone. -
The
gpt-5-promodel defaults to (and only supports)highreasoning effort. -
xhighis supported for all models aftergpt-5.1-codex-max. -
:none -
:minimal -
:low -
:medium -
:high -
:xhigh
-
-
generate_summary: :auto | :concise | :detailedDeprecated: use
summaryinstead.A summary of the reasoning performed by the model. This can be useful for debugging and understanding the model's reasoning process. One of
auto,concise, ordetailed.-
:auto -
:concise -
:detailed
-
-
summary: :auto | :concise | :detailedA summary of the reasoning performed by the model. This can be useful for debugging and understanding the model's reasoning process. One of
auto,concise, ordetailed.conciseis supported forcomputer-use-previewmodels and all reasoning models aftergpt-5.-
:auto -
:concise -
:detailed
-
-
Reasoning Effort
-
ReasoningEffort = :none | :minimal | :low | 3 moreConstrains effort on reasoning for reasoning models. Currently supported values are
none,minimal,low,medium,high, andxhigh. Reducing reasoning effort can result in faster responses and fewer tokens used on reasoning in a response.-
gpt-5.1defaults tonone, which does not perform reasoning. The supported reasoning values forgpt-5.1arenone,low,medium, andhigh. Tool calls are supported for all reasoning values in gpt-5.1. -
All models before
gpt-5.1default tomediumreasoning effort, and do not supportnone. -
The
gpt-5-promodel defaults to (and only supports)highreasoning effort. -
xhighis supported for all models aftergpt-5.1-codex-max. -
:none -
:minimal -
:low -
:medium -
:high -
:xhigh
-
Response Format JSON Object
-
class ResponseFormatJSONObjectJSON object response format. An older method of generating JSON responses. Using
json_schemais recommended for models that support it. Note that the model will not generate JSON without a system or user message instructing it to do so.-
type: :json_objectThe type of response format being defined. Always
json_object.:json_object
-
Response Format JSON Schema
-
class ResponseFormatJSONSchemaJSON Schema response format. Used to generate structured JSON responses. Learn more about Structured Outputs.
-
json_schema: JSONSchema{ name, description, schema, strict}Structured Outputs configuration options, including a JSON Schema.
-
name: StringThe name of the response format. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.
-
description: StringA description of what the response format is for, used by the model to determine how to respond in the format.
-
schema: Hash[Symbol, untyped]The schema for the response format, described as a JSON Schema object. Learn how to build JSON schemas here.
-
strict: boolWhether to enable strict schema adherence when generating the output. If set to true, the model will always follow the exact schema defined in the
schemafield. Only a subset of JSON Schema is supported whenstrictistrue. To learn more, read the Structured Outputs guide.
-
-
type: :json_schemaThe type of response format being defined. Always
json_schema.:json_schema
-
Response Format Text
-
class ResponseFormatTextDefault response format. Used to generate text responses.
-
type: :textThe type of response format being defined. Always
text.:text
-
Response Format Text Grammar
-
class ResponseFormatTextGrammarA custom grammar for the model to follow when generating text. Learn more in the custom grammars guide.
-
grammar: StringThe custom grammar for the model to follow.
-
type: :grammarThe type of response format being defined. Always
grammar.:grammar
-
Response Format Text Python
-
class ResponseFormatTextPythonConfigure the model to generate valid Python code. See the custom grammars guide for more details.
-
type: :pythonThe type of response format being defined. Always
python.:python
-
Responses Model
-
ResponsesModel = String | ChatModel | :"o1-pro" | :"o1-pro-2025-03-19" | :"o3-pro" | 11 more-
String = String -
ChatModel = :"gpt-5.4" | :"gpt-5.4-mini" | :"gpt-5.4-nano" | 75 more-
:"gpt-5.4" -
:"gpt-5.4-mini" -
:"gpt-5.4-nano" -
:"gpt-5.4-mini-2026-03-17" -
:"gpt-5.4-nano-2026-03-17" -
:"gpt-5.3-chat-latest" -
:"gpt-5.2" -
:"gpt-5.2-2025-12-11" -
:"gpt-5.2-chat-latest" -
:"gpt-5.2-pro" -
:"gpt-5.2-pro-2025-12-11" -
:"gpt-5.1" -
:"gpt-5.1-2025-11-13" -
:"gpt-5.1-codex" -
:"gpt-5.1-mini" -
:"gpt-5.1-chat-latest" -
:"gpt-5" -
:"gpt-5-mini" -
:"gpt-5-nano" -
:"gpt-5-2025-08-07" -
:"gpt-5-mini-2025-08-07" -
:"gpt-5-nano-2025-08-07" -
:"gpt-5-chat-latest" -
:"gpt-4.1" -
:"gpt-4.1-mini" -
:"gpt-4.1-nano" -
:"gpt-4.1-2025-04-14" -
:"gpt-4.1-mini-2025-04-14" -
:"gpt-4.1-nano-2025-04-14" -
:"o4-mini" -
:"o4-mini-2025-04-16" -
:o3 -
:"o3-2025-04-16" -
:"o3-mini" -
:"o3-mini-2025-01-31" -
:o1 -
:"o1-2024-12-17" -
:"o1-preview" -
:"o1-preview-2024-09-12" -
:"o1-mini" -
:"o1-mini-2024-09-12" -
:"gpt-4o" -
:"gpt-4o-2024-11-20" -
:"gpt-4o-2024-08-06" -
:"gpt-4o-2024-05-13" -
:"gpt-4o-audio-preview" -
:"gpt-4o-audio-preview-2024-10-01" -
:"gpt-4o-audio-preview-2024-12-17" -
:"gpt-4o-audio-preview-2025-06-03" -
:"gpt-4o-mini-audio-preview" -
:"gpt-4o-mini-audio-preview-2024-12-17" -
:"gpt-4o-search-preview" -
:"gpt-4o-mini-search-preview" -
:"gpt-4o-search-preview-2025-03-11" -
:"gpt-4o-mini-search-preview-2025-03-11" -
:"chatgpt-4o-latest" -
:"codex-mini-latest" -
:"gpt-4o-mini" -
:"gpt-4o-mini-2024-07-18" -
:"gpt-4-turbo" -
:"gpt-4-turbo-2024-04-09" -
:"gpt-4-0125-preview" -
:"gpt-4-turbo-preview" -
:"gpt-4-1106-preview" -
:"gpt-4-vision-preview" -
:"gpt-4" -
:"gpt-4-0314" -
:"gpt-4-0613" -
:"gpt-4-32k" -
:"gpt-4-32k-0314" -
:"gpt-4-32k-0613" -
:"gpt-3.5-turbo" -
:"gpt-3.5-turbo-16k" -
:"gpt-3.5-turbo-0301" -
:"gpt-3.5-turbo-0613" -
:"gpt-3.5-turbo-1106" -
:"gpt-3.5-turbo-0125" -
:"gpt-3.5-turbo-16k-0613"
-
-
ResponsesOnlyModel = :"o1-pro" | :"o1-pro-2025-03-19" | :"o3-pro" | 11 more-
:"o1-pro" -
:"o1-pro-2025-03-19" -
:"o3-pro" -
:"o3-pro-2025-06-10" -
:"o3-deep-research" -
:"o3-deep-research-2025-06-26" -
:"o4-mini-deep-research" -
:"o4-mini-deep-research-2025-06-26" -
:"computer-use-preview" -
:"computer-use-preview-2025-03-11" -
:"gpt-5-codex" -
:"gpt-5-pro" -
:"gpt-5-pro-2025-10-06" -
:"gpt-5.1-codex-max"
-
-