> ## Documentation Index
> Fetch the complete documentation index at: https://openrouter-d02e98a0-mintlify-7021d5f4.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenResponsesRequest - Python SDK

> OpenResponsesRequest method reference

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

Request schema for Responses endpoint

## Fields

| Field                  | Type                                                                                                                     | Required             | Description                                                                                                                                                                                                                                                                                          | Example                                                                   |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------ | -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| `input`                | [Optional\[components.OpenResponsesInput\]](../components/openresponsesinput.md)                                         | :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`         | *OptionalNullable\[str]*                                                                                                 | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `metadata`             | Dict\[str, *str*]                                                                                                        | :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`                | List\[[components.OpenResponsesRequestToolUnion](/client-sdks/python/components/openresponsesrequesttoolunion)]          | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `tool_choice`          | [Optional\[components.OpenAIResponsesToolChoiceUnion\]](../components/openairesponsestoolchoiceunion.md)                 | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `parallel_tool_calls`  | *OptionalNullable\[bool]*                                                                                                | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `model`                | *Optional\[str]*                                                                                                         | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `models`               | List\[*str*]                                                                                                             | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `text`                 | [Optional\[components.OpenResponsesResponseText\]](../components/openresponsesresponsetext.md)                           | :heavy\_minus\_sign: | Text output configuration including format and verbosity                                                                                                                                                                                                                                             | `{"format": {"type": "text"}`,<br />"verbosity": "medium"<br />}          |
| `reasoning`            | [OptionalNullable\[components.OpenResponsesReasoningConfig\]](../components/openresponsesreasoningconfig.md)             | :heavy\_minus\_sign: | Configuration for reasoning mode in the response                                                                                                                                                                                                                                                     | `{"summary": "auto","enabled": true}`                                     |
| `max_output_tokens`    | *OptionalNullable\[float]*                                                                                               | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `temperature`          | *OptionalNullable\[float]*                                                                                               | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `top_p`                | *OptionalNullable\[float]*                                                                                               | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `top_logprobs`         | *OptionalNullable\[int]*                                                                                                 | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `max_tool_calls`       | *OptionalNullable\[int]*                                                                                                 | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `presence_penalty`     | *OptionalNullable\[float]*                                                                                               | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `frequency_penalty`    | *OptionalNullable\[float]*                                                                                               | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `top_k`                | *Optional\[float]*                                                                                                       | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `image_config`         | Dict\[str, [components.OpenResponsesRequestImageConfig](/client-sdks/python/components/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`           | List\[[components.ResponsesOutputModality](/client-sdks/python/components/responsesoutputmodality)]                      | :heavy\_minus\_sign: | Output modalities for the response. Supported values are "text" and "image".                                                                                                                                                                                                                         | \[<br />"text",<br />"image"<br />]                                       |
| `prompt_cache_key`     | *OptionalNullable\[str]*                                                                                                 | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `previous_response_id` | *OptionalNullable\[str]*                                                                                                 | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `prompt`               | [OptionalNullable\[components.OpenAIResponsesPrompt\]](../components/openairesponsesprompt.md)                           | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `include`              | List\[[components.OpenAIResponsesIncludable](/client-sdks/python/components/openairesponsesincludable)]                  | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `background`           | *OptionalNullable\[bool]*                                                                                                | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `safety_identifier`    | *OptionalNullable\[str]*                                                                                                 | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `store`                | *Optional\[Literal\[False]]*                                                                                             | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `service_tier`         | [Optional\[components.ServiceTier\]](../components/servicetier.md)                                                       | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `truncation`           | [OptionalNullable\[components.Truncation\]](../components/truncation.md)                                                 | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  | auto                                                                      |
| `stream`               | *Optional\[bool]*                                                                                                        | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                                                                                  |                                                                           |
| `provider`             | [OptionalNullable\[components.OpenResponsesRequestProvider\]](../components/openresponsesrequestprovider.md)             | :heavy\_minus\_sign: | When multiple model providers are available, optionally indicate your routing preference.                                                                                                                                                                                                            |                                                                           |
| `plugins`              | List\[[components.OpenResponsesRequestPluginUnion](/client-sdks/python/components/openresponsesrequestpluginunion)]      | :heavy\_minus\_sign: | Plugins you want to enable for this request, including their settings.                                                                                                                                                                                                                               |                                                                           |
| `user`                 | *Optional\[str]*                                                                                                         | :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. |                                                                           |
| `session_id`           | *Optional\[str]*                                                                                                         | :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.                                                          |                                                                           |
