Skip to main content

Overview

Guardrails endpoints

Available Operations

list

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

Example Usage

Parameters

ParameterTypeRequiredDescriptionExample
http_refererOptional[str]:heavy_minus_sign: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]:heavy_minus_sign:The app display name allows you to customize how your app appears in OpenRouter’s dashboard.
x_open_router_categoriesOptional[str]:heavy_minus_sign:Comma-separated list of app categories (e.g. “cli-agent,cloud-agent”). Used for marketplace rankings.
offsetOptional[int]:heavy_minus_sign:Number of records to skip for pagination0
limitOptional[int]:heavy_minus_sign:Maximum number of records to return (max 100)50
workspace_idOptional[str]:heavy_minus_sign:Filter guardrails by workspace ID. By default, guardrails in the default workspace are returned.0df9e665-d932-5740-b2c7-b52af166bc11
retriesOptional[utils.RetryConfig]:heavy_minus_sign:Configuration to override the default retry behavior of the client.

Response

operations.ListGuardrailsResponse

Errors

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

create

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

Example Usage

Parameters

ParameterTypeRequiredDescriptionExample
namestr:heavy_check_mark:Name for the new guardrailMy New Guardrail
http_refererOptional[str]:heavy_minus_sign: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]:heavy_minus_sign:The app display name allows you to customize how your app appears in OpenRouter’s dashboard.
x_open_router_categoriesOptional[str]:heavy_minus_sign:Comma-separated list of app categories (e.g. “cli-agent,cloud-agent”). Used for marketplace rankings.
allowed_modelsList[str]:heavy_minus_sign:Array of model identifiers (slug or canonical_slug accepted)[
“openai/gpt-5.2”,
“anthropic/claude-4.5-opus-20251124”,
“deepseek/deepseek-r1-0528:free”
]
allowed_providersList[str]:heavy_minus_sign:List of allowed provider IDs[
“openai”,
“anthropic”,
“deepseek”
]
content_filter_builtinsList[components.ContentFilterBuiltinEntryInput]:heavy_minus_sign:Builtin content filters to apply. The “flag” action is only supported for “regex-prompt-injection”; PII slugs (email, phone, ssn, credit-card, ip-address, person-name, address) accept “block” or “redact” only.[
{
“action”: “block”,
“slug”: “regex-prompt-injection”
}
]
content_filtersList[components.ContentFilterEntry]:heavy_minus_sign:Custom regex content filters to apply to request messages[
{
“action”: “redact”,
“label”: “[API_KEY]”,
“pattern”: “\b(sk-[a-zA-Z0-9]{48})\b”
}
]
descriptionOptionalNullable[str]:heavy_minus_sign:Description of the guardrailA guardrail for limiting API usage
enforce_zdrOptionalNullable[bool]:heavy_minus_sign:: warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Deprecated. Use enforce_zdr_anthropic, enforce_zdr_openai, enforce_zdr_google, enforce_zdr_xai, and enforce_zdr_other instead. When provided, its value is copied into any of those per-provider fields that are not explicitly specified on the request.
false
enforce_zdr_anthropicOptionalNullable[bool]:heavy_minus_sign:Whether to enforce zero data retention for Anthropic models. Falls back to enforce_zdr when not provided.false
enforce_zdr_googleOptionalNullable[bool]:heavy_minus_sign:Whether to enforce zero data retention for Google models. Falls back to enforce_zdr when not provided.false
enforce_zdr_openaiOptionalNullable[bool]:heavy_minus_sign:Whether to enforce zero data retention for OpenAI models. Falls back to enforce_zdr when not provided.false
enforce_zdr_otherOptionalNullable[bool]:heavy_minus_sign:Whether to enforce zero data retention for models that are not from Anthropic, OpenAI, Google, or xAI. Falls back to enforce_zdr when not provided.false
enforce_zdr_xaiOptionalNullable[bool]:heavy_minus_sign:Whether to enforce zero data retention for xAI models. Falls back to enforce_zdr when not provided.false
ignored_modelsList[str]:heavy_minus_sign:Array of model identifiers to exclude from routing (slug or canonical_slug accepted)[
“openai/gpt-4o-mini”
]
ignored_providersList[str]:heavy_minus_sign:List of provider IDs to exclude from routing[
“azure”
]
limit_usdOptionalNullable[float]:heavy_minus_sign:Spending limit in USD50
reset_intervalOptionalNullable[components.GuardrailInterval]:heavy_minus_sign:Interval at which the limit resets (daily, weekly, monthly)monthly
workspace_idOptional[str]:heavy_minus_sign:The workspace to create the guardrail in. Defaults to the default workspace if not provided.0df9e665-d932-5740-b2c7-b52af166bc11
retriesOptional[utils.RetryConfig]:heavy_minus_sign:Configuration to override the default retry behavior of the client.

