recalled.dev
Concepts de base

Authentification

Toutes les requêtes /v1/* exigent une clé API Bearer dans le header Authorization.

text
Authorization: Bearer rec_live_aBcD1234EfGh5678...

Format de clé

  • rec_live_<random>, clé de production, envoie de vrais events.
  • rec_test_<random>, clé de test, même comportement, facile à distinguer.

Génère les clés depuis le dashboard (une par environnement). Les clés sont hashées (SHA-256) côté serveur, le secret complet n'est affiché qu'une seule fois à la création. Si tu le perds, révoque et génère une nouvelle clé.

Scopes

Chaque clé peut être limitée à un sous-ensemble d'actions :

  • events:write, ingérer de nouveaux events
  • events:read, lister, chercher, lire
  • exports:read, télécharger des exports CSV/JSON
  • actors:delete, droit à l'effacement RGPD
  • embed:write, créer des embed tokens à courte durée

Embed tokens

Pour le widget admin interne <RecalledFeed />, tu crées un token court-vivant côté serveur et tu le passes au navigateur. Le navigateur parle à /v1/embed/events avec ce token plutôt qu'avec la clé API, ta clé ne quitte donc jamais ton serveur. Par défaut le token donne accès à tout le projet (vue admin) ; passe organization si tu veux restreindre une instance de widget à un seul tenant.

ts
const { token } = await client.embed.createToken({
  organization: "org_abc",
  ttlSeconds: 900,
});
// renvoie `token` au navigateur