Atualizar um guardrail
Substituir os campos fornecidos para todas as atribuições que usam esta política compartilhada. Campos omitidos permanecem inalterados.
Substituir os campos fornecidos para todas as atribuições que usam esta política compartilhada. Campos omitidos permanecem inalterados.
Endpoint
- URL base
https://runapi.ai- Versão da API
v1- Autenticação
Authorization: Bearer YOUR_MANAGEMENT_API_KEY
Solicitação
Envie valores apenas no local de requisição listado.
Corpo JSON12 campos
alert_threshold_percentintegerPorcentagem do limite de alerta do orçamento.
Padrão:80
Intervalo: 1 - 100
allowed_modelsarray | nullLista de permissões de modelos substituta.
allowed_providersarray | nullLista de permissões de nomes de provedores substituta.
blocked_modelsarray | nullLista de bloqueio de modelos substituta.
blocked_providersarray | nullLista de bloqueio de nomes de provedores substituta.
credit_limit_behaviorstringModo de aplicação do orçamento. Atribuições por etiqueta exigem block.
Valores permitidos:block, alert_only
Padrão: block
credit_limit_centsinteger | nullLimite total de gastos em centavos de USD.
credit_limit_reset_intervalstring | nullPeriodicidade do limite total. Null indica vitalício quando há um valor definido.
Valores permitidos:daily, weekly, monthly
descriptionstringDescrição de forma livre substituta.
enabledbooleanSe o guardrail é aplicado.
model_budgetsarray | nullRegras de orçamento por modelo substitutas.
namestringNome de guardrail substituto.
Parâmetros de caminho1 campo
idstringID de prefixo do guardrail, por exemplo guardrail_abc123.
Resposta de sucesso
PATCH /api/v1/guardrails/:id
{
"alert_threshold_percent": 80,
"allowed_models": [
"gpt-5.4"
],
"allowed_providers": [],
"assignment_count": 1,
"blocked_models": [],
"blocked_providers": [],
"created_at": "2026-07-27T10:00:00.000Z",
"credit_limit_behavior": "block",
"credit_limit_cents": 50000,
"credit_limit_reset_interval": "monthly",
"description": "Production policy",
"enabled": false,
"id": "guardrail_123",
"model_budgets": [
{
"credit_limit_cents": 10000,
"credit_limit_reset_interval": "monthly",
"match_mode": "include",
"models": [
"gpt-5.4"
]
}
],
"name": "Production budget"
}
Resposta de erro (401)
Esquema de resposta
{
"properties": {
"error": {
"description": "Mensagem de erro legível por humanos.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Exemplo de resposta
{
"error": "Authentication required"
}
Resposta de erro (403)
Esquema de resposta
{
"properties": {
"error": {
"description": "Mensagem de erro legível por humanos.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Exemplo de resposta
{
"error": "Management API key required"
}
Resposta de erro (403)
Esquema de resposta
{
"properties": {
"error": {
"description": "Mensagem de erro legível por humanos.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Exemplo de resposta
{
"error": "Account admin required"
}
Resposta de erro (400)
Esquema de resposta
{
"oneOf": [
{
"properties": {
"error": {
"description": "Mensagem de erro legível por humanos.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
},
{
"properties": {
"error": {
"description": "Resumo de validação legível por humanos.",
"type": "string"
},
"errors": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"description": "Mensagens de validação com chaves por campo de requisição público, com um array de strings legíveis por humanos para cada campo.",
"type": "object"
}
},
"required": [
"error",
"errors"
],
"type": "object",
"unevaluatedProperties": false
}
]
}
Exemplo de resposta
{
"error": "page must be an integer"
}
Resposta de erro (404)
Esquema de resposta
{
"properties": {
"error": {
"description": "Mensagem de erro legível por humanos.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Exemplo de resposta
{
"error": "Resource not found"
}
Resposta de erro (422)
Esquema de resposta
{
"properties": {
"error": {
"description": "Resumo de validação legível por humanos.",
"type": "string"
},
"errors": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"description": "Mensagens de validação com chaves por campo de requisição público, com um array de strings legíveis por humanos para cada campo.",
"type": "object"
}
},
"required": [
"error",
"errors"
],
"type": "object",
"unevaluatedProperties": false
}
Exemplo de resposta
{
"error": "Validation failed",
"errors": {
"base": [
"Validation failed"
]
}
}
Exemplo de cURL
curl -X PATCH https://runapi.ai/api/v1/guardrails/guardrail_123 \
-H 'Authorization: Bearer YOUR_MANAGEMENT_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"enabled":false}'