Kadens logoKadens logoKadens
  • Découvrir
  • Prix
ConnexionCommencer
Kadens logoKadens logoKadens

Enseignement

  1. Premiers pas
  2. Académie
  3. Certificats
  4. Apprentissage
  5. Cours

Argent

  1. Abonnements
  2. Finances
  3. Billets

Agenda

  1. Événements
  2. Travail

Personnes

  1. Communauté
  2. E-mailing
  3. Formulaires
  4. Candidatures
  5. Communautés

Plateforme

  1. Mon site
  2. Découvrir
  3. Compte

Développeurs

  1. Vue d'ensemble
  2. Clés API et autorisations
  3. Widgets pour site web
  4. Webhooks
  5. Assistants IA (MCP)
  6. API REST
Vous ne trouvez pas ce que vous cherchez ?Recherchez à nouveau··Parlez-nous
Kadens logoKadens logoKadens

Là où les danseurs se connectent, apprennent et grandissent

Produit

  • Découvrir
  • Cours
  • Événements
  • Communautés
  • Mentorat

Pour les entreprises

  • Kadens pour enseigner
  • Kadens pour les événements
  • Kadens pour les formulaires
  • Kadens pour les certificats
  • Crée ton site
  • Tarifs
  • Réserve une démo en direct

Ressources

  • Centre d'aide
  • Nouveautés
  • Développeurs
  • Support

Entreprise

  • Contact
  • Instagram
  • Politique de confidentialité
  • Conditions d'utilisation
  • Politique des cookies
Centre d'aideContact
Parcourir la documentation · API REST

Enseignement

  1. Premiers pas
  2. Académie
  3. Certificats
  4. Apprentissage
  5. Cours

Argent

  1. Abonnements
  2. Finances
  3. Billets

Agenda

  1. Événements
  2. Travail

Personnes

  1. Communauté
  2. E-mailing
  3. Formulaires
  4. Candidatures
  5. Communautés

Plateforme

  1. Mon site
  2. Découvrir
  3. Compte

Développeurs

  1. Vue d'ensemble
  2. Clés API et autorisations
  3. Widgets pour site web
  4. Webhooks
  5. Assistants IA (MCP)
  6. API REST
  1. Centre d'aide
  2. Développeurs
  3. API REST

API REST

L'API REST est ce que Zapier, Make, n8n et votre propre code appellent pour lire les événements de votre compte et vous y abonner. Elle communique en JSON via HTTPS et chaque requête porte une clé API.

·10 min
Sur cette page
  1. Vue d'ensemble
  2. Authentification
  3. Erreurs
  4. Limites de débit
  5. Endpoints
  6. REST hooks pour les intégrations
  7. Et maintenant ?

Vue d'ensemble

Chaque endpoint se trouve sous l'URL de base ci-dessous, suivie de la version, par exemple /v1/me.

Les exemples de cette page lisent l'URL de base depuis KADENS_API_URL et votre clé depuis KADENS_API_KEY, vous pouvez donc les coller tels quels.

Les requêtes et réponses sont en JSON. Envoyez Content-Type: application/json avec chaque requête qui a un corps.

La version fait partie du chemin. Chaque événement porte aussi la version de son format dans son champ version, actuellement 2026-10-01, afin que votre code puisse déterminer la forme qu'il a reçue.

Authentification

Chaque requête nécessite une clé API dans l'en-tête Authorization comme jeton Bearer. Chaque endpoint indique l'autorisation dont il a besoin.

Clés API et autorisations

Erreurs

Les erreurs utilisent les codes de statut HTTP standards et un corps JSON contenant le statut, un message, le chemin et un id de requête que vous pouvez communiquer au support.

StatutSignification
400La requête ou le corps n'a pas passé la validation. Vérifiez les champs par rapport à cette référence.
401La clé est absente, mal formatée, révoquée ou expirée.
403La clé est valide mais lui manque l'autorisation dont cet endpoint a besoin.
429Trop de requêtes. Attendez le temps indiqué dans l'en-tête Retry-After, puis réessayez.
Réponse d'erreur
1
2
3
4
5
6
7
{
  "statusCode": 401,
  "message": "Missing or invalid API key",
  "timestamp": "2026-10-01T10:00:00.000Z",
  "path": "/api/v1/events",
  "requestId": "req_7c1e0b"
}

