Webhook エンドポイントを更新する
PATCH /v1/webhook-endpoints/{endpoint_id} · 権限 webhook-endpoints:write · すべてのプラン
JSON マージパッチ (RFC 7396、Content-Type: application/merge-patch+json) を使用してエンドポイントを変更します。If-Match は必須です。現在の値は Webhook エンドポイントを取得する の ETag ヘッダーです。何も変更しないパッチは、何も書き込まず、バージョンも維持します。
statusにはenabledとdisabled_by_userのみを指定できます。enabledを設定すると、プランの有効エンドポイント数の上限に計上され、failing_sinceがクリアされます。失敗後や受信側によって無効化されたエンドポイントを再度有効にするには、この方法を使用します。nullを指定するとdescriptionとevent_schema_versionsがクリアされます (1 つのエントリだけをクリアする場合は{"event_schema_versions": {"user.created": null}}のように指定します)。それ以外のフィールドでは、422 invalidになります。event_typesは全体が置き換えられます。
リクエスト
| 項目 | 型 | 必須 | 説明 |
|---|---|---|---|
endpoint_id |
パス | はい | Webhook エンドポイント ID (whe_…)。 |
If-Match |
ヘッダー | はい | エンドポイントの現在の ETag (* を指定すると、任意のバージョンに一致します)。 |
key, url, description, event_types, event_schema_versions, payload_mode, rate_limit_per_second |
いいえ | Webhook エンドポイントを追加する と同じです。 | |
status |
文字列 | いいえ | enabled または disabled_by_user。 |
{
"status": "enabled",
"event_types": ["user.created", "user.updated", "user.deleted"]
}
レスポンス
200 OK で、エンドポイント (Webhook エンドポイントを取得する と同じ形式) とその新しい ETag を返します。
エラー
| HTTP | code | 発生条件 |
|---|---|---|
| 400 | malformed_request |
ボディが JSON オブジェクトではありません。 |
| 400 | unknown_field |
パッチに、上記に記載されていないフィールドが含まれています。 |
| 403 | quota_exceeded |
status: enabled を設定すると、プランの有効エンドポイント数の上限を超えます。 |
| 404 | not_found |
この環境に該当するエンドポイントが存在しません。 |
| 409 | conflict |
同じ環境内の別のエンドポイントが、この key を使用しています。 |
| 412 | precondition_failed |
If-Match が現在のバージョンと一致しません (読み取り後にエンドポイントが変更されています)。 |
| 422 | validation_failed |
フィールドが無効です (ポインターは Webhook エンドポイントを追加する と同じです)。enabled または disabled_by_user 以外の status の場合は /status invalid になります。 |
| 428 | precondition_required |
If-Match がありません。 |
| 401 | unauthenticated |
認証情報が存在しない、無効である、または取り消されています。 |
| 403 | insufficient_permissions |
認証情報に webhook-endpoints:write の権限がありません。 |
| 503 | service_unavailable |
Webhook の管理機能が一時的に利用できません。Retry-After の時間を置いてから再試行してください。 |
例
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"'