Files
openrouter-python-sdk-retry…/docs/sdks/responses/README.md
T
Matt Apperson 5fc522c72f Initial commit: OpenRouter Python SDK
Auto-generated Python SDK for OpenRouter API, providing comprehensive client library with:
- Chat completions and streaming support
- Embeddings API
- Model and provider information
- API key management
- Analytics and usage tracking
- OAuth authentication flows
- Full type hints and error handling
2025-11-13 10:56:25 -05:00

48 KiB
Raw Blame History

Responses

(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(
    api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router:

    res = open_router.beta.responses.send(input=[
        {
            "type": "message",
            "role": "user",
            "content": "Hello, how are you?",
        },
    ], metadata={
        "user_id": "123",
        "session_id": "abc-def-ghi",
    }, tools=[
        {
            "type": "function",
            "name": "get_current_weather",
            "description": "Get the current weather in a given location",
            "parameters": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string",
                    },
                },
            },
        },
    ], model="anthropic/claude-4.5-sonnet-20250929", text={
        "format_": {
            "type": "text",
        },
        "verbosity": "medium",
    }, reasoning={
        "summary": "auto",
        "enabled": True,
    }, temperature=0.7, top_p=0.9, prompt={
        "id": "<id>",
        "variables": {
            "key": {
                "type": "input_text",
                "text": "Hello, how can I help you?",
            },
        },
    }, service_tier="auto", truncation="auto", stream=False, provider={
        "data_collection": "deny",
        "zdr": True,
        "enforce_distillable_text": True,
        "order": [
            "OpenAI",
        ],
        "only": [
            "OpenAI",
        ],
        "ignore": [
            "OpenAI",
        ],
        "quantizations": None,
        "sort": "price",
    })

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

Parameters

Parameter Type Required Description Example
input Optional[models.OpenResponsesInput] Input for a response request - can be a string or array of items [
{
"role": "user",
"content": "What is the weather today?"
}
]
instructions OptionalNullable[str] 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. {
"user_id": "123",
"session_id": "abc-def-ghi"
}
tools List[models.OpenResponsesRequestToolUnion] N/A
tool_choice Optional[models.OpenAIResponsesToolChoiceUnion] N/A
parallel_tool_calls OptionalNullable[bool] N/A
model Optional[str] N/A
models List[str] N/A
text Optional[models.OpenResponsesResponseText] Text output configuration including format and verbosity {
"format": {
"type": "text"
},
"verbosity": "medium"
}
reasoning OptionalNullable[models.OpenResponsesReasoningConfig] Configuration for reasoning mode in the response {
"summary": "auto",
"enabled": true
}
max_output_tokens OptionalNullable[float] N/A
temperature OptionalNullable[float] N/A
top_p OptionalNullable[float] N/A
top_k Optional[float] N/A
prompt_cache_key OptionalNullable[str] N/A
previous_response_id OptionalNullable[str] N/A
prompt OptionalNullable[models.OpenAIResponsesPrompt] N/A
include List[models.OpenAIResponsesIncludable] N/A
background OptionalNullable[bool] N/A
safety_identifier OptionalNullable[str] N/A
store OptionalNullable[bool] N/A
service_tier OptionalNullable[models.ServiceTier] N/A auto
truncation OptionalNullable[models.Truncation] N/A auto
stream Optional[bool] N/A
provider OptionalNullable[models.Provider] When multiple model providers are available, optionally indicate your routing preference.
plugins List[models.Plugin] Plugins you want to enable for this request, including their settings.
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 128 characters.
retries Optional[utils.RetryConfig] Configuration to override the default retry behavior of the client.

Response

models.CreateResponsesResponse

Errors

Error Type Status Code Content Type
errors.BadRequestResponseError 400 application/json
errors.UnauthorizedResponseError 401 application/json
errors.PaymentRequiredResponseError 402 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 */*