Pular para o conteúdo
Referência de API
Referência de API

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

PATCH /api/v1/guardrails/:id
URL base
https://runapi.ai
Versão da API
v1
Autenticação
Authorization: Bearer YOUR_MANAGEMENT_API_KEY
Autorização
Requer uma chave de API de gerenciamento de administrador de conta.
02

Solicitação

Corpo JSON

Envie valores apenas no local de requisição listado.

Corpo JSON12 campos
alert_threshold_percentinteger
Opcional

Porcentagem do limite de alerta do orçamento.

Padrão: 80 Intervalo: 1 - 100
allowed_modelsarray | null
Opcional

Lista de permissões de modelos substituta.

allowed_providersarray | null
Opcional

Lista de permissões de nomes de provedores substituta.

blocked_modelsarray | null
Opcional

Lista de bloqueio de modelos substituta.

blocked_providersarray | null
Opcional

Lista de bloqueio de nomes de provedores substituta.

credit_limit_behaviorstring
Opcional

Modo de aplicação do orçamento. Atribuições por etiqueta exigem block.

Valores permitidos: block, alert_only Padrão: block
credit_limit_centsinteger | null
Opcional

Limite total de gastos em centavos de USD.

credit_limit_reset_intervalstring | null
Opcional

Periodicidade do limite total. Null indica vitalício quando há um valor definido.

Valores permitidos: daily, weekly, monthly
descriptionstring
Opcional

Descrição de forma livre substituta.

enabledboolean
Opcional

Se o guardrail é aplicado.

model_budgetsarray | null
Opcional

Regras de orçamento por modelo substitutas.

namestring
Opcional

Nome de guardrail substituto.

Parâmetros de caminho1 campo
idstring
Obrigatório

ID de prefixo do guardrail, por exemplo guardrail_abc123.

03

Resposta de sucesso

HTTP 200

PATCH /api/v1/guardrails/:id

JSON
{
  "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"
}
04

Resposta de erro (401)

HTTP 401
Esquema de resposta
JSON
{
  "properties": {
    "error": {
      "description": "Mensagem de erro legível por humanos.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Exemplo de resposta

JSON
{
  "error": "Authentication required"
}
05

Resposta de erro (403)

HTTP 403
Esquema de resposta
JSON
{
  "properties": {
    "error": {
      "description": "Mensagem de erro legível por humanos.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Exemplo de resposta

JSON
{
  "error": "Management API key required"
}
06

Resposta de erro (403)

HTTP 403
Esquema de resposta
JSON
{
  "properties": {
    "error": {
      "description": "Mensagem de erro legível por humanos.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Exemplo de resposta

JSON
{
  "error": "Account admin required"
}
07

Resposta de erro (400)

HTTP 400
Esquema de resposta
JSON
{
  "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

JSON
{
  "error": "page must be an integer"
}
08

Resposta de erro (404)

HTTP 404
Esquema de resposta
JSON
{
  "properties": {
    "error": {
      "description": "Mensagem de erro legível por humanos.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Exemplo de resposta

JSON
{
  "error": "Resource not found"
}
09

Resposta de erro (422)

HTTP 422
Esquema de resposta
JSON
{
  "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

JSON
{
  "error": "Validation failed",
  "errors": {
    "base": [
      "Validation failed"
    ]
  }
}
10

Exemplo de cURL

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}'