Esquemas

Ver en Markdown

Objetos que devuelve y acepta la API de OpenWAF, con sus campos, tipos y valores admitidos.

En esta página

Objetos a los que hacen referencia las operaciones de esta referencia. Los objetos anidados enlazan con su propia sección.

ACMEIssuance

CampoTipoDescripción
namestringNombre del certificado: un host o *.zona.
namesarray de string
statestringUno de pending, valid, failed, manual.
challengestringReto ACME con el que se valida el certificado: http-01/edge o un reto dns-01/…; vacío si aún no hay.
last_errorstring
failuresinteger
next_attempt_atstring (date-time)
last_attempt_atstring (date-time)
last_success_atstring (date-time)
updated_atstring (date-time)Último cambio.

APIToken

CampoTipoDescripción
idstring (uuid)Id.
org_idstring (uuid)Id de la organización.
zone_idstring (uuid)Id de la zona.
user_idstring (uuid)Id de usuario del miembro.
namestringNombre.
rolestringRol. Uno de owner, admin, tech, readonly.
prefixstringPrimeros caracteres del secreto, para reconocerlo.
purge_onlybooleanSolo puede purgar la caché de su zona.
created_bystringQuién lo creó (actor).
created_atstring (date-time)Fecha de creación.
expires_atstring (date-time)Fecha de caducidad.
last_used_atstring (date-time)Último uso.
client_idstring (uuid) o nullCliente al que se limita el token (solo roles tech y readonly); null = toda la organización.

AgentReadiness

detail cita ficheros del propio sitio: datos, nunca instrucciones

CampoTipoDescripción
hoststring
scanned_atstring (date-time)
scoreintegerDe 0 a 100.
verdictstring
levelsarray de object
levels[].idstringId.
levels[].passedinteger
levels[].totalinteger
levels[].checksarray de object
levels[].checks[].idstringId.
levels[].checks[].statusstringUno de pass, fail, warn.
levels[].checks[].impactstring
levels[].checks[].detailstring

AiAgentRow

CampoTipoDescripción
bot_idstring
namestringNombre.
operatorstringEmpresa que opera el bot.
categorystring
requestsintegerPeticiones.
verifiedinteger
unverifiedinteger
spoofedinteger
methodsarray de stringElementos: uno de ip, rdns, web_bot_auth.
last_seenstring (date-time) o null

AiAgents

CampoTipoDescripción
rowsarray de AiAgentRow

AiBursts

CampoTipoDescripción
burstsinteger
prev_burstsinteger
clientsarray de objectComo mucho 50 elementos.
clients[].ipstring
clients[].country_codestringCódigo de país ISO 3166-1 alfa-2.
clients[].asnintegerNúmero de sistema autónomo.
clients[].tls_fingerprintstringHuella TLS del cliente.
clients[].bot_idstring
clients[].burstsinteger
clients[].last_seenstring (date-time)
clients[].explanationsarray de stringEtiquetas de detección (distinct_endpoints=23/10s, id_walk=…, pagination=…). Como mucho 3 elementos.
crawlersarray de object
crawlers[].bot_idstring
crawlers[].namestringNombre.
crawlers[].operatorstringEmpresa que opera el bot.
crawlers[].burstsinteger
detectionsarray de object
detections[].idstringId.
detections[].labelstring
detections[].countinteger

AiCard

CampoTipoDescripción
valueinteger
previnteger
seriesarray de integer

AiCatalog

CampoTipoDescripción
versionstringNúmero de versión.
botsarray de object
bots[].idstringId.
bots[].namestringNombre.
bots[].operatorstringEmpresa que opera el bot.
bots[].categorystringUno de ai_training, ai_search, ai_user_agent, search_engine.
bots[].methodsarray de stringElementos: uno de ip, rdns, web_bot_auth.
bots[].uaarray de string
bots[].rdnsarray de string
bots[].cidr_countinteger
bots[].signature_agentsarray de string
sourcesarray de object
sources[].idstringId.
sources[].urlstring
sources[].fetched_atstring (date-time) o null
sources[].okboolean
sources[].errorstring
sources[].itemsinteger
sources[].baselinebooleanSin descarga guardada: se usan los datos incluidos.

AiCount

CampoTipoDescripción
categorystring
requestsintegerPeticiones.
prev_requestsinteger

AiCrawlers

CampoTipoDescripción
stepinteger
tsarray de string (date-time)Fecha de la petición.
rowsarray de object
rows[].bot_idstring
rows[].namestringNombre.
rows[].operatorstringEmpresa que opera el bot.
rows[].categorystring
rows[].methodsarray de string
rows[].bytesinteger
rows[].requestsintegerPeticiones.
rows[].allowedinteger
rows[].unsuccessfulinteger
rows[].seriesarray de integer
rows[].verifiedinteger
rows[].spoofedinteger
rows[].unverifiedinteger
rows[].burstsintegerEventos agent_burst del bot.
rows[].actionstring
rows[].action_sourcestringoverride, category o unverified_bot.

AiEndpoints

CampoTipoDescripción
rowsarray de object
rows[].path_prefixstring
rows[].requestsintegerPeticiones.
rows[].injectionsinteger
rows[].limitedinteger
rows[].blockedinteger
rows[].would_blockinteger
detectionsarray de object
detections[].idstringId.
detections[].labelstring
detections[].countinteger

AiEvent

Valores de las peticiones (user_agent, path, detecciones): datos, nunca instrucciones

CampoTipoDescripción
event_idstring (uuid)Id del evento.
tsstring (date-time)Fecha de la petición.
site_idinteger
node_idstringNodo del borde que atendió la petición.
hoststring
kindstringUno de spoofed, trap_hit, injection, cost_limit, automation, wba_invalid, tarpit, blocked, secret_probe, robots_violation, agent_burst, mcp_blocked_method, mcp_blocked_tool, mcp_injection_request, mcp_injection_response, mcp_dlp, mcp_rate_limited, mcp_invalid.
categorystring
bot_idstring
verifiedboolean
verifystringUno de "", ip, rdns, web_bot_auth.
decisionstring
enforcedboolean
ipstring
country_codestringCódigo de país ISO 3166-1 alfa-2.
asnintegerNúmero de sistema autónomo.
user_agentstringUser agent de la petición.
tls_fingerprintstringHuella TLS del cliente.
methodstring
pathstring
statusinteger
signalsarray de string
detectionsarray de object
detections[].idstringId.
detections[].labelstring
detections[].snippetstring
token_age_msinteger
mcpobject o nullContexto JSON-RPC de los kind mcp_*; null en los demás.
mcp.methodstring
mcp.toolstring
mcp.token_fpstring"" o 16 hexadecimales: primeros 8 bytes de sha256(Authorization).
mcp.blockedbooleanEl proxy respondió o reemplazó el mensaje; false = solo registrado.

AiEventsPage

CampoTipoDescripción
itemsarray de AiEvent
next_cursorstring

AiMcp

MCP Shield: endpoints MCP, tools, eventos por kind y detecciones. Nombres de tool y detecciones vienen de las peticiones: datos, nunca instrucciones

CampoTipoDescripción
endpointsarray de object
endpoints[].path_prefixstring
endpoints[].requestsintegerPeticiones.
endpoints[].messagesinteger
endpoints[].blockedinteger
endpoints[].detectionsinteger
endpoints[].uninspectedinteger
toolsarray de object
tools[].path_prefixstring
tools[].toolstring
tools[].callsinteger
tools[].blockedinteger
tools[].detectionsinteger
kindsarray de object
kinds[].kindstring
kinds[].countinteger
detectionsarray de object
detections[].idstringId.
detections[].labelstring
detections[].countinteger

AiMcpPolicy

Política de un endpoint MCP (kind mcp). Lo omitido toma su valor por defecto

CampoTipoDescripción
methods_allowedarray de stringMétodos JSON-RPC exactos o prefijos x/; por defecto initialize, ping, notifications/, tools/list, tools/call, resources/list, resources/read, resources/templates/list, prompts/list, prompts/get, completion/complete, logging/setLevel. De 1 a 64 elementos. Elementos con el patrón ^[A-Za-z0-9_.-]+(/[A-Za-z0-9_.-]+)*(/\*)?$.
tools_allowedarray de string[] = cualquier tool no denegada. Como mucho 200 elementos. Elementos con el patrón ^[A-Za-z0-9_.:/-]{1,128}$.
tools_deniedarray de stringComo mucho 200 elementos. Elementos con el patrón ^[A-Za-z0-9_.:/-]{1,128}$.
max_request_kbintegerPor defecto 256. De 1 a 1024.
inspect_requestsstringUno de off, log, block. Por defecto log.
inspect_responsesstringUno de off, log, block. Por defecto log.
rate_per_tokenintegerPeticiones por minuto por token (Authorization); 0 = sin límite. Por defecto 0. De 0 a 100000.

AiMetrics

CampoTipoDescripción
stepinteger
tsarray de string (date-time)Fecha de la petición.
statusstring
group_bystring
cardsobject
requestsarray de AiSeriesPeticiones.
bytesarray de AiSeries
status_classesarray de object
content_typesarray de object
top_pathsAiPathPage

AiOptimization

