/v1/keys est exclu de l’authentification standard /v1/*
(ApiKeyAuthMiddleware) : il a sa propre logique, décrite ici. Voir
aussi Sécurité pour le modèle complet.Règles d’accès (V1, volontairement simples)
- HAKI_ADMIN_KEY défini — mode admin
- HAKI_ADMIN_KEY absent — bootstrap
Toute la gestion des clés exige
Authorization: Bearer <HAKI_ADMIN_KEY>. L’admin choisit librement
org_id/project_id à la création et voit toutes les clés en liste.Créer une clé
string
requis
1 à 128 caractères.
string
requis
1 à 128 caractères.
string
Max 128 caractères.
Réponse — 201 Created
string
requis
La clé en clair (
hk_...) — retournée une seule fois, ici. Seul
son hash sha256 est stocké ensuite ; elle ne peut plus jamais être
récupérée.uuid
requis
string
requis
Les 8 premiers caractères, pour les affichages masqués.
string
requis
string
requis
string | null
datetime
requis
Lister les clés (masqué)
HAKI_ADMIN_KEY, la liste est bornée au projet de la clé appelante.
KeyOut[]
requis
Jamais la clé ni son hash — seulement
prefix.Révoquer une clé
revoked_at — effet immédiat : la clé renvoie 401 unauthorized
dès l’appel suivant.
uuid
requis
string
défaut:"revoked"
Erreurs possibles
unauthorized (401), forbidden_scope (403 — une clé tente de créer une
clé pour un autre org_id/project_id que le sien), key_not_found
(404).
Provisioning d’organisation (console uniquement)
{owner_ref, name} ; génère un org_id serveur (jamais fourni
par l’appelant, contrairement au bootstrap /v1/keys), crée un projet
prj_<org_id>_default et une clé. Un appel répété pour un owner_ref
déjà connu ne recrée pas l’organisation : il émet une nouvelle clé sur
le même projet (org_created: false).
