Créer un lien d'aperçu de la marque

POST /v1/branding:preview-link · permission branding:write

Crée un lien qui affiche la page de connexion hébergée avec les brouillons de marque actuels de l'environnement, avant leur publication. La page affiche toujours le dernier brouillon : modifiez un brouillon puis rechargez la page pour voir le changement. Une bannière indique que la page est un aperçu, et tous les contrôles de connexion sont désactivés. Les textes de brouillon qui remplacent les textes par défaut sont affichés dans la langue de la page ; ils ne peuvent pas modifier la bannière d'aperçu.

Le lien est valide 10 minutes et ne peut pas être révoqué ; ensuite, il renvoie 404. Toute personne disposant du lien peut voir le brouillon ; ne le partagez donc qu'avec les personnes qui relisent le design. Un environnement peut avoir au maximum 20 liens valides en même temps.

Requête

Le corps est facultatif. Sans corps, la page n'affiche que le brouillon de l'environnement.

Champ Type Obligatoire Description
application_id string non Applique aussi le brouillon de cette application (app_…).
org_id string non Applique aussi le brouillon de cette organisation (org_…) : son logo et sa couleur principale.

Réponse

200 OK. L'url n'est renvoyée que dans cette réponse, avec Cache-Control: no-store. Une requête répétée avec le même Idempotency-Key ne renvoie pas d'url mais secret_redacted: true ; créez plutôt un nouveau lien.

{
  "url": "https://acme.eu1.keenauth.app/u/preview?token=…",
  "expires_at": "2026-10-19T12:10:00Z"
}

Erreurs

HTTP code Quand
400 unknown_field Le corps contient un champ inconnu ou n'est pas un objet JSON.
404 not_found L'application n'existe pas dans cet environnement.
422 validation_failed application_id ou org_id n'est pas un identifiant valide (invalid_value).
401 unauthenticated Les identifiants sont absents, invalides ou révoqués.
403 insufficient_permissions Les identifiants n'ont pas la permission requise.
429 rate_limited L'environnement a déjà 20 liens valides, ou la limite de débit a été dépassée ; réessayez après la durée indiquée par Retry-After.
503 service_unavailable Une dépendance est temporairement indisponible ; réessayez après la durée indiquée par Retry-After.

Exemple

curl -X POST https://api.eu.keenauth.com/v1/branding:preview-link \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"application_id":"app_01jb…"}'

Avec la CLI :

keenauth branding preview-link --application-id app_01jb…