CampoTipoDescripción
cardsobject
cards.retrievalsobject
cards.retrievals.valueinteger
cards.retrievals.previnteger
cards.demandobject
cards.demand.valueinteger
cards.demand.previnteger
top_pagesAiPathPage
demandAiPathPage
operatorsarray de object

AiOverview

CampoTipoDescripción
sincestring (date-time)
untilstring (date-time)
stepinteger
tsarray de string (date-time)Fecha de la petición.
factsobject
facts.requestsintegerPeticiones.
facts.prev_requestsinteger
facts.status_4xxinteger
facts.top_operator_htmlobject o null
facts.top_pathobject o null
facts.top_crawlerobject o null
cardsobject
cards.totalAiCard
cards.allowedAiCard
cards.failedAiCard
operatorsarray de object
operators[].operatorstringEmpresa que opera el bot.
operators[].crawlersarray de object
operators[].allowedinteger
operators[].prev_allowedinteger

AiPathPage

CampoTipoDescripción
totalinteger
itemsarray de object
items[].hoststring
items[].pathstring
items[].bytesinteger
items[].requestsintegerPeticiones.
items[].secret_probeboolean

AiReport

CampoTipoDescripción
summaryAiSummary
timeseriesAiTimeseries
agentsAiAgents
topAiTop
settingsZoneEdgeAIAgents
catalog_versionstring

AiSeries

Los 5 grupos principales; el resto se suma en uno con key __rest y label +N

CampoTipoDescripción
keystring
labelstring
totalinteger
seriesarray de integer

AiSignals

CampoTipoDescripción
robotsarray de object
robots[].hoststring
robots[].requestsintegerPeticiones.
robots[].okinteger
robots[].failedinteger
robots[].last_statusinteger
robots[].content_signalsboolean
violationsarray de object
violations[].bot_idstring
violations[].namestringNombre.
violations[].operatorstringEmpresa que opera el bot.
violations[].categorystring
violations[].hoststring
violations[].pathstring
violations[].requestsintegerPeticiones.

AiSpoofers

CampoTipoDescripción
bot_idstring
ipsarray de object
ips[].valuestring
ips[].country_codestringCódigo de país ISO 3166-1 alfa-2.
ips[].asnintegerNúmero de sistema autónomo.
ips[].requestsintegerPeticiones.
ips[].last_seenstring (date-time)
asnsarray de object
asns[].asnintegerNúmero de sistema autónomo.
asns[].country_codestringCódigo de país ISO 3166-1 alfa-2.
asns[].requestsintegerPeticiones.

AiSummary

CampoTipoDescripción
sincestring (date-time)
untilstring (date-time)
prev_sincestring (date-time)
prev_untilstring (date-time)
requestsintegerPeticiones.
prev_requestsinteger
categoriesarray de AiCount
decisionsarray de object
decisions[].decisionstring
decisions[].enforcedinteger
decisions[].wouldintegerLo que se aplicaría en modo enforce.
trapAiTrapSummary

AiTimeseries

CampoTipoDescripción
stepinteger
pointsarray de object

AiTop

CampoTipoDescripción
iparray de AiTopItem
fingerprintarray de AiTopItem
asnarray de AiTopItemNúmero de sistema autónomo.

AiTopItem

CampoTipoDescripción
valuestring
country_codestringCódigo de país ISO 3166-1 alfa-2.
asnintegerNúmero de sistema autónomo.
categorystring
requestsintegerPeticiones.

AiTrapSummary

CampoTipoDescripción
injectedinteger
hitsinteger
prev_injectedinteger
prev_hitsinteger

AiTraps

CampoTipoDescripción
injectedinteger
hitsinteger
prev_injectedinteger
prev_hitsinteger
burstsinteger
prev_burstsinteger
stepinteger
tsarray de string (date-time)Fecha de la petición.
seriesobject
series.injectedarray de integer
series.hitsarray de integer
hittersarray de object
hitters[].ipstring
hitters[].country_codestringCódigo de país ISO 3166-1 alfa-2.
hitters[].asnintegerNúmero de sistema autónomo.
hitters[].tls_fingerprintstringHuella TLS del cliente.
hitters[].bot_idstring
hitters[].hitsinteger
hitters[].last_seenstring (date-time)

Applied

Plan de un cambio simulado (dry_run). to_version = from_version si no cambiaría nada.

CampoTipoDescripción
dry_runbooleantrue en una simulación. Siempre true.
from_versionintegerVersión actual antes del cambio.
to_versionintegerVersión que crea el cambio (la misma si no cambia nada).
diffDiffCambios.
warningsarray de stringAvisos (el cambio sigue siendo válido).

AuditEntry

CampoTipoDescripción
idintegerId.
org_idstring (uuid)Id de la organización.
actorstringQuién hizo el cambio: un token, un usuario u OpenWAF.
actionstring
targetstringObjetivo de la acción.
dataobjectDetalles del cambio.
atstring (date-time)Fecha de la entrada.

BINDImport

Candidatos de un fichero de zona BIND (no se aplica nada) y las entradas que se dejan fuera con su motivo.

CampoTipoDescripción
itemsarray de objeto
items[].typestringUno de A, AAAA, CNAME, MX, TXT, NS, SRV, CAA.
items[].namestring@, relativo (www) o nombre completo; * para comodín. Por defecto @.
items[].contentstringA/AAAA: dirección. CNAME/NS/MX: nombre de host. TXT: texto sin comillas (se trocea en cadenas de 255). SRV: peso puerto destino. CAA: flags etiqueta "valor".
items[].ttlintegerTTL en segundos. Por defecto 3600. De 60 a 86400.
items[].priorityintegerObligatoria en MX y SRV; prohibida en el resto. De 0 a 65535.
items[].proxiedbooleanSolo A/AAAA/CNAME. El nombre responde con las IPs del borde (TTL 300) y el contenido se guarda como origen. Todos los A/AAAA/CNAME de un nombre comparten el valor. Un CNAME sin proxy en el apex se publica como ALIAS (aplanado). Por defecto false.
items[].commentstringAtributo del registro (no se publica en el DNS; entra en las versiones de la zona). Sin caracteres de control. Como mucho 100 caracteres.
items[].tagsarray de stringAtributo del registro, como el comentario. Se pasan a minúsculas y se quitan las repetidas. Como mucho 10 elementos. Elementos con el patrón ^[a-z0-9][a-z0-9:_-]{0,31}$.
items[].sourcestringSiempre file.
skippedarray de objectComo mucho 200 entradas; skipped_total las cuenta todas.
skipped[].lineintegerLínea donde empieza la entrada.
skipped[].textstringEntrada sin comentarios (hasta 200 bytes).
skipped[].reasonstringMotivo del cambio.
skipped_totalintegerEntradas dejadas fuera (todas, aunque skipped liste solo las 200 primeras).
truncatedbooleanEl fichero tenía más de 5000 entradas: solo se han leído las primeras 5000.

BatchResult

Plan de un cambio simulado (dry_run). to_version = from_version si no cambiaría nada.

CampoTipoDescripción
dry_runbooleantrue en una simulación.
from_versionintegerVersión actual antes del cambio.
to_versionintegerVersión que crea el cambio (la misma si no cambia nada).
diffDiffCambios.
warningsarray de stringAvisos (el cambio sigue siendo válido).
recordsarray de RecordRegistros de la zona tras el cambio (simulado con dry_run).

Brand

CampoTipoDescripción
org_idstring (uuid) o nullOrganización de la marca; null = la marca de OpenWAF.
namestringNombre.
logo_urlstring o nullURL del logotipo en el panel, versionada por su contenido; null sin logotipo.
accentstringColor de acento #rrggbb.
support_emailstring
oauthbooleanSi el panel de este dominio ofrece la entrada con Google y GitHub (solo el dominio de OpenWAF).

BrandInput

CampoTipoDescripción
namestringNombre que muestran el panel y los correos; sin saltos de línea ni < >. Como mucho 100 caracteres.
accentstringColor de acento #rrggbb (se pasa a minúsculas). Patrón ^#[0-9a-f]{6}$.
support_emailstring (email)Correo de soporte que muestran el panel y los correos.

CacheQuery

CampoTipoDescripción
modestringall: la query entera (Standard); ignore: sin query en la clave (solo extensiones estáticas); none: solo se usa la caché sin query; include/exclude: solo/todos menos params. Uno de all, ignore, none, include, exclude.
sortbooleanPor defecto false.
paramsarray de stringNombres de parámetro (include/exclude); un * final casa por prefijo (utm_*). Como mucho 32 elementos.

CacheServeStale

CampoTipoDescripción
while_revalidatebooleanServir caducado (UPDATING) mientras se revalida en segundo plano. Por defecto true.
on_error_max_sintegerSegundos tras caducar en que se sirve caducado si el origen falla (0 = nunca). Por defecto 86400. De 0 a 2592000.

CheckResult

CampoTipoDescripción
zonestring
expectedarray de string
parent_zonestring
verdictstringUno de delegated, not_delegated, inconclusive.
errorstring
checked_atstring (date-time)Última comprobación.
sourcesarray de object
sources[].kindstringUno de parent, resolver.
sources[].serverstring
sources[].hoststring
sources[].nsarray de string
sources[].rcodestring
sources[].errorstring
sources[].matchboolean

