PAT

Autenticación

Las rutas de integración usan un token de acceso personal (PAT) en Authorization: Bearer. El JWT de sesión del navegador no sirve para extract, ingest ni retest.

Formato del token

eva_pat_<secreto>

No reutilice un JWT de sesión (typ=access) como PAT de integración.

Scopes

Al menos uno es obligatorio. ingest puede ser el único alcance.

ScopeValor JSONUso
ExtractextractGET …/reports/index, GET …/reports/extract y POST …/reports/extract-batch. No autentica ingest ni retest.
IngestingestEnsure de proyecto y JSON/CSV de hallazgos o aspectos. Puede ser el único alcance.
Retest lecturaretest_readGET …/retests/pending
Retest escrituraretest_writePOST …/claim, heartbeat, result

Cómo crear un token

  1. Inicie sesión en EVA.
  2. Abra Cuenta → Configuración y la pestaña Integración.
  3. Cree un token con un nombre reconocible y los alcances que necesita.
  4. Copie el secreto en ese momento. EVA no lo vuelve a mostrar.
  5. Úselo solo como Authorization: Bearer. Nunca en la URL ni en query string.

Para rotar: cree un token nuevo, actualice el cliente, revogue el anterior. Máximo 5 tokens activos. Caducidad por defecto 90 días (1–365).

Al crear puede indicar allowed_cidrs (hasta 16 redes). Vacío = cualquier IP. Si cambia la red, revogue y cree otro. CIDR inválido → 422.

Cabeceras de integración

Directo al backend. El tenant sale del PAT, no del host.

CabeceraObligatorioValor
AuthorizationBearer eva_pat_<secreto>
X-Tenant-IdNoUUID del tenant. Si se envía, debe coincidir con el tenant del PAT.
AcceptRecomendadoapplication/json
Content-TypeEn POST JSONapplication/json

Un X-Tenant-Id distinto al tenant del token → 403 TENANT_MISMATCH. No envíe cookies de sesión. No envíe el PAT en query string, logs, tickets ni repositorios.

Seguridad