Response

components.CreateGuardrailResponse

Errors

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

delete

Delete an existing guardrail. Management key required.

Example Usage

Parameters

ParameterTypeRequiredDescriptionExample
idstr:heavy_check_mark:The unique identifier of the guardrail to delete550e8400-e29b-41d4-a716-446655440000
http_refererOptional[str]:heavy_minus_sign: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]:heavy_minus_sign:The app display name allows you to customize how your app appears in OpenRouter’s dashboard.
x_open_router_categoriesOptional[str]:heavy_minus_sign:Comma-separated list of app categories (e.g. “cli-agent,cloud-agent”). Used for marketplace rankings.
retriesOptional[utils.RetryConfig]:heavy_minus_sign:Configuration to override the default retry behavior of the client.

Response

components.DeleteGuardrailResponse

Errors

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

get

Get a single guardrail by ID. Management key required.

Example Usage

Parameters

ParameterTypeRequiredDescriptionExample
idstr:heavy_check_mark:The unique identifier of the guardrail to retrieve550e8400-e29b-41d4-a716-446655440000
http_refererOptional[str]:heavy_minus_sign: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]:heavy_minus_sign:The app display name allows you to customize how your app appears in OpenRouter’s dashboard.
x_open_router_categoriesOptional[str]:heavy_minus_sign:Comma-separated list of app categories (e.g. “cli-agent,cloud-agent”). Used for marketplace rankings.
retriesOptional[utils.RetryConfig]:heavy_minus_sign:Configuration to override the default retry behavior of the client.

Response

components.GetGuardrailResponse

Errors

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

update

Update an existing guardrail. Collection fields use replace semantics: send the full desired set on every update. Management key required.

Example Usage

Parameters

ParameterTypeRequiredDescriptionExample
idstr:heavy_check_mark:The unique identifier of the guardrail to update550e8400-e29b-41d4-a716-446655440000
http_refererOptional[str]:heavy_minus_sign: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]:heavy_minus_sign:The app display name allows you to customize how your app appears in OpenRouter’s dashboard.
x_open_router_categoriesOptional[str]:heavy_minus_sign:Comma-separated list of app categories (e.g. “cli-agent,cloud-agent”). Used for marketplace rankings.
allowed_modelsList[str]:heavy_minus_sign:Array of model identifiers (slug or canonical_slug accepted)[
“openai/gpt-5.2”
]
allowed_providersList[str]:heavy_minus_sign:New list of allowed provider IDs[
“openai”,
“anthropic”,
“deepseek”
]
content_filter_builtinsList[components.ContentFilterBuiltinEntryInput]:heavy_minus_sign:Builtin content filters to apply. Set to null to remove. The “flag” action is only supported for “regex-prompt-injection”; PII slugs (email, phone, ssn, credit-card, ip-address, person-name, address) accept “block” or “redact” only.[
{
“action”: “block”,
“slug”: “regex-prompt-injection”
}
]
content_filtersList[components.ContentFilterEntry]:heavy_minus_sign:Custom regex content filters to apply. Set to null to remove.null
descriptionOptionalNullable[str]:heavy_minus_sign:New description for the guardrailUpdated description
enforce_zdrOptionalNullable[bool]:heavy_minus_sign:: warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Deprecated. Use enforce_zdr_anthropic, enforce_zdr_openai, enforce_zdr_google, enforce_zdr_xai, and enforce_zdr_other instead. When provided, its value is copied into any of those per-provider fields that are not explicitly specified on the request.
true
enforce_zdr_anthropicOptionalNullable[bool]:heavy_minus_sign:Whether to enforce zero data retention for Anthropic models. Falls back to enforce_zdr when not provided.true
enforce_zdr_googleOptionalNullable[bool]:heavy_minus_sign:Whether to enforce zero data retention for Google models. Falls back to enforce_zdr when not provided.true
enforce_zdr_openaiOptionalNullable[bool]:heavy_minus_sign:Whether to enforce zero data retention for OpenAI models. Falls back to enforce_zdr when not provided.true
enforce_zdr_otherOptionalNullable[bool]:heavy_minus_sign:Whether to enforce zero data retention for models that are not from Anthropic, OpenAI, Google, or xAI. Falls back to enforce_zdr when not provided.true
enforce_zdr_xaiOptionalNullable[bool]:heavy_minus_sign:Whether to enforce zero data retention for xAI models. Falls back to enforce_zdr when not provided.true
ignored_modelsList[str]:heavy_minus_sign:Array of model identifiers to exclude from routing (slug or canonical_slug accepted)[
“openai/gpt-4o-mini”
]
ignored_providersList[str]:heavy_minus_sign:List of provider IDs to exclude from routing[
“azure”
]
limit_usdOptionalNullable[float]:heavy_minus_sign:New spending limit in USD75
nameOptional[str]:heavy_minus_sign:New name for the guardrailUpdated Guardrail Name
reset_intervalOptionalNullable[components.GuardrailInterval]:heavy_minus_sign:Interval at which the limit resets (daily, weekly, monthly)monthly
retriesOptional[utils.RetryConfig]:heavy_minus_sign:Configuration to override the default retry behavior of the client.