Client

CampoTipoDescripción
idstring (uuid)Id.
org_idstring (uuid)Id de la organización.
namestringNombre del cliente, único en la organización.
contact_emailstringCorreo de contacto (puede estar vacío).
notestringNota interna de la agencia.
zone_countintegerNúmero de zonas del cliente (en cualquier estado).
created_atstring (date-time)Fecha de creación.
updated_atstring (date-time)Último cambio.

ClientInput

CampoTipoDescripción
namestringObligatorio al crear; sin comas ni saltos de línea. Como mucho 200 caracteres.
contact_emailstring (email)Como mucho 320 caracteres.
notestringComo mucho 2000 caracteres.

ConfigVersion

CampoTipoDescripción
versionintegerNúmero de versión.
created_atstring (date-time)Fecha de creación.
actorstringQuién hizo el cambio: un token, un usuario u OpenWAF.
actionstring
reasonstringMotivo del cambio.
restored_frominteger o nullVersión restaurada por una reversión (null en otro caso).
channelstringCanal del cambio cuando no es la API ni la CLI (mcp); ausente si no hay.
snapshot_sha256stringSHA-256 de la forma canónica de la instantánea.
snapshotZoneSnapshot

ConfigVersionList

CampoTipoDescripción
itemsarray de ConfigVersion

CreatedZone

La zona creada, con lo que hizo la importación de sus registros públicos

CampoTipoDescripción
idstring (uuid)Id.
org_idstring (uuid)Id de la organización.
namestringNombre.
statusstringUno de pending, active, moved, disabled.
dns_modestringdelegated: NS de OpenWAF. external: el cliente conserva su DNS y apunta sus sitios al borde (CNAME/A). Uno de delegated, external. Por defecto delegated.
ns_pairarray de stringServidores de nombres que usan las zonas delegadas. Exactamente 2 elementos.
delegation_checked_atstring (date-time)Última comprobación de la delegación.
delegationCheckResult o VerifyResultÚltima comprobación: CheckResult (delegada) o VerifyResult (externa).
activated_atstring (date-time)Cuándo pasó a activa.
moved_atstring (date-time)Cuándo dejó de estar delegada en OpenWAF.
disabled_atstring (date-time)Cuándo se desactivó.
verificationZoneVerification
cname_targetstringSolo zonas externas: destino del CNAME de cada sitio.
edge_addressesEdgeAddresses
config_versionintegerVersión de configuración actual (también en ETag).
proxied_namesintegerNombres con registro con proxy.
merged_intostring (uuid)Solo zonas fusionadas (status disabled): zona padre.
merged_atstring (date-time)Solo zonas fusionadas; se purgan a los 14 días.
created_atstring (date-time)Fecha de creación.
updated_atstring (date-time)Último cambio.
client_idstring (uuid) o nullCliente de la organización al que pertenece la zona; null = ninguno.
detected_recordsintegerRegistros encontrados en el DNS público.
imported_recordsintegerRegistros creados en la zona.
import_warningsarray de stringAvisos de la importación.

Delegation

CampoTipoDescripción
zone_idstring (uuid)Id de la zona.
namestringNombre.
statusstringUno de pending, active, moved, disabled.
dns_modestringdelegated: NS de OpenWAF. external: el cliente conserva su DNS y apunta sus sitios al borde (CNAME/A). Uno de delegated, external. Por defecto delegated.
nameserversarray de stringLos NS que hay que poner en el registrador.
checked_atstring (date-time)Última comprobación.
activated_atstring (date-time)Cuándo pasó a activa.
moved_atstring (date-time)Cuándo dejó de estar delegada en OpenWAF.
verificationZoneVerification
observationCheckResult o VerifyResultCheckResult en zonas delegadas, VerifyResult en externas.

Diff

CampoTipoDescripción
frominteger
tointeger
changesarray de DiffChange

DiffChange

CampoTipoDescripción
pathstringLas listas se direccionan por identidad.
opstringUno de add, remove, replace.
fromanyValor anterior (ausente en add).
toanyValor nuevo (ausente en remove).

EdgeAddresses

Solo zonas externas: IP del borde para los A/AAAA de la raíz

CampoTipoDescripción
ipv4array de string
ipv6array de string

EdgeCache

CampoTipoDescripción
enabledbooleanSin reglas solo son elegibles las extensiones estáticas (nunca HTML ni JSON); se respeta el Cache-Control del origen. El WAF va siempre antes. Por defecto false.
dev_mode_untilstring (date-time) o nullModo desarrollo: hasta entonces no se usa la caché (no se borra nada); null = apagado.
queryCacheQuery
browser_ttlintegerTTL mínimo hacia el navegador en segundos (un max-age mayor del origen gana); 0 = respetar el origen. Por defecto 0. De 0 a 31536000.
deception_armorbooleanNo guardar respuestas cuyo Content-Type no encaja con la extensión. Por defecto true.
serve_staleCacheServeStale
max_object_mbintegerPor defecto 100. De 1 a 512.
rulesarray de EdgeCacheRuleEn orden; si varias coinciden, la última gana en cada ajuste. Como mucho 25 elementos.

EdgeCacheRule

CampoTipoDescripción
idstringÚnico; por defecto r1, r2…. Patrón ^[A-Za-z0-9_-]{1,64}$.
hostsarray de stringNombres de la zona a los que se aplica (vacío = todos; no se admite en la lista propia de un nombre).
matchobjectCasan todas las listas presentes y, dentro de cada una, cualquier valor; sin listas casa con todo (solo GET y HEAD).
match.path_prefixarray de stringLa ruta empieza por el valor (forma canónica). Como mucho 32 elementos.
match.path_exactarray de stringComo mucho 32 elementos.
match.extensionsarray de stringSin punto, minúsculas; "" = sin extensión. Como mucho 32 elementos.
match.cookie_presentarray de stringNombre de cookie; un * final casa por prefijo. Como mucho 32 elementos.
match.query_presentarray de stringLa query trae un parámetro con ese nombre (decodificado); un * final casa por prefijo. Como mucho 32 elementos.
actionstringbypass: nunca cachear (sin más parámetros); cache: elegible aunque la extensión no sea estática. Uno de bypass, cache.
edge_ttlobject
edge_ttl.modestringoverride ignora el CC del origen, quita Set-Cookie y desactiva la armadura anti-engaño. Uno de respect_origin, bypass_by_default, override.
edge_ttl.ttl_sintegerSolo con override (1..31536000). De 0 a 31536000.
edge_ttl.statusarray de objectComo mucho 10 elementos.
edge_ttl.status[].fromintegerDe 100 a 599.
edge_ttl.status[].tointegerDe 100 a 599.
edge_ttl.status[].ttl_sinteger-1 = no guardar; 0 = guardar y revalidar siempre. De -1 a 31536000.
browser_ttlobject
browser_ttl.modestringUno de respect_origin, override.
browser_ttl.ttl_sintegerDe 0 a 31536000.
queryCacheQuery
serve_staleCacheServeStale
vary_bypass_if_presentarray de stringSolo con cache. Cabeceras de petición (se guardan en minúsculas; no accept-encoding, accept ni origin): una petición que trae alguna ni se busca ni se guarda (DYNAMIC); el Vary del origen puede listarlas sin provocar BYPASS. Cambiar la lista vuelve a claves nuevas la caché del nombre. Como mucho 32 elementos.

EdgeEarlyHints

CampoTipoDescripción
enabledbooleanResponder con 103 a las navegaciones HTML que van al origen. Por defecto false.
modestringDe dónde se aprenden los enlaces: cabeceras Link del origen, los primeros 32 KiB del HTML o ambos. Uno de origin_links, html_head, both. Por defecto both.
extra_originsarray de stringOrígenes además del propio del sitio cuyos recursos se pueden anunciar: https://host[:puerto], sin ruta. Se normalizan (espacios, minúsculas, una / final y :443 fuera); repetidos o no https dan 422. Como mucho 10 elementos.

EdgeEvent

CampoTipoDescripción
event_idstring (uuid)Id del evento.
zone_idstringId de la zona.
node_idstringNodo del borde que atendió la petición.
tsstring (date-time)Fecha de la petición.
hoststring
ipstring
methodstring
pathstring
statusinteger
actionstringUno de block, log, challenge, allow.
rule_idintegerId de la regla.
rule_namestringNombre o código de la regla.
attack_typestringTipo de ataque.
msgstring
country_codestringCódigo de país ISO 3166-1 alfa-2.
asnintegerNúmero de sistema autónomo.
user_agentstringUser agent de la petición.
tls_fingerprintstringHuella TLS del cliente.
received_atstring (date-time)Cuándo recibió OpenWAF el evento.
rate_rulestringId de la regla de límite de peticiones si el evento es de una (rule_name rate_rule:<id> y attack_type rate_limit); "" si no.

EdgeRateRule

Regla de límite de peticiones. Exactamente uno de path_prefix y path_exact. Los errores de validación son 422 invalid con la ruta del campo (rate_rules[0].path_prefix: …).

