Ir al contenido

API Keys

POST /v1/api-keys · scope apikeys:write · reversible · idempotente

Devuelve el token en claro una sola vez. Guardalo en el momento: solo se almacena su hash SHA-256 y no hay forma de recuperarlo después.

Ventana de terminal
curl https://api.truo.cloud/v1/api-keys \
-X POST \
-H "Authorization: Bearer $TRUO_TOKEN"

operationId: apiKeys.create

GET /v1/api-keys/{id} · scope apikeys:read

Ventana de terminal
curl https://api.truo.cloud/v1/api-keys/key_42 \
-H "Authorization: Bearer $TRUO_TOKEN"

operationId: apiKeys.get

GET /v1/api-keys · scope apikeys:read

Solo con sesión. Nunca devuelve tokens: solo prefijo y últimos 4.

Ventana de terminal
curl https://api.truo.cloud/v1/api-keys \
-H "Authorization: Bearer $TRUO_TOKEN"

operationId: apiKeys.list

POST /v1/api-keys/{id}/revoke · scope apikeys:write · destructiva — no tiene vuelta atras · idempotente

Irreversible. La revocación se propaga a todas las réplicas por pub/sub en menos de un segundo; el peor caso, con Redis caído, es 60 segundos (el TTL de la caché en proceso).

Ventana de terminal
curl https://api.truo.cloud/v1/api-keys/key_42/revoke \
-X POST \
-H "Authorization: Bearer $TRUO_TOKEN"

operationId: apiKeys.revoke

PATCH /v1/api-keys/{id} · scope apikeys:write · reversible · idempotente

Los scopes y la allowlist solo se pueden estrechar. Ampliar devuelve 403: sin esa regla, una key con vps:read se auto-promueve a vps:write con un PATCH y el scope deja de significar algo.

Ventana de terminal
curl https://api.truo.cloud/v1/api-keys/key_42 \
-X PATCH \
-H "Authorization: Bearer $TRUO_TOKEN"

operationId: apiKeys.update