Clés API
Créez, scopez et révoquez les clés d'accès REST Pro.
Dans cet article
/v1/calendars/mon-calendrierTry It! → /api/calendars/mon-calendrier
Paramètres
Modifiez les valeurs puis cliquez Try It! à droite.
AuthorizationheaderrequisToken Bearer Clerk (session dashboard)
Créer une clé
- 1
Accéder au panneau
Calendrier Pro → Développeur → Clés API.
- 2
Nommer
Ex. « Production CRM », « Staging kiosque ».
- 3
Scopes
Cochez le minimum — ex. guests:read seul pour un export automatique.
- 4
Copier nj_live_…
Affichée une seule fois. Stockez dans vos secrets serveur.
Scopes
| Scope | Permissions |
|---|---|
| events:read | GET calendrier, events, billets, stats |
| events:write | POST/PATCH/DELETE events, billets, cancel, duplicate |
| guests:read | GET guests, rsvps, export CSV/JSON |
| guests:write | Invite, approve, reject, status, transfer |
| checkins:read | GET checkins list |
| checkins:write | lookup QR + POST checkin |
| communications:write | Annonces et rappels e-mail |
| webhooks:read | GET webhook-deliveries, logs |
| webhooks:write | POST retry livraison |
| billing:read | GET orders, sales-report |
| billing:write | POST refund — irréversible |
| analytics:read | Stats agrégées calendrier |
Matrice endpoint × scope (extrait)
| Endpoint | Scopes requis |
|---|---|
| GET /api/v1/calendars/:slug | events:read |
| POST /api/v1/events | events:write |
| GET /api/v1/calendars/:slug/events | events:read |
| GET /api/v1/events/:slug | events:read |
| GET /api/v1/events/:eventId/guests | guests:read |
| POST /api/v1/events/:eventId/guests | guests:write |
| GET /api/v1/events/:eventId/export | guests:read |
| POST /api/v1/events/:eventId/checkins | checkins:write |
| GET /api/v1/events/:eventId/checkins/lookup | checkins:read |
| GET /api/v1/events/:eventId/checkins | checkins:read |
| GET /api/v1/webhook-deliveries | webhooks:read |
| POST /api/v1/webhook-deliveries/:id/retry | webhooks:write |
Rate limits & gouvernance
| Plan | Quota journalier | Burst | Note |
|---|---|---|---|
| Plus | — | — | Pas d’API REST — webhooks & intégrations no-code |
| Pro | 10 000 req/j | 60 req/min | Headers X-RateLimit-* |
| Enterprise | Contractuel | Contractuel | SLA 99,9 % |
Bonnes pratiques
Idempotency-KeyheaderoptionnelUUID sur POST check-in, invite batch, refund — évite les doublons
nj_live_ / nj_test_prefixoptionnelProduction vs sandbox Enterprise
RotationprocessoptionnelCréer nouvelle clé → migrer → révoquer l’ancienne
X-RateLimit-*headers réponseoptionnelLimit, Remaining, Reset — 429 si dépassé
Gestion (live)
Les clés se gèrent sous /api/calendars/:slug/api-keys (Bearer owner/admin). L'alias cible /api/v1/api-keys n'est pas encore exposé.
/calendars/:slug/api-keys/scopesCatalogue des scopes disponibles
/calendars/:slug/api-keysLister (id, name, prefix, scopes, lastUsedAt)
/calendars/:slug/api-keysCréer { name, scopes[] } → plainKey une fois
/calendars/:slug/api-keys/:idRenommer, désactiver (isActive: false)
/calendars/:slug/api-keys/:idRévoquer définitivement
Endpoints /v1 disponibles
GET /api/v1/calendars/:slug events:read
GET /api/v1/events/:eventId/guests guests:read
GET /api/v1/events/:eventId/export guests:read
GET /api/v1/events/:eventId/checkins checkins:read
GET /api/v1/events/:eventId/checkins/lookup checkins:read
POST /api/v1/events/:eventId/checkins checkins:writeTester l'authentification
curl -X GET "https://api.njanggo.com/api/v1/calendars/mon-collectif" \
-H "x-njanggo-api-key: $NJANGGO_API_KEY"