Files
openrouter-python-sdk-retry…/docs/sdks/guardrails/README.md
T
OpenRouter Team 5f2c0ee2ea Project import generated by Copybara.
GitOrigin-RevId: 2592bdc8b4b7c695a3d689390aedc9a42914acc8
2026-01-22 01:26:28 +00:00

51 KiB
Raw Blame History

Guardrails

(guardrails)

Overview

Guardrails endpoints

Available Operations

list

List all guardrails for the authenticated user. Provisioning key required.

Example Usage

from openrouter import OpenRouter
import os


with OpenRouter(
    api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router:

    res = open_router.guardrails.list()

    # Handle response
    print(res)

Parameters

Parameter Type Required Description Example
offset Optional[str] Number of records to skip for pagination 0
limit Optional[str] Maximum number of records to return (max 100) 50
retries Optional[utils.RetryConfig] Configuration to override the default retry behavior of the client.

Response

operations.ListGuardrailsResponse

Errors

Error Type Status Code Content Type
errors.UnauthorizedResponseError 401 application/json
errors.InternalServerResponseError 500 application/json
errors.OpenRouterDefaultError 4XX, 5XX */*

create

Create a new guardrail for the authenticated user. Provisioning key required.

Example Usage

from openrouter import OpenRouter
import os


with OpenRouter(
    api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router:

    res = open_router.guardrails.create(name="My New Guardrail")

    # Handle response
    print(res)

Parameters

Parameter Type Required Description Example
name str ✔️ Name for the new guardrail My New Guardrail
description OptionalNullable[str] Description of the guardrail A guardrail for limiting API usage
limit_usd OptionalNullable[float] Spending limit in USD 50
reset_interval OptionalNullable[operations.CreateGuardrailResetIntervalRequest] Interval at which the limit resets (daily, weekly, monthly) monthly
allowed_providers List[str] List of allowed provider IDs [
"openai",
"anthropic",
"deepseek"
]
allowed_models List[str] Array of model identifiers (slug or canonical_slug accepted) [
"openai/gpt-5.2",
"anthropic/claude-4.5-opus-20251124",
"deepseek/deepseek-r1-0528:free"
]
enforce_zdr OptionalNullable[bool] Whether to enforce zero data retention false
retries Optional[utils.RetryConfig] Configuration to override the default retry behavior of the client.

Response

operations.CreateGuardrailResponse

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 */*

get

Get a single guardrail by ID. Provisioning key required.

Example Usage

from openrouter import OpenRouter
import os


with OpenRouter(
    api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router:

    res = open_router.guardrails.get(id="550e8400-e29b-41d4-a716-446655440000")

    # Handle response
    print(res)

Parameters

Parameter Type Required Description Example
id str ✔️ The unique identifier of the guardrail to retrieve 550e8400-e29b-41d4-a716-446655440000
retries Optional[utils.RetryConfig] Configuration to override the default retry behavior of the client.

Response

operations.GetGuardrailResponse

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 */*

update

Update an existing guardrail. Provisioning key required.

Example Usage

from openrouter import OpenRouter
import os


with OpenRouter(
    api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router:

    res = open_router.guardrails.update(id="550e8400-e29b-41d4-a716-446655440000")

    # Handle response
    print(res)

Parameters

Parameter Type Required Description Example
id str ✔️ The unique identifier of the guardrail to update 550e8400-e29b-41d4-a716-446655440000
name Optional[str] New name for the guardrail Updated Guardrail Name
description OptionalNullable[str] New description for the guardrail Updated description
limit_usd OptionalNullable[float] New spending limit in USD 75
reset_interval OptionalNullable[operations.UpdateGuardrailResetIntervalRequest] Interval at which the limit resets (daily, weekly, monthly) monthly
allowed_providers List[str] New list of allowed provider IDs [
"openai",
"anthropic",
"deepseek"
]
allowed_models List[str] Array of model identifiers (slug or canonical_slug accepted) [
"openai/gpt-5.2"
]
enforce_zdr OptionalNullable[bool] Whether to enforce zero data retention true
retries Optional[utils.RetryConfig] Configuration to override the default retry behavior of the client.

Response

operations.UpdateGuardrailResponse

Errors

Error Type Status Code Content Type
errors.BadRequestResponseError 400 application/json
errors.UnauthorizedResponseError 401 application/json
errors.NotFoundResponseError 404 application/json
errors.InternalServerResponseError 500 application/json
errors.OpenRouterDefaultError 4XX, 5XX */*

delete

Delete an existing guardrail. Provisioning key required.

Example Usage

from openrouter import OpenRouter
import os


with OpenRouter(
    api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router:

    res = open_router.guardrails.delete(id="550e8400-e29b-41d4-a716-446655440000")

    # Handle response
    print(res)

Parameters

Parameter Type Required Description Example
id str ✔️ The unique identifier of the guardrail to delete 550e8400-e29b-41d4-a716-446655440000
retries Optional[utils.RetryConfig] Configuration to override the default retry behavior of the client.

Response

operations.DeleteGuardrailResponse

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 */*

list_key_assignments

List all API key guardrail assignments for the authenticated user. Provisioning key required.

Example Usage

from openrouter import OpenRouter
import os


with OpenRouter(
    api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router:

    res = open_router.guardrails.list_key_assignments()

    # Handle response
    print(res)

Parameters

Parameter Type Required Description Example
offset Optional[str] Number of records to skip for pagination 0
limit Optional[str] Maximum number of records to return (max 100) 50
retries Optional[utils.RetryConfig] Configuration to override the default retry behavior of the client.

Response

operations.ListKeyAssignmentsResponse

Errors

Error Type Status Code Content Type
errors.UnauthorizedResponseError 401 application/json
errors.InternalServerResponseError 500 application/json
errors.OpenRouterDefaultError 4XX, 5XX */*

list_member_assignments

List all organization member guardrail assignments for the authenticated user. Provisioning key required.

Example Usage

from openrouter import OpenRouter
import os


with OpenRouter(
    api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router:

    res = open_router.guardrails.list_member_assignments()

    # Handle response
    print(res)

Parameters

Parameter Type Required Description Example
offset Optional[str] Number of records to skip for pagination 0
limit Optional[str] Maximum number of records to return (max 100) 50
retries Optional[utils.RetryConfig] Configuration to override the default retry behavior of the client.

Response

operations.ListMemberAssignmentsResponse

Errors

Error Type Status Code Content Type
errors.UnauthorizedResponseError 401 application/json
errors.InternalServerResponseError 500 application/json
errors.OpenRouterDefaultError 4XX, 5XX */*

list_guardrail_key_assignments

List all API key assignments for a specific guardrail. Provisioning key required.

Example Usage

from openrouter import OpenRouter
import os


with OpenRouter(
    api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router:

    res = open_router.guardrails.list_guardrail_key_assignments(id="550e8400-e29b-41d4-a716-446655440000")

    # Handle response
    print(res)

Parameters

Parameter Type Required Description Example
id str ✔️ The unique identifier of the guardrail 550e8400-e29b-41d4-a716-446655440000
offset Optional[str] Number of records to skip for pagination 0
limit Optional[str] Maximum number of records to return (max 100) 50
retries Optional[utils.RetryConfig] Configuration to override the default retry behavior of the client.

Response

operations.ListGuardrailKeyAssignmentsResponse

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 */*

bulk_assign_keys

Assign multiple API keys to a specific guardrail. Provisioning key required.

Example Usage

from openrouter import OpenRouter
import os


with OpenRouter(
    api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router:

    res = open_router.guardrails.bulk_assign_keys(id="550e8400-e29b-41d4-a716-446655440000", key_hashes=[
        "c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93",
    ])

    # Handle response
    print(res)

Parameters

Parameter Type Required Description Example
id str ✔️ The unique identifier of the guardrail 550e8400-e29b-41d4-a716-446655440000
key_hashes List[str] ✔️ Array of API key hashes to assign to the guardrail [
"c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93"
]
retries Optional[utils.RetryConfig] Configuration to override the default retry behavior of the client.

Response

operations.BulkAssignKeysToGuardrailResponse

Errors

Error Type Status Code Content Type
errors.BadRequestResponseError 400 application/json
errors.UnauthorizedResponseError 401 application/json
errors.NotFoundResponseError 404 application/json
errors.InternalServerResponseError 500 application/json
errors.OpenRouterDefaultError 4XX, 5XX */*

list_guardrail_member_assignments

List all organization member assignments for a specific guardrail. Provisioning key required.

Example Usage

from openrouter import OpenRouter
import os


with OpenRouter(
    api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router:

    res = open_router.guardrails.list_guardrail_member_assignments(id="550e8400-e29b-41d4-a716-446655440000")

    # Handle response
    print(res)

Parameters

Parameter Type Required Description Example
id str ✔️ The unique identifier of the guardrail 550e8400-e29b-41d4-a716-446655440000
offset Optional[str] Number of records to skip for pagination 0
limit Optional[str] Maximum number of records to return (max 100) 50
retries Optional[utils.RetryConfig] Configuration to override the default retry behavior of the client.

Response

operations.ListGuardrailMemberAssignmentsResponse

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 */*

bulk_assign_members

Assign multiple organization members to a specific guardrail. Provisioning key required.

Example Usage

from openrouter import OpenRouter
import os


with OpenRouter(
    api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router:

    res = open_router.guardrails.bulk_assign_members(id="550e8400-e29b-41d4-a716-446655440000", member_user_ids=[
        "user_abc123",
        "user_def456",
    ])

    # Handle response
    print(res)

Parameters

Parameter Type Required Description Example
id str ✔️ The unique identifier of the guardrail 550e8400-e29b-41d4-a716-446655440000
member_user_ids List[str] ✔️ Array of member user IDs to assign to the guardrail [
"user_abc123",
"user_def456"
]
retries Optional[utils.RetryConfig] Configuration to override the default retry behavior of the client.

Response

operations.BulkAssignMembersToGuardrailResponse

Errors

Error Type Status Code Content Type
errors.BadRequestResponseError 400 application/json
errors.UnauthorizedResponseError 401 application/json
errors.NotFoundResponseError 404 application/json
errors.InternalServerResponseError 500 application/json
errors.OpenRouterDefaultError 4XX, 5XX */*

bulk_unassign_keys

Unassign multiple API keys from a specific guardrail. Provisioning key required.

Example Usage

from openrouter import OpenRouter
import os


with OpenRouter(
    api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router:

    res = open_router.guardrails.bulk_unassign_keys(id="550e8400-e29b-41d4-a716-446655440000", key_hashes=[
        "c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93",
    ])

    # Handle response
    print(res)

Parameters

Parameter Type Required Description Example
id str ✔️ The unique identifier of the guardrail 550e8400-e29b-41d4-a716-446655440000
key_hashes List[str] ✔️ Array of API key hashes to unassign from the guardrail [
"c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93"
]
retries Optional[utils.RetryConfig] Configuration to override the default retry behavior of the client.

Response

operations.BulkUnassignKeysFromGuardrailResponse

Errors

Error Type Status Code Content Type
errors.BadRequestResponseError 400 application/json
errors.UnauthorizedResponseError 401 application/json
errors.NotFoundResponseError 404 application/json
errors.InternalServerResponseError 500 application/json
errors.OpenRouterDefaultError 4XX, 5XX */*

bulk_unassign_members

Unassign multiple organization members from a specific guardrail. Provisioning key required.

Example Usage

from openrouter import OpenRouter
import os


with OpenRouter(
    api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router:

    res = open_router.guardrails.bulk_unassign_members(id="550e8400-e29b-41d4-a716-446655440000", member_user_ids=[
        "user_abc123",
        "user_def456",
    ])

    # Handle response
    print(res)

Parameters

Parameter Type Required Description Example
id str ✔️ The unique identifier of the guardrail 550e8400-e29b-41d4-a716-446655440000
member_user_ids List[str] ✔️ Array of member user IDs to unassign from the guardrail [
"user_abc123",
"user_def456"
]
retries Optional[utils.RetryConfig] Configuration to override the default retry behavior of the client.

Response

operations.BulkUnassignMembersFromGuardrailResponse

Errors

Error Type Status Code Content Type
errors.BadRequestResponseError 400 application/json
errors.UnauthorizedResponseError 401 application/json
errors.NotFoundResponseError 404 application/json
errors.InternalServerResponseError 500 application/json
errors.OpenRouterDefaultError 4XX, 5XX */*