> ## Documentation Index
> Fetch the complete documentation index at: https://openrouter.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenResponsesRequest - TypeScript SDK

> OpenResponsesRequest method reference

<Warning>
  The TypeScript SDK and docs are currently in beta.
  Report issues on [GitHub](https://github.com/OpenRouterTeam/typescript-sdk/issues).
</Warning>

Request schema for Responses endpoint

## Example Usage

```typescript lines theme={null}
import { OpenResponsesRequest } from "@openrouter/sdk/models";

let value: OpenResponsesRequest = {};
```

## Fields

| Field                | Type                                                                                             | Required             | Description                                                                                                                                                                                                                                                                                          | Example                                                                   |
| -------------------- | ------------------------------------------------------------------------------------------------ | -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| `input`              | *models.OpenResponsesInput*                                                                      | :heavy\_minus\_sign: | Input for a response request - can be a string or array of items                                                                                                                                                                                                                                     | \[<br />`{"role": "user","content": "What is the weather today?"}`<br />] |
| `instructions`       | *string*                                                                                         | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `metadata`           | `Record<string, *string*>`                                                                       | :heavy\_minus\_sign: | Metadata key-value pairs for the request. Keys must be ≤64 characters and cannot contain brackets. Values must be ≤512 characters. Maximum 16 pairs allowed.                                                                                                                                         | `{"user_id": "123","session_id": "abc-def-ghi"}`                          |
| `tools`              | *models.OpenResponsesRequestToolUnion*\[]                                                        | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `toolChoice`         | *models.OpenAIResponsesToolChoiceUnion*                                                          | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `parallelToolCalls`  | *boolean*                                                                                        | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `model`              | *string*                                                                                         | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `models`             | *string*\[]                                                                                      | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `text`               | [models.OpenResponsesResponseText](/agent-sdk/typescript/models/openresponsesresponsetext)       | :heavy\_minus\_sign: | Text output configuration including format and verbosity                                                                                                                                                                                                                                             | `{"format": {"type": "text"}`,<br />"verbosity": "medium"<br />}          |
| `reasoning`          | [models.OpenResponsesReasoningConfig](/agent-sdk/typescript/models/openresponsesreasoningconfig) | :heavy\_minus\_sign: | Configuration for reasoning mode in the response                                                                                                                                                                                                                                                     | `{"summary": "auto","enabled": true}`                                     |
| `maxOutputTokens`    | *number*                                                                                         | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `temperature`        | *number*                                                                                         | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `topP`               | *number*                                                                                         | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `topLogprobs`        | *number*                                                                                         | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `maxToolCalls`       | *number*                                                                                         | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `presencePenalty`    | *number*                                                                                         | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `frequencyPenalty`   | *number*                                                                                         | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `topK`               | *number*                                                                                         | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `imageConfig`        | `Record<string, *models.OpenResponsesRequestImageConfig*>`                                       | :heavy\_minus\_sign: | Provider-specific image configuration options. Keys and values vary by model/provider. See [https://openrouter.ai/docs/features/multimodal/image-generation](https://openrouter.ai/docs/features/multimodal/image-generation) for more details.                                                      | `{"aspect_ratio": "16:9"}`                                                |
| `modalities`         | [models.ResponsesOutputModality](/agent-sdk/typescript/models/responsesoutputmodality)\[]        | :heavy\_minus\_sign: | Output modalities for the response. Supported values are "text" and "image".                                                                                                                                                                                                                         | \[<br />"text",<br />"image"<br />]                                       |
| `promptCacheKey`     | *string*                                                                                         | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `previousResponseId` | *string*                                                                                         | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `prompt`             | [models.OpenAIResponsesPrompt](/agent-sdk/typescript/models/openairesponsesprompt)               | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `include`            | [models.OpenAIResponsesIncludable](/agent-sdk/typescript/models/openairesponsesincludable)\[]    | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `background`         | *boolean*                                                                                        | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `safetyIdentifier`   | *string*                                                                                         | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `store`              | *false*                                                                                          | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `serviceTier`        | [models.ServiceTier](/agent-sdk/typescript/models/servicetier)                                   | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `truncation`         | [models.Truncation](/agent-sdk/typescript/models/truncation)                                     | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  | auto                                                                      |
| `stream`             | *boolean*                                                                                        | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `provider`           | [models.OpenResponsesRequestProvider](/agent-sdk/typescript/models/openresponsesrequestprovider) | :heavy\_minus\_sign: | When multiple model providers are available, optionally indicate your routing preference.                                                                                                                                                                                                            |                                                                           |
| `plugins`            | *models.OpenResponsesRequestPluginUnion*\[]                                                      | :heavy\_minus\_sign: | Plugins you want to enable for this request, including their settings.                                                                                                                                                                                                                               |                                                                           |
| `user`               | *string*                                                                                         | :heavy\_minus\_sign: | A unique identifier representing your end-user, which helps distinguish between different users of your app. This allows your app to identify specific users in case of abuse reports, preventing your entire app from being affected by the actions of individual users. Maximum of 128 characters. |                                                                           |
| `sessionId`          | *string*                                                                                         | :heavy\_minus\_sign: | A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters.                                                          |                                                                           |