CampoTipoDescripción
idstringÚnico en la lista; vacío = derivado del nombre (login, login-2…). Los eventos lo llevan como rule_name rate_rule:<id>. Patrón ^[a-z0-9][a-z0-9-]{0,39}$.
namestringNombre. Como mucho 100 caracteres.
enabledbooleanPor defecto true.
hostsarray de stringNombres de la zona a los que se aplica; [] = todos (siempre [] en la lista de un nombre).
path_prefixstringRutas que empiezan por él en un límite de segmento; / = todas. Se guarda en minúsculas, sin / final. Como mucho 512 caracteres.
path_exactstringSolo esta ruta (una / final no cuenta). Se guarda en minúsculas. Como mucho 512 caracteres.
methodsarray de stringMétodos; [] = cualquiera. Por defecto []. Como mucho 16 elementos.
header_presentstringSolo si la petición lleva esta cabecera. Como mucho 64 caracteres.
query_presentstringSolo si la petición lleva este parámetro. Como mucho 64 caracteres.
keystringQué se cuenta: IP (IPv6 por /64), cabecera, cookie o campo del cuerpo JSON (sin valor, se cuenta por IP). Uno de ip, header, cookie, body_field. Por defecto ip.
key_namestringCabecera, cookie o ruta del campo JSON (a.b, hasta 4 niveles); vacío con ip. Como mucho 64 caracteres.
requestsintegerPeticiones. De 1 a 1000000.
periodintegerSegundos. De 1 a 86400.
algorithmstringUno de sliding_window, gcra. Por defecto sliding_window.
actionstringUno de block, challenge, log. Por defecto block.
mitigation_timeoutintegerSegundos que la acción sigue aplicándose a la clave tras pasarse; 0 = solo mientras se pasa. Por defecto 0. De 0 a 86400.
per_node_divisorbooleanDividir requests entre los puntos de entrada del borde que sirven el sitio, para que el límite se aplique al total. Por defecto true.

EdgeSite

El sitio tal y como lo recibe el borde, con sus reglas y redirecciones ya resueltas para el nombre.

CampoTipoDescripción
idintegerId.
hostnamestring
upstream_urlstringAusente en una vista previa (nombre sin registro con proxy).
rulesarray de object
redirectsarray de object
cacheobjectCaché del sitio: la de la zona con la del nombre, sus reglas y su época.
early_hintsobject103 Early Hints del sitio: las de la zona o las propias del nombre; ausente = apagadas.
rumobjectRUM del sitio: solo si está activado para el nombre.
rate_rulesarray de objectLímites de peticiones del sitio: las reglas activadas de la lista del nombre (o de la zona) que le aplican.

EffectiveConfig

CampoTipoDescripción
zone_idstring (uuid)Id de la zona.
hoststring
proxiedbooleanfalse: el nombre no tiene registro con proxy y site es una vista previa sin upstream_url.
itemsarray de object
items[].siteEdgeSite o any o null

EgressAgent

CampoTipoDescripción
idstring (uuid)Id.
namestringNombre.
descriptionstring
allowed_targetsarray de string
enforce_injectionboolean
block_dlpboolean
disabledboolean
token_prefixstringComienzo del token (OWE_TOKEN_ y 6 caracteres) para reconocerlo.
token_rotated_atstring (date-time)
created_atstring (date-time)Fecha de creación.
created_bystringQuién lo creó (actor).
updated_atstring (date-time)Último cambio.
base_urlsmapa de stringURL base del SDK para cada destino permitido.

EgressCredential

Metadatos de la credencial guardada (null si no hay); nunca el secreto

CampoTipoDescripción
fingerprintstringPatrón ^sha256:[0-9a-f]{12}$.
updated_atstring (date-time)Último cambio.
updated_bystring

EgressOverview

CampoTipoDescripción
enabledbooleanLa organización tiene la función egress.
gateway_urlstring
credentials_availablebooleanAhora se pueden guardar credenciales.

EgressTarget

CampoTipoDescripción
idstringId.
namestringNombre.
base_urlstring
hoststring
auth_headerstring
auth_prefixstring
custombooleanDestino propio de la organización (false = catálogo).
docs_urlstring
credentialEgressCredential

EmailPlan

CampoTipoDescripción
zonestring
dns_modestringUno de delegated, external.
applicableboolean
recordsarray de object
records[].typestring
records[].namestringRelativo a la zona (@ = la zona).
records[].fqdnstring
records[].contentstring
records[].priorityintegerPrioridad de MX y SRV (null en los demás tipos).
records[].purposestringUno de mx, spf, dkim, dmarc, verification, autoconfig, return_path, tracking.
records[].providerstring
records[].actionstringUno de create, update, keep, manual.
records[].record_idstring
records[].currentstring
deletearray de object
delete[].record_idstring
delete[].typestring
delete[].namestringNombre.
delete[].contentstring
delete[].priorityintegerPrioridad de MX y SRV (null en los demás tipos).
delete[].reasonstringMotivo del cambio. Uno de replaced_mx, duplicate_spf, replaced_dmarc, replaced_record.
batchobject o nullCuerpo para POST …/records/batch.
issuesarray de object
issues[].severitystringUno de error, warning.
issues[].codestring
issues[].fieldstring
issues[].messagestring
issues[].paramsmapa de string
spfobject o null
spf.valuestring
spf.lookupsinteger-1 si no se contaron.
spf.errorstring
dmarcstring

EmailPlanInput

CampoTipoDescripción
providersarray de object
providers[].idstringId.
providers[].paramsmapa de string
dmarcobject o nullNulo conserva el DMARC existente (o añade p=none si no hay).
dmarc.policystringUno de none, quarantine, reject.
dmarc.ruastringDirección para los informes agregados: ausente conserva la del registro existente, vacía la quita.
spf_allstringUno de "", ~all, -all.

EmailProvider

CampoTipoDescripción
idstringId.
namestringNombre.
kindstringUno de mailbox, sending, other.
docsstring
spfarray de stringMecanismos que añade al SPF del dominio.
paramsarray de object
params[].keystring
params[].kindstringUno de text, dkim, cname, select, list.
params[].requiredboolean
params[].defaultstring
params[].selectorstringSelector DKIM donde va el valor (kind dkim/cname).
params[].optionsarray de string
params[].placeholderstring

EmailReport

CampoTipoDescripción
zonestring
dns_modestringUno de delegated, external.
checked_atstring (date-time)Última comprobación.
summaryobject
summary.statusstringUno de ok, warn, fail.
summary.okinteger
summary.warninteger
summary.failinteger
summary.infointeger
providersarray de string
checksarray de object
checks[].idstringId. Uno de mx, spf_record, spf_lookups, spf_policy, dkim, dmarc, proxied, conflicts, world.
checks[].statusstringUno de ok, warn, fail, info.
checks[].codestring
checks[].subjectstring
checks[].messagestring
checks[].paramsmapa de string
publicobject
public.mxarray de string
public.spfarray de string
public.dmarcarray de string
public.dkimarray de object
public.dkim[].selectorstring
public.dkim[].namestringNombre.
public.dkim[].valuestring
public.dkim[].cnamestring
spfobject o null
spf.lookupsinteger
spf.void_lookupsinteger
spf.truncatedbooleanEl recuento se detuvo en 30 búsquedas.
spf.allstring
spf.treearray de object
spf.problemsarray de object

EventsHistogram

CampoTipoDescripción
sincestring (date-time)
untilstring (date-time)
stepintegerSegundos por barra.
totalintegerEventos de [since, until).
bucketsarray de object
buckets[].tsstring (date-time)Inicio de la barra.
buckets[].countinteger
buckets[].blockinteger
buckets[].loginteger
buckets[].challengeinteger
buckets[].allowinteger

HostCertStatus

CampoTipoDescripción
org_idstring (uuid)Id de la organización.
zone_idstring (uuid)Id de la zona.
zonestring
dns_modestringdelegated: NS de OpenWAF. external: el cliente conserva su DNS y apunta sus sitios al borde (CNAME/A). Uno de delegated, external. Por defecto delegated.
hostnamestring
statestringvalid: lo sirve un certificado que no necesita nada; pending: emisión o renovación pendiente o en curso; failed: el último intento falló (ver last_error y next_attempt_at) o el certificado manual caducó. Uno de valid, pending, failed.
sourcestringUno de "", acme, manual.
cert_idstring (uuid)
cert_namestring
not_afterstring (date-time)Fin de la validez.
days_leftinteger
challengestring
last_errorstring
failuresinteger
next_attempt_atstring (date-time)
last_attempt_atstring (date-time)
warningstring

HostSettingsMap

Nombre completo (la zona o por debajo, en minúsculas, sin punto final) → sus ajustes propios

Nombre completo (la zona o por debajo, en minúsculas, sin punto final) → sus ajustes propios.

HostsReport

CampoTipoDescripción
checked_atstring (date-time)Última comprobación.
itemsarray de object
items[].namestringNombre.
items[].statusstringUno de ok, proxied_elsewhere, wrong, missing.
items[].viastringUno de cname, a, "".
items[].answersarray de stringDestinos de la cadena CNAME y después las direcciones.
items[].errorstring

ImportResult

