> ## Documentation Index
> Fetch the complete documentation index at: https://apidoc.crowdchange.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Abonner un webhook

> Enregistrez un nouvel abonnement de webhook CrowdChange pointant vers votre URL cible pour commencer à recevoir les événements de la plateforme.

## Corps

<ParamField body="url" type="string" required>
  URL à abonner. L'URL fournie doit retourner un code HTTP 200 pour pouvoir être abonnée.
</ParamField>

<ParamField body="lang" type="string">
  Langue du webhook. Valeurs autorisées : `en`, `fr` Par défaut : `en`
</ParamField>

<ParamField body="events" type="string[]">
  Événements à abonner.
</ParamField>

## Réponse

<ResponseField name="id" type="integer">
  ID du webhook.
</ResponseField>

<ResponseField name="url" type="string">
  URL du webhook.
</ResponseField>

<ResponseField name="signing_secret" type="string">
  Secret propre au webhook utilisé pour vérifier `CrowdChange-Webhook-Signature` sur les livraisons sortantes. Conservez cette valeur en lieu sûr.
</ResponseField>

<ResponseField name="language" type="string">
  Langue du webhook. Valeurs autorisées : `en`, `fr`
</ResponseField>

<ResponseField name="created_at" type="string">
  Date de création du webhook.
</ResponseField>

<ResponseField name="events" type="object[]">
  Liste des événements abonnés.

  <Expandable title="propriétés">
    <ResponseField name="id" type="integer">
      ID de l'événement.
    </ResponseField>

    <ResponseField name="name" type="string">
      Nom de l'événement
    </ResponseField>

    <ResponseField name="created_at" type="string">
      Date de création de l'événement.
    </ResponseField>
  </Expandable>
</ResponseField>

**Autres réponses**

| Statut | Description                                                   |
| ------ | ------------------------------------------------------------- |
| `400`  | L'URL n'est pas disponible (ne retourne pas de code HTTP 200) |
| `403`  | Accès interdit                                                |

<ResponseExample>
  ```json theme={null}
  {
    "id": 1,
    "url": "https://demo.crowdchange.test/webhooks/handle",
    "signing_secret": "whsec_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ab",
    "language": "en",
    "created_at": "2024-01-01 16:00:03",
    "events": [
      {
        "id": 1,
        "name": "fundraiser_created",
        "created_at": "string"
      }
    ]
  }
  ```
</ResponseExample>
