Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.getivy.de/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Update an existing webhook subscription to modify its endpoint URL, event types, description, or status. You can update any combination of these fields - only the fields you include in the request will be modified.
This endpoint requires authentication using your API key in the X-Ivy-Api-Key header.

Request Parameters

subscription_id
string
required
The ID of the webhook subscription to update.
endpoint_url
string
The new URL where webhook events will be sent. Must be a valid HTTPS URL.
event_types
array
Array of event types to subscribe to. Available event types include:
  • checkout_session.completed - When a checkout session is successfully completed
  • checkout_session.expired - When a checkout session expires
  • payout.paid - When a payout is successfully processed
  • payout.failed - When a payout fails
  • refund.succeeded - When a refund is successfully processed
  • refund.failed - When a refund fails
description
string
New description for the webhook subscription to help identify its purpose.
status
string
The new status for the webhook subscription. Valid values: active, inactive.

Example Request

curl -X POST 'https://api.getivy.de/api/service/internal/webhook-subscription/update' \
  -H 'Content-Type: application/json' \
  -H 'X-Ivy-Api-Key: YOUR_API_KEY' \
  -d '{
    "subscription_id": "wsub_1234567890",
    "endpoint_url": "https://new-domain.com/webhooks/ivy",
    "event_types": [
      "checkout_session.completed",
      "payout.paid"
    ],
    "description": "Updated production webhook",
    "status": "active"
  }'

Example Response

{
  "id": "wsub_1234567890",
  "endpoint_url": "https://new-domain.com/webhooks/ivy",
  "event_types": [
    "checkout_session.completed",
    "payout.paid"
  ],
  "status": "active",
  "description": "Updated production webhook",
  "created_at": "2024-01-15T10:30:00Z",
  "updated_at": "2024-01-15T15:45:00Z",
  "last_delivery": "2024-01-15T14:22:15Z",
  "delivery_count": 45,
  "failure_count": 2
}

Partial Updates

You can update individual fields without affecting others. For example, to only change the description:
curl -X POST 'https://api.getivy.de/api/service/internal/webhook-subscription/update' \
  -H 'Content-Type: application/json' \
  -H 'X-Ivy-Api-Key: YOUR_API_KEY' \
  -d '{
    "subscription_id": "wsub_1234567890",
    "description": "Updated description only"
  }'

Error Responses

{
  "error": {
    "code": "subscription_not_found",
    "message": "Webhook subscription not found",
    "type": "not_found"
  }
}
{
  "error": {
    "code": "invalid_endpoint_url",
    "message": "The provided endpoint URL is invalid. Must be a valid HTTPS URL.",
    "type": "validation_error"
  }
}
{
  "error": {
    "code": "invalid_status",
    "message": "Invalid status value. Must be 'active' or 'inactive'.",
    "type": "validation_error"
  }
}

Status Changes

When you change a webhook subscription’s status:
  • active: Webhook events will be sent to the endpoint URL
  • inactive: Webhook events will not be sent, but the subscription is preserved
Setting a webhook to inactive is useful for temporarily disabling webhooks without deleting them.