CampoTipoDescripción
domainstring
serversarray de string
wildcardboolean
warningsarray de stringAvisos (el cambio sigue siendo válido).
candidatesarray de objeto
candidates[].typestringUno de A, AAAA, CNAME, MX, TXT, NS, SRV, CAA.
candidates[].namestring@, relativo (www) o nombre completo; * para comodín. Por defecto @.
candidates[].contentstringA/AAAA: dirección. CNAME/NS/MX: nombre de host. TXT: texto sin comillas (se trocea en cadenas de 255). SRV: peso puerto destino. CAA: flags etiqueta "valor".
candidates[].ttlintegerTTL en segundos. Por defecto 3600. De 60 a 86400.
candidates[].priorityintegerObligatoria en MX y SRV; prohibida en el resto. De 0 a 65535.
candidates[].proxiedbooleanSolo A/AAAA/CNAME. El nombre responde con las IPs del borde (TTL 300) y el contenido se guarda como origen. Todos los A/AAAA/CNAME de un nombre comparten el valor. Un CNAME sin proxy en el apex se publica como ALIAS (aplanado). Por defecto false.
candidates[].commentstringAtributo del registro (no se publica en el DNS; entra en las versiones de la zona). Sin caracteres de control. Como mucho 100 caracteres.
candidates[].tagsarray de stringAtributo del registro, como el comentario. Se pasan a minúsculas y se quitan las repetidas. Como mucho 10 elementos. Elementos con el patrón ^[a-z0-9][a-z0-9:_-]{0,31}$.
candidates[].sourcestringUno de dns, crtsh.

Invitation

CampoTipoDescripción
idstring (uuid)Id.
org_idstring (uuid)Id de la organización.
emailstringCorreo electrónico.
rolestringRol. Uno de owner, admin, tech, readonly.
invited_bystringQuién envió la invitación.
created_atstring (date-time)Fecha de creación.
expires_atstring (date-time)Fecha de caducidad.
client_idstring (uuid) o nullCliente al que se limitará el miembro invitado; null = toda la organización.

IssuedEgressAgent

CampoTipoDescripción
agentEgressAgent
tokenstringToken sustituto OWE_TOKEN_…; se muestra una sola vez (solo se guarda su SHA-256).

IssuedToken

CampoTipoDescripción
idstring (uuid)Id.
org_idstring (uuid)Id de la organización.
zone_idstring (uuid)Id de la zona.
user_idstring (uuid)Id de usuario del miembro.
namestringNombre.
rolestringRol. Uno de owner, admin, tech, readonly.
prefixstringPrimeros caracteres del secreto, para reconocerlo.
purge_onlybooleanSolo puede purgar la caché de su zona.
created_bystringQuién lo creó (actor).
created_atstring (date-time)Fecha de creación.
expires_atstring (date-time)Fecha de caducidad.
last_used_atstring (date-time)Último uso.
client_idstring (uuid) o nullCliente al que se limita el token (solo roles tech y readonly); null = toda la organización.
secretstringSe muestra una sola vez; solo se guarda su SHA-256.

KeyCount

CampoTipoDescripción
keystring
countinteger

Member

CampoTipoDescripción
idstring (uuid)Id.
emailstringCorreo electrónico.
namestringNombre.
created_atstring (date-time)Fecha de creación.
rolestringRol. Uno de owner, admin, tech, readonly.
joined_atstring (date-time)Cuándo entró el miembro.
client_idstring (uuid) o nullCliente al que se limita el miembro (solo roles tech y readonly); null = toda la organización.

MemberList

CampoTipoDescripción
itemsarray de Member

MergeInput

CampoTipoDescripción
intostringId o nombre de la zona padre.
reasonstringGana sobre X-Change-Reason.
dry_runbooleanGana sobre ?dry_run. Por defecto false.
expected_versionsmapa de integerId o nombre de zona → versión esperada (como If-Match).

MergeResult

CampoTipoDescripción
dry_runbooleantrue en una simulación.
equivalentbooleanTodos los nombres se sirven igual antes y después.
childMergeZoneRef
parentMergeZoneRef
movedobject
moved.recordsarray de object
moved.records[].idstring (uuid)Id.
moved.records[].typestring
moved.records[].namestringNombre.
moved.records[].contentstring
moved.records[].proxiedbooleanServido a través del borde de OpenWAF.
moved.certificatesarray de object
moved.certificates[].idstring (uuid)Id.
moved.certificates[].hostnamestring
moved.certificates[].sourcestring
moved.certificates[].fingerprint_sha256stringHuella SHA-256 del certificado.
moved.certificates[].not_afterstring (date-time)Fin de la validez.
moved.certificates[].movedboolean
moved.rulesarray de ZoneRuleReglas creadas en el padre (solo al aplicar).
moved.hostsHostSettingsMap
moved.clientobject
moved.client.fromstring (uuid) o null
moved.client.tostring (uuid) o null
hostsarray de objectInforme de equivalencia por nombre.
hosts[].hoststring
hosts[].from_zonestringUno de child, parent.
hosts[].equivalentboolean
hosts[].nodesobject
hosts[].nodes.beforearray de string
hosts[].nodes.afterarray de string
hosts[].nodes.lostarray de string
hosts[].nodes.gainedarray de string
hosts[].certificatesobject
hosts[].certificates.beforearray de stringHuellas SHA-256.
hosts[].certificates.afterarray de string
problemsarray de stringMotivos por los que no se puede aplicar.
warningsarray de stringAvisos (el cambio sigue siendo válido).
diffDiffCambios.

MergeZoneRef

CampoTipoDescripción
zone_idstring (uuid)Id de la zona.
namestringNombre.
from_versionintegerVersión actual antes del cambio.
to_versionintegerVersión que crea el cambio (la misma si no cambia nada).

NodePropagation

CampoTipoDescripción
node_idstringNodo del borde que atendió la petición.
statusstringconverged: el nodo aplicó la versión deseada de la zona. pending: menos de 60 s sin converger; lagging: 60 s o más; offline: sin sondeo durante más de 3 minutos (o nunca). retiring: el nodo ya no debe servir la zona pero la configuración que aplicó aún la lleva (applied_version es la versión de la zona en esa configuración, o null si no consta). Uno de converged, pending, lagging, offline, revoked, retiring.
applied_versioninteger o null
applied_serialinteger
current_serialinteger
pending_sincestring (date-time) o null
lag_secondsinteger o nullSegundos pendiente o, si convergió, lo que tardó en aplicar la versión deseada.
last_seen_atstring (date-time) o null

Organization

CampoTipoDescripción
idstring (uuid)Id.
namestringNombre.
ns_pairarray de stringServidores de nombres que usan las zonas delegadas. Exactamente 2 elementos.
created_atstring (date-time)Fecha de creación.
updated_atstring (date-time)Último cambio.
pending_approvalbooleanAlta pendiente de aprobación (sin escrituras).
suspended_atstring (date-time) o nullSuspendida (sin escrituras; sus zonas no se sirven).
suspended_reasonstring o null
featuresarray de stringFunciones activadas en la organización (egress: egress de IA). Elementos: uno de egress.

OriginCert

Certificado de origen emitido por la OpenWAF Origin CA (nunca lleva la clave privada).

CampoTipoDescripción
idstring (uuid)Id.
zone_idstring (uuid)Id de la zona.
hostnamesarray de string
key_typestringcsr: se certificó la clave pública de una petición. Uno de ecdsa_p256, rsa2048, csr.
serialstringHexadecimal en minúsculas sin ceros a la izquierda.
fingerprint_sha256stringHuella SHA-256 del certificado.
not_beforestring (date-time)Inicio de la validez.
not_afterstring (date-time)Fin de la validez.
validity_daysinteger
statusstringrevoked gana a expired. Uno de active, revoked, expired.
created_bystringQuién lo creó (actor).
created_atstring (date-time)Fecha de creación.
revoked_atstring (date-time) o nullFecha de revocación (null si está activo).
revoked_bystring o nullQuién lo revocó.

OriginCertIssued

CampoTipoDescripción
dry_runbooleanSolo con ?dry_run=1: lo que se emitiría; sin PEM.
certificateOriginCert
certificate_pemstring
private_key_pemstringPKCS#8. Solo en esta respuesta (no se guarda); se omite con csr.
ca_pemstringLa OpenWAF Origin CA que lo firma.

OriginCertRequest

CampoTipoDescripción
hostnamesarray de stringLa zona, nombres por debajo o comodines *.<nombre de la zona>; se pasan a minúsculas y sin repetir. De 1 a 100 elementos.
key_typestringClave que genera OpenWAF (vacío con csr). Uno de ecdsa_p256, rsa2048. Por defecto ecdsa_p256.
validity_daysintegerUno de 7, 30, 90, 365, 730, 1095, 5475. Por defecto 5475.
csrstringPetición PEM (ECDSA P-256/P-384 o RSA 2048-8192): se certifica su clave pública; su sujeto y extensiones se ignoran y no se genera clave.

OriginTLSStatus