Limites de débit

Les limites sont comptées par clé API. Les dépasser renvoie 429 jusqu'à la réinitialisation de la fenêtre.

FenêtreLimite
Par seconde40 requêtes
Par 10 secondes250 requêtes
Par minute800 requêtes
Gérer un 429
Lisez l'en-tête Retry-After, attendez ce nombre de secondes et réessayez. Le corps porte errorCode: RATE_LIMITED afin que votre code n'ait pas à analyser le message.

Endpoints

GET/v1/me

Teste la clé : renvoie le compte auquel elle appartient et ses autorisations. Fonctionne avec n'importe quelle clé valide.

Bash
1
2
curl "$KADENS_API_URL/v1/me" \
  -H "Authorization: Bearer $KADENS_API_KEY"
Exemple de réponse
1
2
3
4
5
6
7
8
9
10
11
{
  "entity": {
    "id": "6f1c2d3e-4b5a-4c7d-8e9f-0a1b2c3d4e5f",
    "name": "Barcelona Salsa Studio"
  },
  "apiKeyId": "9a8b7c6d-5e4f-4a3b-9c2d-1e0f9a8b7c6d",
  "scopes": [
    "webhooks.read",
    "webhooks.write"
  ]
}
GET/v1/event-typesAutorisation : webhooks.read

Liste chaque type d'événement auquel vous pouvez vous abonner, avec un exemple de chacun et les champs qui contiennent des données personnelles.

Bash
1
2
curl "$KADENS_API_URL/v1/event-types" \
  -H "Authorization: Bearer $KADENS_API_KEY"
Exemple de réponse
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
{
  "apiVersion": "2026-10-01",
  "data": [
    {
      "type": "order.paid",
      "family": "orders",
      "descriptionKey": "Webhooks.events.order_paid",
      "sample": {
        "order": {
          "id": "ord_91ac04",
          "status": "paid",
          "created_at": "2026-10-01T09:58:02Z",
          "paid_at": "2026-10-01T10:00:00Z",
          "event": {
            "id": "evt_7f3c2a",
            "name": "Salsa Congress Barcelona 2026"
          },
          "totals": {
            "gross": {
              "amount": 12000,
              "currency": "EUR"
            },
            "fees": {
              "amount": 600,
              "currency": "EUR"
            },
            "net": {
              "amount": 11400,
              "currency": "EUR"
            },
            "tax": {
              "amount": 2083,
              "currency": "EUR"
            }
          },
          "buyer": {
            "entity_id": "ent_5b21",
            "name": "Lucia Martin",
            "email": "lucia@example.com"
          },
          "lines": [
            {
              "ticket_type_id": "tt_full_pass",
              "name": "Full pass",
              "quantity": 1,
              "unit_price": {
                "amount": 12000,
                "currency": "EUR"
              }
            }
          ]
        }
      },
      "personalDataPaths": [
        "order.buyer.name",
        "order.buyer.email"
      ]
    }
  ]
}
GET/v1/eventsAutorisation : webhooks.read

Liste les événements récents, les plus récents en premier, dans la même enveloppe que les livraisons de webhook. Les intégrations l'utilisent pour afficher des exemples de données.

Bash
1
2
curl "$KADENS_API_URL/v1/events?type=order.paid&limit=10" \
  -H "Authorization: Bearer $KADENS_API_KEY"
