mirror of
https://github.com/wassname/openrouter-python-sdk-retry-errors.git
synced 2026-07-31 12:30:30 +08:00
* `open_router.api_keys.list()`: * `request` **Changed** **Breaking** ⚠️ * `response.data.[]` **Changed** **Breaking** ⚠️ * `open_router.guardrails.get()`: `response.data` **Changed** **Breaking** ⚠️ * `open_router.o_auth.create_auth_code()`: `response.data.app_id` **Changed** **Breaking** ⚠️ * `open_router.guardrails.bulk_unassign_members()`: `response.unassigned_count` **Changed** **Breaking** ⚠️ * `open_router.guardrails.bulk_unassign_keys()`: `response.unassigned_count` **Changed** **Breaking** ⚠️ * `open_router.guardrails.bulk_assign_members()`: `response.assigned_count` **Changed** **Breaking** ⚠️ * `open_router.guardrails.list_guardrail_member_assignments()`: * `request` **Changed** **Breaking** ⚠️ * `response.total_count` **Changed** **Breaking** ⚠️ * `open_router.beta.responses.send()`: * `request` **Changed** **Breaking** ⚠️ * `response` **Changed** **Breaking** ⚠️ * `open_router.analytics.get_user_activity()`: * `request` **Changed** * `response.data.[]` **Changed** **Breaking** ⚠️ * `error.status[404]` **Added** * `open_router.chat.send()`: * `request` **Changed** **Breaking** ⚠️ * `response` **Changed** **Breaking** ⚠️ * `open_router.embeddings.generate()`: * `request.provider` **Changed** **Breaking** ⚠️ * `response` **Changed** **Breaking** ⚠️ * `open_router.embeddings.list_models()`: `response.data.[]` **Changed** **Breaking** ⚠️ * `open_router.generations.get_generation()`: `response.data` **Changed** **Breaking** ⚠️ * `open_router.models.count()`: `response.data.count` **Changed** **Breaking** ⚠️ * `open_router.models.list()`: `response.data.[]` **Changed** **Breaking** ⚠️ * `open_router.models.list_for_user()`: `response.data.[]` **Changed** **Breaking** ⚠️ * `open_router.endpoints.list_zdr_endpoints()`: `response.data.[]` **Changed** **Breaking** ⚠️ * `open_router.guardrails.bulk_assign_keys()`: `response.assigned_count` **Changed** **Breaking** ⚠️ * `open_router.guardrails.list_member_assignments()`: * `request` **Changed** **Breaking** ⚠️ * `response.total_count` **Changed** **Breaking** ⚠️ * `open_router.api_keys.create()`: * `request` **Changed** **Breaking** ⚠️ * `response.data` **Changed** **Breaking** ⚠️ * `open_router.api_keys.update()`: * `request.limit` **Changed** **Breaking** ⚠️ * `response.data` **Changed** **Breaking** ⚠️ * `open_router.api_keys.get()`: `response.data` **Changed** **Breaking** ⚠️ * `open_router.api_keys.get_current_key_metadata()`: `response.data` **Changed** **Breaking** ⚠️ * `open_router.guardrails.list()`: * `request` **Changed** **Breaking** ⚠️ * `response` **Changed** **Breaking** ⚠️ * `open_router.guardrails.create()`: * `request` **Changed** **Breaking** ⚠️ * `response.data` **Changed** **Breaking** ⚠️ * `open_router.endpoints.list()`: `response.data` **Changed** **Breaking** ⚠️ * `open_router.guardrails.update()`: * `request` **Changed** **Breaking** ⚠️ * `response.data` **Changed** **Breaking** ⚠️ * `open_router.guardrails.list_key_assignments()`: * `request` **Changed** **Breaking** ⚠️ * `response.total_count` **Changed** **Breaking** ⚠️ * `open_router.guardrails.list_guardrail_key_assignments()`: * `request` **Changed** **Breaking** ⚠️ * `response.total_count` **Changed** **Breaking** ⚠️ * `open_router.organization.list_members()`: **Added** * `open_router.rerank.rerank()`: **Added** * `open_router.credits.create_coinbase_charge()`: **Deleted** **Breaking** ⚠️ * `open_router.video_generation.list_videos_models()`: **Added** * `open_router.video_generation.get_video_content()`: **Added** * `open_router.video_generation.get_generation()`: **Added** * `open_router.video_generation.generate()`: **Added**
7.2 KiB
7.2 KiB
Generations
Overview
Generation history endpoints
Available Operations
- get_generation - Get request & usage metadata for a generation
get_generation
Get request & usage metadata for a generation
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.generations.get_generation(id="gen-1234567890")
# Handle response
print(res)
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
id |
str | ✔️ | The generation ID | gen-1234567890 |
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. |
|
retries |
Optional[utils.RetryConfig] | ➖ | Configuration to override the default retry behavior of the client. |
Response
operations.GetGenerationResponse
Errors
| Error Type | Status Code | Content Type |
|---|---|---|
| errors.UnauthorizedResponseError | 401 | application/json |
| errors.PaymentRequiredResponseError | 402 | application/json |
| errors.NotFoundResponseError | 404 | application/json |
| errors.TooManyRequestsResponseError | 429 | application/json |
| errors.InternalServerResponseError | 500 | application/json |
| errors.BadGatewayResponseError | 502 | application/json |
| errors.EdgeNetworkTimeoutResponseError | 524 | application/json |
| errors.ProviderOverloadedResponseError | 529 | application/json |
| errors.OpenRouterDefaultError | 4XX, 5XX | */* |