Mettre à jour un point de terminaison webhook
PATCH /v1/webhook-endpoints/{endpoint_id} · autorisation webhook-endpoints:write · tous les forfaits
Modifie un point de terminaison à l'aide d'un JSON merge patch (RFC 7396, Content-Type: application/merge-patch+json). If-Match est obligatoire ; la valeur actuelle correspond à l'en-tête ETag de Récupérer un point de terminaison webhook. Un patch qui ne modifie rien n'écrit rien et conserve la version.
statusaccepte uniquementenabledetdisabled_by_user. Définirenabledest comptabilisé dans la limite de points de terminaison activés du forfait et effacefailing_since; c'est ainsi qu'un point de terminaison désactivé après des échecs ou par son récepteur est réactivé.nulleffacedescriptionetevent_schema_versions(ou une seule entrée :{"event_schema_versions": {"user.created": null}}) ; sur tout autre champ, cela produit422 invalid.event_typesest remplacé dans son intégralité.
Requête
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
endpoint_id |
path | oui | Identifiant du point de terminaison webhook (whe_…). |
If-Match |
header | oui | ETag actuel du point de terminaison (* correspond à n'importe quelle version). |
key, url, description, event_types, event_schema_versions, payload_mode, rate_limit_per_second |
non | Comme dans Ajouter un point de terminaison webhook. | |
status |
string | non | enabled ou disabled_by_user. |
{
"status": "enabled",
"event_types": ["user.created", "user.updated", "user.deleted"]
}
Réponse
200 OK avec le point de terminaison (comme dans Récupérer un point de terminaison webhook) et son nouvel ETag.
Erreurs
| HTTP | code | Quand |
|---|---|---|
| 400 | malformed_request |
Le corps n'est pas un objet JSON. |
| 400 | unknown_field |
Le patch contient un champ qui n'est pas listé ci-dessus. |
| 403 | quota_exceeded |
status: enabled dépasserait le nombre de points de terminaison activés autorisé par le forfait. |
| 404 | not_found |
Aucun point de terminaison de ce type dans cet environnement. |
| 409 | conflict |
Un autre point de terminaison de l'environnement utilise cette key. |
| 412 | precondition_failed |
If-Match ne correspond pas à la version actuelle (le point de terminaison a changé depuis votre dernière lecture). |
| 422 | validation_failed |
Un champ est invalide (pointeurs comme dans Ajouter un point de terminaison webhook) ; /status invalid pour un statut autre que enabled ou disabled_by_user. |
| 428 | precondition_required |
If-Match est absent. |
| 401 | unauthenticated |
L'identifiant d'authentification est absent, invalide ou révoqué. |
| 403 | insufficient_permissions |
L'identifiant d'authentification ne dispose pas de l'autorisation webhook-endpoints:write. |
| 503 | service_unavailable |
L'administration des webhooks est temporairement indisponible ; réessayez après la période indiquée par Retry-After. |
Exemple
curl -X PATCH https://api.eu.keenauth.com/v1/webhook-endpoints/whe_01k8a3m5q7t9v1w3x5y7z9b2c4 \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Content-Type: application/merge-patch+json" \
-H 'If-Match: "3"' \
-d '{"status":"enabled"}'
CLI : keenauth webhook-endpoints update whe_01k8a3m5q7t9v1w3x5y7z9b2c4 --status enabled --if-match '"3"'