mirror of
https://github.com/wassname/openrouter-python-sdk-retry-errors.git
synced 2026-07-30 12:20:57 +08:00
- 56d382078cfce7fa597d1da2bce531af2d060b47 - 9ef6db7e04c9401536763a321b05d00311cef31a - bf855082e30820d466f0f86a6d6e87de2ecfb06f - 335b1cbe361214e48b945b987b4e164457aa817b - 648485fdc7f9d8ae86fd857eccedcc5e41fb2e69 - 80c49474a15a2bd549a5f26efad3858aa45b7c7b - 70e8ac317f9c4472db3decd024d1819650df4182 - 9f2a6659ab6dbf111a0c29e4366328c3d2048826 - a3a28b1fc6ec7d2941232a4ebde8c5f470497876 - 4b5dc9193480b7c5c9ddb882ccf3ee2128ca0d51 - bb413e979a46ef67c2f266743f7ebd798af42afb - b60e92d5dcec83f31986164f51c010d1728b2b17 - 45687f423707f5838461585c568a024a19eb2f06 - 3103d3ca68b6e42ccdb6136588ec2b6edc8dcab0 - fd9f991606027cd86116317c71f8eb7b4e2aa3eb - 0f312019161edd76c1e5923d142c788d22f096d5 - 5dbab2094bc744db4a90b3097520d897e5d0d634 - 4c47d1af1735db18a1c1a7f463e801c7f71ad4e5 GitOrigin-RevId: 56d382078cfce7fa597d1da2bce531af2d060b47
18 KiB
18 KiB
OAuth
(o_auth)
Overview
OAuth authentication endpoints
Available Operations
- exchange_auth_code_for_api_key - Exchange authorization code for API key
- create_auth_code - Create authorization code
exchange_auth_code_for_api_key
Exchange an authorization code from the PKCE flow for a user-controlled API key
Example Usage
from openrouter import OpenRouter
import os
with OpenRouter(
http_referer="<value>",
x_title="<value>",
api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router:
res = open_router.o_auth.exchange_auth_code_for_api_key(code="auth_code_abc123def456")
# Handle response
print(res)
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
code |
str | ✔️ | The authorization code received from the OAuth redirect | auth_code_abc123def456 |
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_title |
Optional[str] | ➖ | The app display name allows you to customize how your app appears in OpenRouter's dashboard. |
|
code_verifier |
Optional[str] | ➖ | The code verifier if code_challenge was used in the authorization request | dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk |
code_challenge_method |
OptionalNullable[operations.ExchangeAuthCodeForAPIKeyCodeChallengeMethod] | ➖ | The method used to generate the code challenge | S256 |
retries |
Optional[utils.RetryConfig] | ➖ | Configuration to override the default retry behavior of the client. |
Response
operations.ExchangeAuthCodeForAPIKeyResponse
Errors
| Error Type | Status Code | Content Type |
|---|---|---|
| errors.BadRequestResponseError | 400 | application/json |
| errors.ForbiddenResponseError | 403 | application/json |
| errors.InternalServerResponseError | 500 | application/json |
| errors.OpenRouterDefaultError | 4XX, 5XX | */* |
create_auth_code
Create an authorization code for the PKCE flow to generate a user-controlled API key
Example Usage
from openrouter import OpenRouter
import os
with OpenRouter(
http_referer="<value>",
x_title="<value>",
api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router:
res = open_router.o_auth.create_auth_code(callback_url="https://myapp.com/auth/callback")
# Handle response
print(res)
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
callback_url |
str | ✔️ | The callback URL to redirect to after authorization. Note, only https URLs on ports 443 and 3000 are allowed. | https://myapp.com/auth/callback |
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_title |
Optional[str] | ➖ | The app display name allows you to customize how your app appears in OpenRouter's dashboard. |
|
code_challenge |
Optional[str] | ➖ | PKCE code challenge for enhanced security | E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM |
code_challenge_method |
Optional[operations.CreateAuthKeysCodeCodeChallengeMethod] | ➖ | The method used to generate the code challenge | S256 |
limit |
Optional[float] | ➖ | Credit limit for the API key to be created | 100 |
expires_at |
date | ➖ | Optional expiration time for the API key to be created | |
key_label |
Optional[str] | ➖ | Optional custom label for the API key. Defaults to the app name if not provided. | My Custom Key |
usage_limit_type |
Optional[operations.UsageLimitType] | ➖ | Optional credit limit reset interval. When set, the credit limit resets on this interval. | monthly |
retries |
Optional[utils.RetryConfig] | ➖ | Configuration to override the default retry behavior of the client. |
Response
operations.CreateAuthKeysCodeResponse
Errors
| Error Type | Status Code | Content Type |
|---|---|---|
| errors.BadRequestResponseError | 400 | application/json |
| errors.UnauthorizedResponseError | 401 | application/json |
| errors.InternalServerResponseError | 500 | application/json |
| errors.OpenRouterDefaultError | 4XX, 5XX | */* |