Response

components.UpdateGuardrailResponse

Errors

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

list_guardrail_key_assignments

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

Example Usage

Parameters

ParameterTypeRequiredDescriptionExample
idstr:heavy_check_mark:The unique identifier of the guardrail550e8400-e29b-41d4-a716-446655440000
http_refererOptional[str]:heavy_minus_sign: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]:heavy_minus_sign:The app display name allows you to customize how your app appears in OpenRouter’s dashboard.
x_open_router_categoriesOptional[str]:heavy_minus_sign:Comma-separated list of app categories (e.g. “cli-agent,cloud-agent”). Used for marketplace rankings.
offsetOptional[int]:heavy_minus_sign:Number of records to skip for pagination0
limitOptional[int]:heavy_minus_sign:Maximum number of records to return (max 100)50
retriesOptional[utils.RetryConfig]:heavy_minus_sign:Configuration to override the default retry behavior of the client.

Response

operations.ListGuardrailKeyAssignmentsResponse

Errors

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

bulk_assign_keys

Assign multiple API keys to a specific guardrail. A key may hold at most one guardrail; assigning replaces any existing assignment. Management key required.

Example Usage

Parameters

ParameterTypeRequiredDescriptionExample
idstr:heavy_check_mark:The unique identifier of the guardrail550e8400-e29b-41d4-a716-446655440000
key_hashesList[str]:heavy_check_mark:Array of API key hashes to assign to the guardrail[
“c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93”
]
http_refererOptional[str]:heavy_minus_sign: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]:heavy_minus_sign:The app display name allows you to customize how your app appears in OpenRouter’s dashboard.
x_open_router_categoriesOptional[str]:heavy_minus_sign:Comma-separated list of app categories (e.g. “cli-agent,cloud-agent”). Used for marketplace rankings.
retriesOptional[utils.RetryConfig]:heavy_minus_sign:Configuration to override the default retry behavior of the client.

Response

components.BulkAssignKeysResponse

Errors

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

bulk_unassign_keys

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

Example Usage

Parameters

ParameterTypeRequiredDescriptionExample
idstr:heavy_check_mark:The unique identifier of the guardrail550e8400-e29b-41d4-a716-446655440000
key_hashesList[str]:heavy_check_mark:Array of API key hashes to unassign from the guardrail[
“c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93”
]
http_refererOptional[str]:heavy_minus_sign: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]:heavy_minus_sign:The app display name allows you to customize how your app appears in OpenRouter’s dashboard.
x_open_router_categoriesOptional[str]:heavy_minus_sign:Comma-separated list of app categories (e.g. “cli-agent,cloud-agent”). Used for marketplace rankings.
retriesOptional[utils.RetryConfig]:heavy_minus_sign:Configuration to override the default retry behavior of the client.

Response

components.BulkUnassignKeysResponse

Errors

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

