Docs/Claves de API

Claves de API

Gestiona claves de API propias de un equipo, mediante programación o desde el panel. Las claves se autentican con el encabezado Authorization: Bearer.

Crear una clave

POST/keys

Genera una nueva clave para un equipo y un entorno. La respuesta incluye el secreto en texto plano — guárdalo de inmediato, ya que no podrá recuperarse de nuevo.

CampoDescripción
teamIdEl UUID del equipo al que pertenece esta clave.
nameUna etiqueta legible para la clave, mostrada en el panel.
envEl entorno al que está limitada la clave: live o test.
expiresAtOpcional. Fecha-hora ISO 8601 después de la cual la clave deja de funcionar. Omite este campo para una clave que nunca expire.
curl -X POST https://api.seeitlive.io/v1/keys \
  -H "Authorization: Bearer <dashboard-jwt>" \
  -H "Content-Type: application/json" \
  -d '{ "teamId": "<uuid>", "name": "Server key", "env": "live" }'
json
{
  "id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
  "name": "Server key",
  "env": "live",
  "prefix": "sil_live_ab12cd",
  "secret": "sil_live_ab12cdxxxxxxxxxxxxxxxxxxxxxxxx"
}
Se muestra una sola vez
El campo secret se devuelve solo al crear la clave y nunca más.
Crear y revocar claves requiere el permiso manage_keys en el equipo; listar claves solo requiere view_team.

Listar claves

GET/keys?teamId=<uuid>

Devuelve las claves activas (no revocadas) de un equipo. El secreto nunca se incluye — solo el prefijo, suficiente para identificar una clave en el panel o en los registros.

json
[
  {
    "id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
    "name": "Server key",
    "env": "live",
    "prefix": "sil_live_ab12cd",
    "lastUsedAt": "2026-07-01T12:03:44.000Z",
    "createdAt": "2026-06-15T09:12:00.000Z"
  }
]

Actualizar una clave

PATCH/keys/:id

Actualiza parcialmente una clave. Solo se modifican los campos incluidos; los campos omitidos permanecen sin cambios.

CampoDescripción
nameUna nueva etiqueta para la clave.
allowedIpsLa lista unificada de fuentes permitidas: IP, rangos CIDR o nombres de host, uno por elemento del arreglo. Reemplaza la lista existente.
expiresAtFecha-hora ISO 8601, o null para eliminar una expiración existente.
curl -X PATCH https://api.seeitlive.io/v1/keys/d290f1ee-6c54-4b01-90e6-d701748f0851 \
  -H "Authorization: Bearer <dashboard-jwt>" \
  -H "Content-Type: application/json" \
  -d '{ "allowedIps": ["10.0.0.0/8 # office VPN"], "expiresAt": "2026-12-31T00:00:00.000Z" }'
json
{
  "id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
  "name": "Server key",
  "env": "live",
  "prefix": "sil_live_ab12cd",
  "allowedIps": ["10.0.0.0/8 # office VPN"],
  "expiresAt": "2026-12-31T00:00:00.000Z",
  "lastUsedAt": "2026-07-01T12:03:44.000Z",
  "createdAt": "2026-06-15T09:12:00.000Z"
}

Revocar una clave

DELETE/keys/:id

Desactiva la clave de inmediato. Las solicitudes en curso que la usen empiezan a fallar de inmediato, y deja de aparecer en la respuesta de la lista.

json
{ "ok": true }

Firma de solicitudes

La firma añade una verificación HMAC además de la clave de portador. Consulta el contrato de firma en la guía de autenticación para saber exactamente cómo calcular y enviar la firma.

Activar la firma

POST/keys/:id/signing/enable

Activa la firma para una clave y devuelve el secreto de firma. El secreto se muestra una sola vez — guárdalo de inmediato.

json
{ "signingSecret": "3fa1e2d0c9b84a5b8c9d0e1f2a3b4c5d6e7f8091a2b3c4d5e6f7081920a3b4c5" }

Rotar el secreto de firma

POST/keys/:id/signing/rotate

Emite un nuevo secreto de firma para una clave, invalidando el anterior. También se muestra una sola vez.

json
{ "signingSecret": "8c9d0e1f2a3b4c5d6e7f8091a2b3c4d53fa1e2d0c9b84a5b6e7f8091920a3b4c" }

Desactivar la firma

POST/keys/:id/signing/disable

Desactiva la firma para una clave. Las solicitudes hacia ella ya no necesitan firma.

json
{ "ok": true }
Claves de API