Exemple de réponse
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
{
  "data": [
    {
      "id": "msg_2f8a1c7e",
      "type": "order.paid",
      "version": "2026-10-01",
      "occurred_at": "2026-10-01T10:00:00Z",
      "account": {
        "id": "ent_1a0f",
        "name": "Barcelona Salsa Studio"
      },
      "subject": {
        "type": "order",
        "id": "ord_91ac04",
        "sequence": 2
      },
      "correlation_id": null,
      "livemode": true,
      "data": {
        "order": {
          "id": "ord_91ac04",
          "status": "paid",
          "created_at": "2026-10-01T09:58:02Z",
          "paid_at": "2026-10-01T10:00:00Z",
          "event": {
            "id": "evt_7f3c2a",
            "name": "Salsa Congress Barcelona 2026"
          },
          "totals": {
            "gross": {
              "amount": 12000,
              "currency": "EUR"
            },
            "fees": {
              "amount": 600,
              "currency": "EUR"
            },
            "net": {
              "amount": 11400,
              "currency": "EUR"
            },
            "tax": {
              "amount": 2083,
              "currency": "EUR"
            }
          },
          "buyer": {
            "entity_id": "ent_5b21"
          },
          "lines": [
            {
              "ticket_type_id": "tt_full_pass",
              "name": "Full pass",
              "quantity": 1,
              "unit_price": {
                "amount": 12000,
                "currency": "EUR"
              }
            }
          ]
        }
      }
    }
  ],
  "nextCursor": null,
  "hasMore": false
}
ParamètreTypeDescription
typestringSeulement les événements de ce type.
limitintegerLe nombre d'événements à renvoyer, de 1 à 100. Par défaut 25.
cursorstringLe nextCursor de la page précédente, pour lire la suivante.
Les données personnelles sont masquées par défaut
Les noms, e-mails et autres champs personnels sont retirés des événements sauf si la clé possède aussi l'autorisation people.read.
POST/v1/webhooks/subscriptionsAutorisation : webhooks.write

Crée un endpoint géré par l'intégration. Il apparaît en lecture seule dans le tableau de bord. Renvoie 201 lors de la création de l'abonnement, et 200 avec l'abonnement existant si le même abonnement existe déjà.

Bash
1
2
3
4
curl -X POST "$KADENS_API_URL/v1/webhooks/subscriptions" \
  -H "Authorization: Bearer $KADENS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"targetUrl":"https://hooks.example.com/kadens","eventTypes":["order.paid","attendee.checked_in"],"integration":"zapier","externalRef":"zap_812734"}'
Exemple de réponse
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
  "id": "3d9f2b71-8c4e-4a6f-9b1d-5e7a0c2f8d14",
  "created": true,
  "targetUrl": "https://hooks.example.com/kadens",
  "eventTypes": [
    "order.paid",
    "attendee.checked_in"
  ],
  "integration": "zapier",
  "externalRef": "zap_812734",
  "apiVersion": "2026-10-01",
  "secret": "whsec_Zk3v9QmT1rX8bLp2Wc6yHn4s",
  "createdAt": "2026-10-01T10:00:00.000Z"
}
ChampTypeDescription
targetUrlRequisstringL'adresse HTTPS à laquelle Kadens livre les événements.
eventTypesRequisstring[]Les types d'événements à livrer, de 1 à 50. Lisez la liste depuis /v1/event-types.
integrationRequisstringQui gère l'abonnement : zapier, make, n8n ou other.
externalRefstringVotre propre id pour cet abonnement, jusqu'à 255 caractères.
DELETE/v1/webhooks/subscriptions/:idAutorisation : webhooks.write

Supprime un endpoint créé par l'intégration. Renvoie 204 sans corps.

Bash
1
2
curl -X DELETE "$KADENS_API_URL/v1/webhooks/subscriptions/3d9f2b71-8c4e-4a6f-9b1d-5e7a0c2f8d14" \
  -H "Authorization: Bearer $KADENS_API_KEY"

REST hooks pour les intégrations

Les outils d'automatisation se connectent à Kadens avec le modèle REST hooks : ils s'abonnent quand un workflow est activé et se désabonnent quand il est désactivé.

  1. 1

    S'abonner

    L'outil appelle POST /v1/webhooks/subscriptions avec l'adresse de livraison et les types d'événements souhaités. Conservez l'id et le secret de signature de la réponse.
  2. 2

    Recevoir des événements

    Kadens envoie chaque événement correspondant à cette adresse sous forme de POST signé. Vérifiez la signature avec le secret avant de faire confiance à la charge utile.
  3. 3

    Se désabonner

    Quand le workflow est désactivé, l'outil appelle DELETE /v1/webhooks/subscriptions/:id avec l'id qu'il a conservé.

Les abonnements créés de cette manière apparaissent en lecture seule dans votre tableau de bord, marqués avec l'intégration qui les gère.

Comment vérifier les signatures

Et maintenant ?

Ouvrir dans le tableau de bord

Cet article vous a-t-il aidé ?

Précédent
Assistants IA (MCP)

Sur cette page

  1. Vue d'ensemble
  2. Authentification
  3. Erreurs
  4. Limites de débit
  5. Endpoints
  6. REST hooks pour les intégrations
  7. Et maintenant ?