CampoTipoDescripción
checked_atstring (date-time)Última comprobación.
hostsarray de object
hosts[].hoststring
hosts[].upstream_urlstringSin credenciales.
hosts[].tls_verifystringUno de full, full_strict.
hosts[].server_namestringConfigurado (vacío = el de siempre).
hosts[].client_certboolean
hosts[].effective_server_namestringSNI y nombre verificado: server_name, o el host del origen si es un nombre, o el del sitio si es una IP.
hosts[].probeobject
hosts[].probe.statestringUno de ok, invalid, unreachable, http, skipped.
hosts[].probe.errorstringVacío si ok.
hosts[].probe.issuerstring
hosts[].probe.subjectstring
hosts[].probe.not_afterstring (date-time) o nullFin de la validez.
hosts[].probe.days_leftinteger o null
hosts[].probe.name_matchboolean
hosts[].probe.trusted_bystringUno de public, origin_ca, "".
hosts[].probe.requests_client_certboolean
hosts[].edge_errors_24hintegerEventos 525/526 del borde en las últimas 24 h.
hosts[].last_edge_errorobject o null
hosts[].last_edge_error.tsstring (date-time)Fecha de la petición.
hosts[].last_edge_error.statusintegerUno de 525, 526.
hosts[].last_edge_error.msgstring

Propagation

CampoTipoDescripción
zone_idstring (uuid)Id de la zona.
desired_versioninteger
nodesarray de NodePropagation

PurgeRequest

Exactamente uno de los campos

CampoTipoDescripción
purge_everythingboolean
filesarray de string o objectURL http(s) de la zona; se purgan todas sus variantes. Como mucho 100 elementos.
files[].urlstring
prefixesarray de stringhost/ruta (sin query ni fragmento). Como mucho 100 elementos.
hostsarray de stringComo mucho 100 elementos.
tagsarray de stringEtiquetas de Cache-Tag (se guardan en minúsculas). Como mucho 100 elementos.

PurgeResult

CampoTipoDescripción
dry_runbooleantrue en una simulación.
seqintegerPosición de la purga (0 en una simulación).
kindstringUno de everything, host, url, prefix, tag.
valuesarray de stringValores normalizados.
epochintegerÉpoca nueva (everything y host).
created_atstring (date-time)Fecha de creación.
warningsarray de stringAvisos (el cambio sigue siendo válido).

PurgeStatus

CampoTipoDescripción
seqinteger
zone_idstring (uuid)Id de la zona.
kindstringUno de everything, host, url, prefix, tag.
valuesarray de string
actorstringQuién hizo el cambio: un token, un usuario u OpenWAF.
created_atstring (date-time)Fecha de creación.
nodesintegerNodos activos con caché que sirven la zona.
appliedintegerCuántos de ellos ya la han recibido.

Record

CampoTipoDescripción
idstring (uuid)Id.
org_idstring (uuid)Id de la organización.
zone_idstring (uuid)Id de la zona.
typestring
namestringNombre completo sin punto final.
contentstringContenido de origen.
ttlintegerTTL en segundos.
priorityintegerPrioridad de MX y SRV (null en los demás tipos).
proxiedbooleanServido a través del borde de OpenWAF.
commentstringComentario (vacío si no hay).
tagsarray de stringEtiquetas (lista vacía si no hay).
created_atstring (date-time)Fecha de creación.
updated_atstring (date-time)Último cambio.

RecordBatch

Hasta 500 operaciones en total. Cada registro se actualiza o borra una sola vez. Se aplican los borrados, luego las actualizaciones y luego las altas; las reglas de convivencia se comprueban sobre el estado final.

CampoTipoDescripción
createarray de RecordInput
updatearray de objeto
update[].idstring (uuid)Id.
update[].typestring
update[].namestringNombre.
update[].contentstring
update[].ttlintegerTTL en segundos.
update[].priorityinteger o nullPrioridad de MX y SRV (null en los demás tipos).
update[].proxiedbooleanServido a través del borde de OpenWAF.
update[].commentstringComo mucho 100 caracteres.
update[].tagsarray de stringComo mucho 10 elementos. Elementos con el patrón ^[a-z0-9][a-z0-9:_-]{0,31}$.
deletearray de string (uuid)

RecordInput

CampoTipoDescripción
typestringUno de A, AAAA, CNAME, MX, TXT, NS, SRV, CAA.
namestring@, relativo (www) o nombre completo; * para comodín. Por defecto @.
contentstringA/AAAA: dirección. CNAME/NS/MX: nombre de host. TXT: texto sin comillas (se trocea en cadenas de 255). SRV: peso puerto destino. CAA: flags etiqueta "valor".
ttlintegerTTL en segundos. Por defecto 3600. De 60 a 86400.
priorityintegerObligatoria en MX y SRV; prohibida en el resto. De 0 a 65535.
proxiedbooleanSolo A/AAAA/CNAME. El nombre responde con las IPs del borde (TTL 300) y el contenido se guarda como origen. Todos los A/AAAA/CNAME de un nombre comparten el valor. Un CNAME sin proxy en el apex se publica como ALIAS (aplanado). Por defecto false.
commentstringAtributo del registro (no se publica en el DNS; entra en las versiones de la zona). Sin caracteres de control. Como mucho 100 caracteres.
tagsarray de stringAtributo del registro, como el comentario. Se pasan a minúsculas y se quitan las repetidas. Como mucho 10 elementos. Elementos con el patrón ^[a-z0-9][a-z0-9:_-]{0,31}$.

RecordPatch

Campos que cambian; los ausentes se conservan.

CampoTipoDescripción
typestring
namestringNombre.
contentstring
ttlintegerTTL en segundos.
priorityinteger o nullPrioridad de MX y SRV (null en los demás tipos).
proxiedbooleanServido a través del borde de OpenWAF.
commentstringComo mucho 100 caracteres.
tagsarray de stringComo mucho 10 elementos. Elementos con el patrón ^[a-z0-9][a-z0-9:_-]{0,31}$.

RevertResult

CampoTipoDescripción
versionintegerVersión nueva creada por la reversión.
restored_fromintegerVersión restaurada por una reversión (null en otro caso).
diffDiffCambios.
warningsarray de stringAvisos (el cambio sigue siendo válido).

RuleInput

CampoTipoDescripción
kindstringUno de ip, geo, waf_exception, rate_limit.
ipstringIP o CIDR.
actionstringUno de block, allow.
country_codestringCódigo de país ISO 3166-1 alfa-2. Patrón ^[A-Za-z]{2}$.
rule_idintegerId de la regla. Mínimo 0.
path_patternstring"" o * = todas; acabado en * = prefijo; si no, exacta.
methodstring
rpmintegerMínimo 0.
burstintegerPor defecto 0. Mínimo 0.
notestringComo mucho 500 caracteres.
hostsarray de stringNombres de la zona (la zona o por debajo) a los que se aplica; ausente o vacío = todos.

RumAgg

Una métrica sobre las vistas de página: percentiles nearest-rank (null sin datos) y vistas por banda (buena ≤ umbral bajo, mala > umbral alto)

CampoTipoDescripción
p50number o null
p75number o null
p90number o null
countintegerVistas de página muestreadas con la métrica medida.
goodinteger
needs_improvementinteger
poorinteger

RumBreakdown

CampoTipoDescripción
bystring
rowsarray de object
rows[].keystringValor de la dimensión ("" = desconocido).
rows[].visitsnumber
rows[].metricsRumMetrics

RumLcpParts

CampoTipoDescripción
lcp_p75number o null
countinteger
partsRumLcpPartsValuesVistas con LCP ≥ p75.
allRumLcpPartsValues
rowsarray de object
rows[].keystring
rows[].lcp_p75number o null
rows[].countinteger
rows[].partsRumLcpPartsValues

RumLcpPartsValues

Medianas (nearest-rank) de cada parte en ms; null sin datos

CampoTipoDescripción
ttfbnumber o null
load_delaynumber o null
load_durationnumber o null
render_delaynumber o null

RumMetrics

Milisegundos salvo CLS (puntuación)

CampoTipoDescripción
lcpRumAgg
inpRumAgg
clsRumAgg
fcpRumAgg
ttfbRumAgg

RumOffender

CampoTipoDescripción
keystring
countinteger
p75number o null
poorinteger
top_pathstringRuta más frecuente (en caso de empate, la menor).

RumReport

CampoTipoDescripción
summaryRumSummary
timeseriesRumTimeseries
breakdownsobject
breakdowns.pathRumBreakdown
breakdowns.countryRumBreakdown
breakdowns.nodeRumBreakdown
breakdowns.deviceRumBreakdown
breakdowns.connectionRumBreakdown
lcp_partsRumLcpParts
offendersobject
offenders.lcp_elementarray de RumOffender
offenders.inp_targetarray de RumOffender
offenders.inp_scriptarray de RumOffender
offenders.cls_targetarray de RumOffender
settingsZoneEdgeRUM

RumSummary

CampoTipoDescripción
sincestring (date-time)
untilstring (date-time)
prev_sincestring (date-time)
prev_untilstring (date-time)
visitsnumberVistas de página estimadas: Σ 1/sample_rate, redondeado.
prev_visitsnumber
metricsobject
metrics.lcpRumSummaryAgg
metrics.inpRumSummaryAgg
metrics.clsRumSummaryAgg
metrics.fcpRumSummaryAgg
metrics.ttfbRumSummaryAgg
injectionobject
injection.injectedinteger
injection.csp_nonceinteger
injection.csp_blockedinteger
injection.no_headinteger
injection.sampled_outinteger

