guardrail_blocked. Esta página es la
referencia de aterrizaje para ese único error: cómo se ve el cuerpo, por qué se
comporta como lo hace, y cómo manejarlo en el código del cliente. Para el motor
de política detrás de él, ver
Visión general de guardrails y la
referencia completa.
1. Cuándo ves guardrail_blocked
Un guardrail es una lista ordenada de reglas que el gateway ejecuta contra la entrada de la solicitud y la salida del modelo. Cuando una regla cuya acción es block se dispara, la llamada es rechazada — el modelo upstream nunca se llama (etapa de entrada) o su respuesta se retiene (etapa de salida). El cliente recibe un 400 que llevaguardrail_blocked.
Ninguna otra acción produce este error. mask redacta la coincidencia y deja
pasar el texto saneado, flag registra una coincidencia sin cambiar el
tráfico, y las acciones de modelado de prompt (annotate, spotlight)
dejan continuar la llamada mientras añaden una nota o envuelven texto no
confiable. De las cinco acciones, solo block rechaza. Ver
Acciones.
guardrail_blocked es un rechazo de contenido (texto entra, texto sale).
La denegación de política de herramientas complementaria es firewall_blocked
del Agent Firewall — un error diferente con una forma
diferente. Ver
guardrails vs. firewall.2. El cuerpo de la respuesta
El bloqueo se devuelve en el envoltorio de error estándar con forma de OpenAI del gateway. En un endpoint estilo OpenAI (/v1/chat/completions,
/v1/responses):
code — guardrail_blocked
code — guardrail_blocked
El identificador de máquina estable. Ramifica sobre esto, no sobre la
cadena del mensaje. Es el mismo valor en cada endpoint y nunca se localiza.
message — nombra el guardrail y la regla
message — nombra el guardrail y la regla
Legible por humanos. La forma es
request blocked by guardrail "<name>": <detail>, donde <detail> resume el/los tipo(s) de regla que se
disparó como <type>(<rule-detail>) — por ejemplo pii(pii: ssn) o
keyword(matched 1 keyword(s)). Un bloqueo en la etapa de salida lee
response blocked by guardrail "<name>": <detail>, así que el verbo te dice
qué etapa rechazó la llamada. El mensaje pasa por el enmascarado de
información sensible antes de salir del gateway, así que no esperes la
subcadena coincidente en bruto aquí.type — orcarouter_api_error
type — orcarouter_api_error
El tipo de error genérico del gateway en endpoints estilo OpenAI. La señal
distintiva es
code, no type./v1/messages) el envoltorio tiene forma
de Claude — {"error": {"type": ..., "message": ...}} — y guardrail_blocked
aparece en el campo type, así que un SDK nativo de Claude puede distinguir
una denegación de política de un fallo genérico del gateway.
3. Por qué guardrail_blocked no cuesta cuota
Una solicitud bloqueada es gratis — nunca debita tu saldo de crédito.| Etapa | Cuándo se dispara el bloqueo | Efecto en la cuota |
|---|---|---|
input | Antes de la llamada upstream, por delante de la medición | Nada se mide |
output | Después de que el modelo responde, antes de que la respuesta regrese | La cuota preconsumida se reembolsa |
4. Por qué guardrail_blocked se salta el reintento
El error está etiquetado como skip-retry. El propio enrutamiento del gateway no derivará esta solicitud a otro canal, porque el bloqueo es una propiedad de tu contenido y tu política — reejecutar el prompt idéntico simplemente volvería a bloquear en el siguiente canal y malgastaría el intento.5. Manejarlo en el código del cliente
Ramifica sobre el campocode y presenta un mensaje útil al usuario final en
vez de reintentar.
sk-orca-... aquí es una clave de relay — solo lleva tráfico
/v1/*. Nunca editas un guardrail con ella; crear y vincular política es una
acción de consola / API de gestión sobre tu sesión, y crear o editar un
guardrail requiere el rol Developer+.
6. Confirmar y afinar un bloqueo
Cada regla que se dispara — incluido block — aterriza en el feed Matches del espacio de trabajo con su tipo, acción, etapa y una cadena de detalle. Ahí es donde confirmas qué regla rechazó una llamada dada y triagas falsos positivos.Feed de coincidencias
Ve cada block, mask y flag con tipo, acción y etapa. La subcadena
coincidente aparece solo cuando Log raw content está activado.
Registro y privacidad
El contenido en bruto está apagado por defecto — la postura conservadora
con la privacidad. Actívalo por guardrail cuando necesites la subcadena para
triaje.
Afinar falsos positivos
Un falso positivo es una señal de ajuste, no una razón para deshabilitar la
regla. Márcalo y acota el patrón.
Versionado
¿Cambiaste la política y quieres deshacerlo? Haz diff de dos versiones
cualesquiera y revierte como una nueva versión — el historial nunca se muta.
En una respuesta con streaming, un block de salida todavía aplica: el
escáner corta el stream en pleno vuelo antes de que cualquier contenido
bloqueado llegue al cliente. Mask de salida también aplica en banda en
streams — el escáner reescribe la coincidencia en el buffer rodante antes de que
se emita el prefijo seguro. Ver
cobertura de streaming y
reglas seguras en streaming.
7. Relacionado
Entiende la política
Entiende la política
Velo sobre tráfico en vivo
Velo sobre tráfico en vivo
Mapea a conceptos y amenazas
Mapea a conceptos y amenazas
