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"
}
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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/perplexity-responsesrequest"
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.