Saltar al contenido
Referencia de API
Referencia de API

Actualizar una guardia de seguridad

Reemplace los campos de la medida de seguridad indicados sin modificar los campos omitidos.

Reemplace los campos de la medida de seguridad indicados sin modificar los campos omitidos.

Endpoint

PATCH /api/v1/guardrails/:id
URL base
https://runapi.ai
Versión de la API
v1
Autenticación
Authorization: Bearer YOUR_MANAGEMENT_API_KEY
Autorización
Requiere una Clave de API de administración con rol de administrador de cuenta.
02

Solicitud

Cuerpo JSON

Envíe valores únicamente en la ubicación de solicitud indicada.

Cuerpo JSON10 campos
allowed_modelsarray | null
Opcional

Lista de modelos permitidos de reemplazo.

allowed_providersarray | null
Opcional

Lista de proveedores permitidos de reemplazo.

blocked_modelsarray | null
Opcional

Lista de modelos bloqueados de reemplazo.

blocked_providersarray | null
Opcional

Lista de proveedores bloqueados de reemplazo.

credit_limit_centsinteger | null
Opcional

Límite de gasto total en centavos de USD.

credit_limit_reset_intervalstring | null
Opcional

Cadencia de reinicio del límite de gasto total.

Valores permitidos: daily, weekly, monthly
descriptionstring
Opcional

Descripción de formato libre de reemplazo.

enabledboolean
Opcional

Si la barrera de protección está activada.

model_budgetsarray | null
Opcional

Reglas de presupuesto por modelo de reemplazo.

namestring
Opcional

Nombre de medida de seguridad de reemplazo.

Parámetros de ruta1 campo
idstring
Obligatorio

ID de prefijo de Guardrail, por ejemplo guardrail_abc123.

03

Respuesta de éxito

HTTP 200

PATCH /api/v1/guardrails/:id

JSON
{
  "allowed_models": [
    "gpt-5.4"
  ],
  "allowed_providers": [],
  "assignment_count": 1,
  "blocked_models": [],
  "blocked_providers": [],
  "created_at": "2026-07-27T10:00:00.000Z",
  "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

Respuesta de error (401)

HTTP 401
Esquema de respuesta
JSON
{
  "properties": {
    "error": {
      "description": "Mensaje de error legible por personas.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Ejemplo de respuesta

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

Respuesta de error (403)

HTTP 403
Esquema de respuesta
JSON
{
  "properties": {
    "error": {
      "description": "Mensaje de error legible por personas.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Ejemplo de respuesta

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

Respuesta de error (403)

HTTP 403
Esquema de respuesta
JSON
{
  "properties": {
    "error": {
      "description": "Mensaje de error legible por personas.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Ejemplo de respuesta

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

Respuesta de error (400)

HTTP 400
Esquema de respuesta
JSON
{
  "oneOf": [
    {
      "properties": {
        "error": {
          "description": "Mensaje de error legible por personas.",
          "type": "string"
        }
      },
      "required": [
        "error"
      ],
      "type": "object",
      "unevaluatedProperties": false
    },
    {
      "properties": {
        "error": {
          "description": "Resumen de validación legible por personas.",
          "type": "string"
        },
        "errors": {
          "additionalProperties": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "description": "Mensajes de validación con clave por campo de solicitud público, con un array de cadenas legibles por personas para cada campo.",
          "type": "object"
        }
      },
      "required": [
        "error",
        "errors"
      ],
      "type": "object",
      "unevaluatedProperties": false
    }
  ]
}

Ejemplo de respuesta

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

Respuesta de error (404)

HTTP 404
Esquema de respuesta
JSON
{
  "properties": {
    "error": {
      "description": "Mensaje de error legible por personas.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Ejemplo de respuesta

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

Respuesta de error (422)

HTTP 422
Esquema de respuesta
JSON
{
  "properties": {
    "error": {
      "description": "Resumen de validación legible por personas.",
      "type": "string"
    },
    "errors": {
      "additionalProperties": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "description": "Mensajes de validación con clave por campo de solicitud público, con un array de cadenas legibles por personas para cada campo.",
      "type": "object"
    }
  },
  "required": [
    "error",
    "errors"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Ejemplo de respuesta

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

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