Files
openrouter-python-sdk-retry…/docs/sdks/responses/README.md
T
github-actions[bot]GitHubspeakeasybotspeakeasy-github[bot] <128539517+speakeasy-github[bot]@users.noreply.github.com>
5e0b1a2b69 chore: 🐝 Update SDK - Generate 0.10.1 (#366)
Co-authored-by: speakeasybot <bot@speakeasyapi.dev>
Co-authored-by: speakeasy-github[bot] <128539517+speakeasy-github[bot]@users.noreply.github.com>
2026-06-25 22:01:36 +00:00

91 KiB
Raw Blame History

Beta.Responses

Overview

beta.responses endpoints

Available Operations

  • send - Create a response

send

Creates a streaming or non-streaming response using OpenResponses API format

Example Usage

from openrouter import OpenRouter
import os


with OpenRouter(
    http_referer="<value>",
    x_open_router_title="<value>",
    x_open_router_categories="<value>",
    api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router:

    res = open_router.beta.responses.send(x_open_router_metadata="enabled", input="Tell me a joke", model="openai/gpt-4o", service_tier="auto", stream=False)

    with res as event_stream:
        for event in event_stream:
            # handle event
            print(event, flush=True)

Parameters

Parameter Type Required Description Example
http_referer Optional[str] The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
x_open_router_title Optional[str] The app display name allows you to customize how your app appears in OpenRouter's dashboard.
x_open_router_categories Optional[str] Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
x_open_router_metadata Optional[components.MetadataLevel] Opt-in to surface routing metadata on the response under openrouter_metadata. Defaults to disabled. The legacy header X-OpenRouter-Experimental-Metadata is also accepted for backward compatibility. enabled
background OptionalNullable[bool] N/A
cache_control Optional[components.AnthropicCacheControlDirective] Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. Currently supported for Anthropic Claude models. {
"type": "ephemeral"
}
debug Optional[components.ChatDebugOptions] Debug options for inspecting request transformations (streaming only) {
"echo_upstream_body": true
}
frequency_penalty OptionalNullable[float] N/A
image_config Dict[str, components.ImageConfig] Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details. {
"aspect_ratio": "16:9",
"quality": "high"
}
include List[components.ResponseIncludesEnum] N/A
input Optional[components.InputsUnion] Input for a response request - can be a string or array of items [
{
"content": "What is the weather today?",
"role": "user"
}
]
instructions OptionalNullable[str] N/A
max_output_tokens OptionalNullable[int] N/A
max_tool_calls OptionalNullable[int] N/A
metadata Dict[str, str] 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. {
"session_id": "abc-def-ghi",
"user_id": "123"
}
modalities List[components.OutputModalityEnum] Output modalities for the response. Supported values are "text" and "image". [
"text",
"image"
]
model Optional[str] N/A
models List[str] N/A
parallel_tool_calls OptionalNullable[bool] N/A
plugins List[components.ResponsesRequestPlugin] Plugins you want to enable for this request, including their settings.
presence_penalty OptionalNullable[float] N/A
previous_response_id OptionalNullable[str] N/A
prompt OptionalNullable[components.StoredPromptTemplate] N/A {
"id": "prompt-abc123",
"variables": {
"name": "John"
}
}
prompt_cache_key OptionalNullable[str] N/A
provider OptionalNullable[components.ProviderPreferences] When multiple model providers are available, optionally indicate your routing preference. {
"allow_fallbacks": true
}
reasoning OptionalNullable[components.ReasoningConfig] Configuration for reasoning mode in the response {
"effort": "medium",
"summary": "auto"
}
safety_identifier OptionalNullable[str] N/A
service_tier OptionalNullable[components.ResponsesRequestServiceTier] N/A
session_id Optional[str] A unique identifier for grouping related requests (e.g., a conversation or agent workflow). When provided, OpenRouter uses it as the sticky routing key, routing all requests in the session to the same provider to maximize prompt cache hits. Also used for observability grouping. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters.
stop_server_tools_when List[components.StopServerToolsWhenCondition] Stop conditions for the server-tool agent loop. Any condition firing halts the loop (OR logic). When set, this overrides max_tool_calls. [
{
"step_count": 5,
"type": "step_count_is"
},
{
"max_cost_in_dollars": 0.5,
"type": "max_cost"
}
]
stream Optional[bool] N/A
temperature OptionalNullable[float] N/A
text Optional[components.TextExtendedConfig] Text output configuration including format and verbosity {
"format": {
"type": "text"
},
"verbosity": "medium"
}
tool_choice Optional[components.OpenAIResponsesToolChoiceUnion] N/A auto
tools List[components.ResponsesRequestToolUnion] N/A
top_k Optional[int] N/A
top_logprobs OptionalNullable[int] N/A
top_p OptionalNullable[float] N/A
trace Optional[components.TraceConfig] Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. {
"trace_id": "trace-abc123",
"trace_name": "my-app-trace"
}
truncation OptionalNullable[components.OpenAIResponsesTruncation] N/A auto
user Optional[str] 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 256 characters.
retries Optional[utils.RetryConfig] Configuration to override the default retry behavior of the client.

Response

operations.CreateResponsesResponse

Errors

Error Type Status Code Content Type
errors.BadRequestResponseError 400 application/json
errors.UnauthorizedResponseError 401 application/json
errors.PaymentRequiredResponseError 402 application/json
errors.ForbiddenResponseError 403 application/json
errors.NotFoundResponseError 404 application/json
errors.RequestTimeoutResponseError 408 application/json
errors.PayloadTooLargeResponseError 413 application/json
errors.UnprocessableEntityResponseError 422 application/json
errors.TooManyRequestsResponseError 429 application/json
errors.InternalServerResponseError 500 application/json
errors.BadGatewayResponseError 502 application/json
errors.ServiceUnavailableResponseError 503 application/json
errors.EdgeNetworkTimeoutResponseError 524 application/json
errors.ProviderOverloadedResponseError 529 application/json
errors.OpenRouterDefaultError 4XX, 5XX */*