mirror of
https://github.com/wassname/openrouter-python-sdk-retry-errors.git
synced 2026-08-01 12:40:23 +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**
159 lines
21 KiB
Markdown
159 lines
21 KiB
Markdown
# Models
|
|
|
|
## Overview
|
|
|
|
Model information endpoints
|
|
|
|
### Available Operations
|
|
|
|
* [list](#list) - List all models and their properties
|
|
* [count](#count) - Get total count of available models
|
|
* [list_for_user](#list_for_user) - List models filtered by user provider preferences, privacy settings, and guardrails
|
|
|
|
## list
|
|
|
|
List all models and their properties
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="python" operationID="getModels" method="get" path="/models" -->
|
|
```python
|
|
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.models.list()
|
|
|
|
# Handle response
|
|
print(res)
|
|
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description | Example |
|
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.<br/>This is used to track API usage per application.<br/> | |
|
|
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.<br/> | |
|
|
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.<br/> | |
|
|
| `category` | [Optional[operations.Category]](../../operations/category.md) | :heavy_minus_sign: | Filter models by use case category | programming |
|
|
| `supported_parameters` | *Optional[str]* | :heavy_minus_sign: | Filter models by supported parameter (comma-separated) | temperature |
|
|
| `output_modalities` | *Optional[str]* | :heavy_minus_sign: | Filter models by output modality. Accepts a comma-separated list of modalities (text, image, audio, embeddings) or "all" to include all models. Defaults to "text". | text |
|
|
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
|
|
|
|
### Response
|
|
|
|
**[components.ModelsListResponse](../../components/modelslistresponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| ---------------------------------- | ---------------------------------- | ---------------------------------- |
|
|
| errors.BadRequestResponseError | 400 | application/json |
|
|
| errors.InternalServerResponseError | 500 | application/json |
|
|
| errors.OpenRouterDefaultError | 4XX, 5XX | \*/\* |
|
|
|
|
## count
|
|
|
|
Get total count of available models
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="python" operationID="listModelsCount" method="get" path="/models/count" -->
|
|
```python
|
|
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.models.count()
|
|
|
|
# Handle response
|
|
print(res)
|
|
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description | Example |
|
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.<br/>This is used to track API usage per application.<br/> | |
|
|
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.<br/> | |
|
|
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.<br/> | |
|
|
| `output_modalities` | *Optional[str]* | :heavy_minus_sign: | Filter models by output modality. Accepts a comma-separated list of modalities (text, image, audio, embeddings) or "all" to include all models. Defaults to "text". | text |
|
|
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
|
|
|
|
### Response
|
|
|
|
**[components.ModelsCountResponse](../../components/modelscountresponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| ---------------------------------- | ---------------------------------- | ---------------------------------- |
|
|
| errors.BadRequestResponseError | 400 | application/json |
|
|
| errors.InternalServerResponseError | 500 | application/json |
|
|
| errors.OpenRouterDefaultError | 4XX, 5XX | \*/\* |
|
|
|
|
## list_for_user
|
|
|
|
List models filtered by user provider preferences, [privacy settings](https://openrouter.ai/docs/guides/privacy/provider-logging), and [guardrails](https://openrouter.ai/docs/guides/features/guardrails). If requesting through `eu.openrouter.ai/api/v1/...` the results will be filtered to models that satisfy [EU in-region routing](https://openrouter.ai/docs/guides/privacy/provider-logging#enterprise-eu-in-region-routing).
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="python" operationID="listModelsUser" method="get" path="/models/user" -->
|
|
```python
|
|
from openrouter import OpenRouter, operations
|
|
import os
|
|
|
|
|
|
with OpenRouter(
|
|
http_referer="<value>",
|
|
x_open_router_title="<value>",
|
|
x_open_router_categories="<value>",
|
|
) as open_router:
|
|
|
|
res = open_router.models.list_for_user(security=operations.ListModelsUserSecurity(
|
|
bearer=os.getenv("OPENROUTER_BEARER", ""),
|
|
))
|
|
|
|
# Handle response
|
|
print(res)
|
|
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
| `security` | [operations.ListModelsUserSecurity](../../operations/listmodelsusersecurity.md) | :heavy_check_mark: | N/A |
|
|
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.<br/>This is used to track API usage per application.<br/> |
|
|
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.<br/> |
|
|
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.<br/> |
|
|
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
|
|
|
|
### Response
|
|
|
|
**[components.ModelsListResponse](../../components/modelslistresponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| ---------------------------------- | ---------------------------------- | ---------------------------------- |
|
|
| errors.UnauthorizedResponseError | 401 | application/json |
|
|
| errors.NotFoundResponseError | 404 | application/json |
|
|
| errors.InternalServerResponseError | 500 | application/json |
|
|
| errors.OpenRouterDefaultError | 4XX, 5XX | \*/\* | |