list_guardrail_member_assignments

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

Example Usage

Parameters

ParameterTypeRequiredDescriptionExample
idstr:heavy_check_mark:The unique identifier of the guardrail550e8400-e29b-41d4-a716-446655440000
http_refererOptional[str]:heavy_minus_sign: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]:heavy_minus_sign:The app display name allows you to customize how your app appears in OpenRouter’s dashboard.
x_open_router_categoriesOptional[str]:heavy_minus_sign:Comma-separated list of app categories (e.g. “cli-agent,cloud-agent”). Used for marketplace rankings.
offsetOptional[int]:heavy_minus_sign:Number of records to skip for pagination0
limitOptional[int]:heavy_minus_sign:Maximum number of records to return (max 100)50
retriesOptional[utils.RetryConfig]:heavy_minus_sign:Configuration to override the default retry behavior of the client.

Response

operations.ListGuardrailMemberAssignmentsResponse

Errors

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

bulk_assign_members

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

Example Usage

Parameters

ParameterTypeRequiredDescriptionExample
idstr:heavy_check_mark:The unique identifier of the guardrail550e8400-e29b-41d4-a716-446655440000
member_user_idsList[str]:heavy_check_mark:Array of member user IDs to assign to the guardrail[
“user_abc123”,
“user_def456”
]
http_refererOptional[str]:heavy_minus_sign: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]:heavy_minus_sign:The app display name allows you to customize how your app appears in OpenRouter’s dashboard.
x_open_router_categoriesOptional[str]:heavy_minus_sign:Comma-separated list of app categories (e.g. “cli-agent,cloud-agent”). Used for marketplace rankings.
retriesOptional[utils.RetryConfig]:heavy_minus_sign:Configuration to override the default retry behavior of the client.

Response

components.BulkAssignMembersResponse

Errors

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

bulk_unassign_members

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

Example Usage

Parameters

ParameterTypeRequiredDescriptionExample
idstr:heavy_check_mark:The unique identifier of the guardrail550e8400-e29b-41d4-a716-446655440000
member_user_idsList[str]:heavy_check_mark:Array of member user IDs to unassign from the guardrail[
“user_abc123”,
“user_def456”
]
http_refererOptional[str]:heavy_minus_sign: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]:heavy_minus_sign:The app display name allows you to customize how your app appears in OpenRouter’s dashboard.
x_open_router_categoriesOptional[str]:heavy_minus_sign:Comma-separated list of app categories (e.g. “cli-agent,cloud-agent”). Used for marketplace rankings.
retriesOptional[utils.RetryConfig]:heavy_minus_sign:Configuration to override the default retry behavior of the client.

Response

components.BulkUnassignMembersResponse

Errors

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

list_key_assignments

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

Example Usage

Parameters

ParameterTypeRequiredDescriptionExample
http_refererOptional[str]:heavy_minus_sign: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]:heavy_minus_sign:The app display name allows you to customize how your app appears in OpenRouter’s dashboard.
x_open_router_categoriesOptional[str]:heavy_minus_sign:Comma-separated list of app categories (e.g. “cli-agent,cloud-agent”). Used for marketplace rankings.
offsetOptional[int]:heavy_minus_sign:Number of records to skip for pagination0
limitOptional[int]:heavy_minus_sign:Maximum number of records to return (max 100)50
retriesOptional[utils.RetryConfig]:heavy_minus_sign:Configuration to override the default retry behavior of the client.

Response

operations.ListKeyAssignmentsResponse

Errors

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

list_member_assignments

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

Example Usage

Parameters

ParameterTypeRequiredDescriptionExample
http_refererOptional[str]:heavy_minus_sign: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]:heavy_minus_sign:The app display name allows you to customize how your app appears in OpenRouter’s dashboard.
x_open_router_categoriesOptional[str]:heavy_minus_sign:Comma-separated list of app categories (e.g. “cli-agent,cloud-agent”). Used for marketplace rankings.
offsetOptional[int]:heavy_minus_sign:Number of records to skip for pagination0
limitOptional[int]:heavy_minus_sign:Maximum number of records to return (max 100)50
retriesOptional[utils.RetryConfig]:heavy_minus_sign:Configuration to override the default retry behavior of the client.

Response

operations.ListMemberAssignmentsResponse

Errors

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