RumSummaryAgg

Una métrica sobre las vistas de página: percentiles nearest-rank (null sin datos) y vistas por banda (buena ≤ umbral bajo, mala > umbral alto)

CampoTipoDescripción
p50number o null
p75number o null
p90number o null
countintegerVistas de página muestreadas con la métrica medida.
goodinteger
needs_improvementinteger
poorinteger
prev_p75number o null
prev_countinteger

RumTimeseries

CampoTipoDescripción
stepinteger
pointsarray de object
points[].tsstring (date-time)Fecha de la petición.
points[].visitsnumber
points[].lcpnumber o nullp75.
points[].inpnumber o null
points[].clsnumber o null
points[].fcpnumber o null
points[].ttfbnumber o null

SnapshotCert

Certificado por referencia; nunca PEM ni clave

CampoTipoDescripción
idstring (uuid)Id.
hostnamestring
sourcestring
fingerprint_sha256stringHuella SHA-256 del certificado.
not_afterstring (date-time)Fin de la validez.

SnapshotRecord

CampoTipoDescripción
idstring (uuid)Id.
seqintegerId del sitio en el borde.
namestringNombre.
typestring
contentstring
ttlintegerTTL en segundos.
proxiedbooleanServido a través del borde de OpenWAF.
priorityinteger o nullPrioridad de MX y SRV (null en los demás tipos).

UnmergeInput

CampoTipoDescripción
reasonstringMotivo del cambio.
expected_versionintegerVersión del padre que dejó la fusión.
dry_runbooleantrue en una simulación. Por defecto false.

UnmergeResult

CampoTipoDescripción
dry_runbooleantrue en una simulación.
childMergeZoneRef
parentMergeZoneRef
warningsarray de stringAvisos (el cambio sigue siendo válido).

Usage

CampoTipoDescripción
zone_idstring (uuid)Id de la zona.
daystring (date)Día (UTC).
requestsintegerPeticiones.
bytes_inintegerBytes recibidos de los visitantes.
bytes_outintegerBytes enviados a los visitantes.
blocked_requestsintegerPeticiones bloqueadas.
dns_queriesintegerConsultas DNS respondidas.

VerifyResult

CampoTipoDescripción
zonestring
namestringNombre del TXT consultado.
expectedarray de string
verdictstringUno de verified, not_verified, inconclusive.
errorstring
checked_atstring (date-time)Última comprobación.
sourcesarray de object
sources[].kindstringUno de resolver.
sources[].serverstring
sources[].txtarray de stringCadenas TXT vistas (las de cada registro, unidas).
sources[].rcodestring
sources[].errorstring
sources[].matchboolean

WhiteLabelDomain

CampoTipoDescripción
hoststringDominio propio del panel, p. ej. panel.example.com.
statusstringUno de pending, active, error.
detailstringMotivo del estado error (vacío si no hay).
cname_targetstringDestino del CNAME que hay que crear (sin proxy).
checked_atstring (date-time)Última comprobación.
activated_atstring (date-time)Cuándo pasó a activa.

WhiteLabelNameservers

CampoTipoDescripción
nsarray de stringLos dos servidores de nombres propios.
statusstringUno de pending, active, error.
detailstringMotivo del estado error (vacío si no hay).
required_ipsobjectDirecciones a las que deben resolver exactamente los dos nombres (A y AAAA).
required_ips.v4array de string
required_ips.v6array de string
ownership_txtarray de objectRegistros TXT que demuestran que la organización controla el dominio de sus servidores de nombres; la verificación los exige antes de activarlos.
ownership_txt[].namestringNombre.
ownership_txt[].valuestring
checked_atstring (date-time)Última comprobación.
activated_atstring (date-time)Cuándo pasó a activa.

Zone

CampoTipoDescripción
idstring (uuid)Id.
org_idstring (uuid)Id de la organización.
namestringNombre.
statusstringUno de pending, active, moved, disabled.
dns_modestringdelegated: NS de OpenWAF. external: el cliente conserva su DNS y apunta sus sitios al borde (CNAME/A). Uno de delegated, external. Por defecto delegated.
ns_pairarray de stringServidores de nombres que usan las zonas delegadas. Exactamente 2 elementos.
delegation_checked_atstring (date-time)Última comprobación de la delegación.
delegationCheckResult o VerifyResultÚltima comprobación: CheckResult (delegada) o VerifyResult (externa).
activated_atstring (date-time)Cuándo pasó a activa.
moved_atstring (date-time)Cuándo dejó de estar delegada en OpenWAF.
disabled_atstring (date-time)Cuándo se desactivó.
verificationZoneVerification
cname_targetstringSolo zonas externas: destino del CNAME de cada sitio.
edge_addressesEdgeAddresses
config_versionintegerVersión de configuración actual (también en ETag).
proxied_namesintegerNombres con registro con proxy.
merged_intostring (uuid)Solo zonas fusionadas (status disabled): zona padre.
merged_atstring (date-time)Solo zonas fusionadas; se purgan a los 14 días.
created_atstring (date-time)Fecha de creación.
updated_atstring (date-time)Último cambio.
client_idstring (uuid) o nullCliente de la organización al que pertenece la zona; null = ninguno.

ZoneAnswers

CampoTipoDescripción
ipv4array de string
ipv6array de string
namesarray de object
names[].namestringNombre.
names[].in_syncboolean
names[].rrsetsarray de object
names[].rrsets[].typestringTipo del RRset publicado.
names[].rrsets[].ttlintegerTTL en segundos.
names[].rrsets[].contentsarray de string

ZoneEdgeAIAgents

Protección frente a agentes IA externos, desactivada por defecto. En un PATCH es un JSON merge patch: los objetos se mezclan (policy por clave), las listas se sustituyen enteras, null vuelve al valor por defecto y "ai_agents": null a los ajustes por defecto. template (solo escritura) fija la política entera de una plantilla antes de las claves de policy del mismo patch.

CampoTipoDescripción
enabledbooleanPor defecto false.
modestringlog: solo cuenta lo que haría (enforced=false). Uno de log, enforce. Por defecto log.
spoofed_challengestringenforce: solo los rastreadores verificados se saltan el reto PoW. Uno de log, enforce. Por defecto log.
templatestringUno de search_ok_block_training, verified_only, block_unverified_automation.
policyobject
policy.ai_trainingstringUno de allow, log, challenge, block, tarpit.
policy.ai_searchstringUno de allow, log, challenge, block, tarpit.
policy.ai_user_agentstringUno de allow, log, challenge, block, tarpit.
policy.search_enginestringUno de allow, log, challenge, block, tarpit.
policy.unverified_automationstringUno de allow, log, challenge, block, tarpit.
policy.spoofedstringUno de allow, log, challenge, block, tarpit.
policy.unverified_botstringUno de allow, log, challenge, block, tarpit.
policy.trap_hitstringUno de allow, log, challenge, block, tarpit.
policy.secret_probestringUno de allow, log, challenge, block, tarpit.
policy.robots_violationstringUno de allow, log, challenge, block, tarpit.
policy.agent_burststringUno de allow, log, challenge, block, tarpit.
bot_overridesarray de objectComo mucho 100 elementos.
bot_overrides[].bot_idstring
bot_overrides[].actionstringUno de allow, log, challenge, block, tarpit.
trapobjectEnlace trampa; la clave HMAC de la zona se genera al publicar y nunca sale por la API.
trap.enabledboolean
tarpitobject
tarpit.enabledboolean
robotsobject
robots.enabledboolean
robots.content_signalsobject
robots.content_signals.searchstringUno de yes, no, "".
robots.content_signals.ai_inputstringUno de yes, no, "".
robots.content_signals.ai_trainstringUno de yes, no, "".
markdownobject
markdown.enabledboolean
block_responseobject
block_response.statusintegerUno de 401, 402, 403, 404, 410, 429, 451, 503. Por defecto 403.
block_response.messagestringComo mucho 1024 caracteres.
endpointsarray de objectComo mucho 20 elementos.
endpoints[].path_prefixstringComo mucho 256 caracteres. Patrón ^/.
endpoints[].methodsarray de stringPOST, PUT, PATCH, GET; con kind mcp, POST, GET y DELETE (con POST; vacío = los tres).
endpoints[].max_body_bytesinteger1-1048576; 0 con kind mcp. De 0 a 1048576.
endpoints[].rpm_per_ipintegerDe 0 a 100000.
endpoints[].rpm_per_sessionintegerDe 0 a 100000.
endpoints[].session_headerstring
endpoints[].session_cookiestring
endpoints[].injection_actionstringVacío con kind mcp. Uno de log, block, "".
endpoints[].limit_actionstringVacío con kind mcp. Uno de log, block, "".
endpoints[].kindstringAusente = endpoint de IA; mcp = servidor MCP protegido por MCP Shield (los campos de endpoint de IA a 0 o vacíos). Uno de mcp.
endpoints[].mcpAiMcpPolicy

ZoneEdgeRUM

