Byok - Python SDK

Byok method reference

The Python SDK and docs are currently in beta. Report issues on GitHub.

Overview

BYOK endpoints

Available Operations

  • list - List BYOK provider credentials
  • get - Get a BYOK provider credential

list

List the bring-your-own-key (BYOK) provider credentials for the authenticated entity’s default workspace. Use the workspace_id query parameter to scope the result to a different workspace, or the provider query parameter to filter by upstream provider. Management key required.

Example Usage

1from openrouter import OpenRouter
2import os
3
4with OpenRouter(
5 http_referer="<value>",
6 x_open_router_title="<value>",
7 x_open_router_categories="<value>",
8 api_key=os.getenv("OPENROUTER_API_KEY", ""),
9) as open_router:
10
11 res = open_router.byok.list()
12
13 while res is not None:
14 # Handle items
15
16 res = res.next()

Parameters

ParameterTypeRequiredDescriptionExample
http_refererOptional[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_titleOptional[str]The app display name allows you to customize how your app appears in OpenRouter’s dashboard.
x_open_router_categoriesOptional[str]Comma-separated list of app categories (e.g. “cli-agent,cloud-agent”). Used for marketplace rankings.
offsetOptional[int]Number of records to skip for pagination0
limitOptional[int]Maximum number of records to return (max 100)50
workspace_idOptional[str]Optional workspace ID to filter by. Defaults to the authenticated entity’s default workspace.550e8400-e29b-41d4-a716-446655440000
providerOptional[operations.Provider]Optional provider slug to filter by (e.g. openai, anthropic, amazon-bedrock).openai
retriesOptional[utils.RetryConfig]Configuration to override the default retry behavior of the client.

Response

operations.ListBYOKKeysResponse

Errors

Error TypeStatus CodeContent Type
errors.UnauthorizedResponseError401application/json
errors.InternalServerResponseError500application/json
errors.OpenRouterDefaultError4XX, 5XX*/*

get

Get a single bring-your-own-key (BYOK) provider credential by its id. Defaults to the authenticated entity’s default workspace; use the workspace_id query parameter to scope to a different workspace. Management key required.

Example Usage

1from openrouter import OpenRouter
2import os
3
4with OpenRouter(
5 http_referer="<value>",
6 x_open_router_title="<value>",
7 x_open_router_categories="<value>",
8 api_key=os.getenv("OPENROUTER_API_KEY", ""),
9) as open_router:
10
11 res = open_router.byok.get(id="11111111-2222-3333-4444-555555555555")
12
13 # Handle response
14 print(res)

Parameters

ParameterTypeRequiredDescriptionExample
idstr✔️The BYOK credential ID (UUID).11111111-2222-3333-4444-555555555555
http_refererOptional[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_titleOptional[str]The app display name allows you to customize how your app appears in OpenRouter’s dashboard.
x_open_router_categoriesOptional[str]Comma-separated list of app categories (e.g. “cli-agent,cloud-agent”). Used for marketplace rankings.
workspace_idOptional[str]Optional workspace ID. Defaults to the authenticated entity’s default workspace.550e8400-e29b-41d4-a716-446655440000
retriesOptional[utils.RetryConfig]Configuration to override the default retry behavior of the client.

Response

components.GetBYOKKeyResponse

Errors

Error TypeStatus CodeContent Type
errors.UnauthorizedResponseError401application/json
errors.NotFoundResponseError404application/json
errors.InternalServerResponseError500application/json
errors.OpenRouterDefaultError4XX, 5XX*/*