Perplexity · Schema
ResponsesRequest
Properties
| Name | Type | Description |
|---|---|---|
| input | object | |
| instructions | string | System instructions for the model |
| language_preference | string | ISO 639-1 language code for response language |
| max_output_tokens | integer | Maximum tokens to generate |
| max_steps | integer | Maximum number of research loop steps. If provided, overrides the preset's max_steps value. Must be >= 1 if specified. Maximum allowed is 10. |
| model | string | Model ID in provider/model format (e.g., "xai/grok-4-1", "openai/gpt-4o"). If models is also provided, models takes precedence. Required if neither models nor preset is provided. |
| models | array | Model fallback chain. Each model is in provider/model format. Models are tried in order until one succeeds. Max 5 models allowed. If set, takes precedence over single model field. The response.model w |
| preset | string | Preset configuration name (e.g., "fast-search", "pro-search", "deep-research"). Pre-configured model with system prompt and search parameters. Required if model is not provided. |
| reasoning | object | |
| response_format | object | |
| stream | boolean | If true, returns SSE stream instead of JSON |
| tools | array | Tools available to the model |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/ResponsesRequest",
"title": "ResponsesRequest",
"properties": {
"input": {
"$ref": "#/components/schemas/Input"
},
"instructions": {
"description": "System instructions for the model",
"type": "string"
},
"language_preference": {
"description": "ISO 639-1 language code for response language",
"type": "string"
},
"max_output_tokens": {
"description": "Maximum tokens to generate",
"format": "int32",
"minimum": 1,
"type": "integer"
},
"max_steps": {
"description": "Maximum number of research loop steps.\nIf provided, overrides the preset's max_steps value.\nMust be >= 1 if specified. Maximum allowed is 10.\n",
"format": "int32",
"maximum": 10,
"minimum": 1,
"type": "integer"
},
"model": {
"description": "Model ID in provider/model format (e.g., \"xai/grok-4-1\", \"openai/gpt-4o\").\nIf models is also provided, models takes precedence.\nRequired if neither models nor preset is provided.\n",
"type": "string"
},
"models": {
"description": "Model fallback chain. Each model is in provider/model format.\nModels are tried in order until one succeeds.\nMax 5 models allowed. If set, takes precedence over single model field.\nThe response.model will reflect the model that actually succeeded.\n",
"items": {
"type": "string"
},
"maxItems": 5,
"minItems": 1,
"type": "array"
},
"preset": {
"description": "Preset configuration name (e.g., \"fast-search\", \"pro-search\", \"deep-research\").\nPre-configured model with system prompt and search parameters.\nRequired if model is not provided.\n",
"type": "string"
},
"reasoning": {
"$ref": "#/components/schemas/ReasoningConfig"
},
"response_format": {
"$ref": "#/components/schemas/ResponseFormat"
},
"stream": {
"description": "If true, returns SSE stream instead of JSON",
"type": "boolean"
},
"tools": {
"description": "Tools available to the model",
"items": {
"$ref": "#/components/schemas/Tool"
},
"type": "array"
}
},
"required": [
"input"
],
"type": "object"
}