CampoTipoDescripción
enabledbooleanEl borde inyecta /__waf/rum.js en las páginas HTML del sitio y recibe sus balizas en /__waf/rum. Por defecto false.
sample_ratenumberFracción de las páginas vistas que llevan el script, (0, 1]. Por defecto 1. Máximo 1.
exclude_pathsarray de stringPrefijos de ruta que nunca llevan el script (se recortan los espacios; las entradas vacías se descartan). Por defecto []. Como mucho 50 elementos. Elementos con el patrón ^/[^?#]*$.

ZoneEdgeSettings

CampoTipoDescripción
zone_idstring (uuid)Id de la zona.
modestringUno de active, log, off. Por defecto active.
waf_levelstringUno de off, low, medium, high. Por defecto medium.
rate_limit_rpmintegerLímite básico por IP y minuto; 0 = desactivado. Por defecto 0. Mínimo 0.
timeout_msintegerPor defecto 0. Mínimo 0.
enable_feedbooleanPor defecto true.
stackstringUno de generic, wordpress, nextjs, static. Por defecto generic.
block_page_modestringUno de nginx, branded, apache, generic, custom. Por defecto branded.
fake_server_headerstringPor defecto "".
block_page_htmlstringComo mucho 262144 caracteres.
access_gateobject
access_gate.enabledbooleanPor defecto false.
access_gate.pathstringPor defecto /.
access_gate.ttl_hoursintegerPor defecto 0. Mínimo 0.
access_gate.emailsarray de stringCorreos que pueden pasar la puerta de acceso.
max_body_mbintegerPor defecto 0. Mínimo 0.
redirect_allow_hostsarray de string
cors_allow_originsarray de string
hstsobject
hsts.max_ageintegerPor defecto 0. De 0 a 63072000.
hsts.include_subdomainsboolean
hsts.preloadboolean
compressionbooleanPor defecto false.
originobjectupstream_url del sitio = scheme://<contenido del registro>[:port] (IPv6 entre corchetes).
origin.schemestringUno de http, https. Por defecto https.
origin.portinteger0 = el del esquema. Por defecto 0. De 0 a 65535.
origin.tls_verifystringVerificación del certificado de un origen https: full cifra sin verificar; full_strict verifica la cadena (raíces públicas + OpenWAF Origin CA), las fechas, el nombre y la revocación (fallo = 526). Zonas nuevas: full_strict; las anteriores a la función: full. Solo afecta a orígenes https. Uno de full, full_strict.
origin.server_namestringNombre de SNI y de la verificación; vacío = el host del origen (o el dominio del sitio si el origen es una IP). Como mucho 253 caracteres.
origin.client_certbooleanEl borde presenta su certificado de cliente al origen (mTLS). Por defecto false.
hostsHostSettingsMapAjustes propios de algunos nombres de la zona: el sitio de cada nombre usa los de la zona mezclados con los suyos campo a campo. {} sin ninguno (siempre presente en las respuestas). En un PATCH es un JSON merge patch (RFC 7396) por nombre.
redirectsarray de objectReglas de redirección: el borde responde status con Location = target (+ el resto de la ruta tras path_prefix si preserve_path, + la query si preserve_query) sin llegar al origen. Gana el prefijo más largo del nombre. [] sin ninguna (siempre presente en las respuestas). En un PATCH se sustituye entera. El nombre necesita un registro con proxy. Como mucho 50 elementos.
redirects[].hoststringNombre completo de la zona (la zona o por debajo, sin comodín); se pasa a minúsculas.
redirects[].path_prefixstringEmpieza por /; sin ?, #, espacios ni caracteres de control. Se guarda en forma canónica (lo no ASCII y los reservados con %XX en mayúsculas: /año → /a%C3%B1o). /blog casa con /blog y /blog/x, no con /blogging. Por defecto /. Como mucho 1024 caracteres.
redirects[].targetstringURL http(s) absoluta sin credenciales, fragmento ni espacios; puede llevar query. Se guarda con el esquema en minúsculas y lo no ASCII de ruta y query con %XX; el host en ASCII (punycode). No puede apuntar a una ruta que la propia regla captura. Como mucho 2048 caracteres.
redirects[].preserve_pathbooleanPor defecto true.
redirects[].preserve_querybooleanPor defecto true.
redirects[].statusintegerUno de 301, 302, 307, 308. Por defecto 301.
cacheEdgeCacheCaché de respuestas en el borde, desactivada por defecto. En un PATCH es un JSON merge patch: los objetos se mezclan, las listas (rules, query.params) se sustituyen, "dev_mode_until": null apaga el modo desarrollo y "cache": null vuelve a los valores por defecto.
cache.enabledbooleanSin reglas solo son elegibles las extensiones estáticas (nunca HTML ni JSON); se respeta el Cache-Control del origen. El WAF va siempre antes. Por defecto false.
cache.dev_mode_untilstring (date-time) o nullModo desarrollo: hasta entonces no se usa la caché (no se borra nada); null = apagado.
cache.queryCacheQuery
cache.browser_ttlintegerTTL mínimo hacia el navegador en segundos (un max-age mayor del origen gana); 0 = respetar el origen. Por defecto 0. De 0 a 31536000.
cache.deception_armorbooleanNo guardar respuestas cuyo Content-Type no encaja con la extensión. Por defecto true.
cache.serve_staleCacheServeStale
cache.max_object_mbintegerPor defecto 100. De 1 a 512.
cache.rulesarray de EdgeCacheRuleEn orden; si varias coinciden, la última gana en cada ajuste. Como mucho 25 elementos.
early_hintsEdgeEarlyHints103 Early Hints, desactivadas por defecto. En un PATCH es un JSON merge patch: los campos se mezclan, extra_origins se sustituye y "early_hints": null vuelve a los valores por defecto.
early_hints.enabledbooleanResponder con 103 a las navegaciones HTML que van al origen. Por defecto false.
early_hints.modestringDe dónde se aprenden los enlaces: cabeceras Link del origen, los primeros 32 KiB del HTML o ambos. Uno de origin_links, html_head, both. Por defecto both.
early_hints.extra_originsarray de stringOrígenes además del propio del sitio cuyos recursos se pueden anunciar: https://host[:puerto], sin ruta. Se normalizan (espacios, minúsculas, una / final y :443 fuera); repetidos o no https dan 422. Como mucho 10 elementos.
ai_agentsZoneEdgeAIAgents
rumZoneEdgeRUMMedición de usuarios reales de las Core Web Vitals, desactivada por defecto. En un PATCH es un JSON merge patch: los campos dados sustituyen a los actuales (exclude_paths entera), un campo a null vuelve a su valor por defecto y "rum": null al objeto por defecto. Se valida aunque esté desactivada.
rum.enabledbooleanEl borde inyecta /__waf/rum.js en las páginas HTML del sitio y recibe sus balizas en /__waf/rum. Por defecto false.
rum.sample_ratenumberFracción de las páginas vistas que llevan el script, (0, 1]. Por defecto 1. Máximo 1.
rum.exclude_pathsarray de stringPrefijos de ruta que nunca llevan el script (se recortan los espacios; las entradas vacías se descartan). Por defecto []. Como mucho 50 elementos. Elementos con el patrón ^/[^?#]*$.
rate_rulesarray de EdgeRateRuleLímites de peticiones por ruta, en orden de evaluación; ninguno por defecto. En un PATCH la lista se sustituye entera ([] los quita todos). Cada nombre puede tener su propia lista en hosts.<nombre>.rate_rules. Como mucho 25 elementos.
updated_atstring (date-time)Último cambio.

ZoneRule

CampoTipoDescripción
kindstringUno de ip, geo, waf_exception, rate_limit.
ipstringIP o CIDR.
actionstringUno de block, allow.
country_codestringCódigo de país ISO 3166-1 alfa-2. Patrón ^[A-Za-z]{2}$.
rule_idintegerId de la regla. Mínimo 0.
path_patternstring"" o * = todas; acabado en * = prefijo; si no, exacta.
methodstring
rpmintegerMínimo 0.
burstintegerPor defecto 0. Mínimo 0.
notestringComo mucho 500 caracteres.
hostsarray de stringNombres a los que se aplica; ausente = todos los nombres de la zona.
idintegerId.
zone_idstring (uuid)Id de la zona.
created_atstring (date-time)Fecha de creación.

ZoneSnapshot

Configuración versionada de una zona; sin secretos.

CampoTipoDescripción
schemastringSiempre openwaf-cloud/zone-config/v1.
zoneobject
zone.idstring (uuid)Id.
zone.namestringNombre.
zone.dns_modestringdelegated: NS de OpenWAF. external: el cliente conserva su DNS y apunta sus sitios al borde (CNAME/A). Uno de delegated, external. Por defecto delegated.
settingsZoneEdgeSettings o any o nullnull solo en la versión final que deja el borrado de la zona.
rulesarray de ZoneRule
recordsarray de SnapshotRecord
certificatesarray de SnapshotCert

ZoneVerification

Solo zonas externas. TXT que prueba la propiedad del dominio; estable mientras exista la zona.

CampoTipoDescripción
namestringNombre.
typestringUno de TXT.
valuestring

Última actualización:

↑↓ para moverte↵ para abriresc para cerrar