JavaScript
import Ivy from '@getivy/node-sdk';
const client = new Ivy({
apiKey: process.env['IVY_API_KEY'], // This is the default and can be omitted
});
const subscription = await client.webhook.subscription.update({ id: {} });
console.log(subscription.id);curl --request POST \
--url https://api.getivy.de/api/service/webhook-subscription/update \
--header 'Content-Type: application/json' \
--header 'X-Ivy-Api-Key: <api-key>' \
--data '
{
"id": "<unknown>",
"url": "<string>",
"events": [
"test",
"merchant_updated",
"merchant_app_updated",
"order_created",
"order_updated",
"refund_succeeded",
"refund_failed",
"refund.initiated",
"refund.succeeded",
"refund.failed",
"payout_report_requested",
"data_session_completed",
"checkout_session_created",
"checkout_session_updated",
"checkout_session_expired",
"checkout_session_completed",
"payout_created",
"payout_updated",
"user_payout.initiated",
"user_payout.failed",
"user_payout.paid",
"payout.initiated",
"payout.failed",
"payout.paid",
"deposit.received",
"return.initiated",
"return.succeeded",
"return.failed",
"return.returned",
"fx.initiated",
"fx.succeeded",
"fx.failed"
]
}
'import requests
url = "https://api.getivy.de/api/service/webhook-subscription/update"
payload = {
"id": "<unknown>",
"url": "<string>",
"events": ["test", "merchant_updated", "merchant_app_updated", "order_created", "order_updated", "refund_succeeded", "refund_failed", "refund.initiated", "refund.succeeded", "refund.failed", "payout_report_requested", "data_session_completed", "checkout_session_created", "checkout_session_updated", "checkout_session_expired", "checkout_session_completed", "payout_created", "payout_updated", "user_payout.initiated", "user_payout.failed", "user_payout.paid", "payout.initiated", "payout.failed", "payout.paid", "deposit.received", "return.initiated", "return.succeeded", "return.failed", "return.returned", "fx.initiated", "fx.succeeded", "fx.failed"]
}
headers = {
"X-Ivy-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.getivy.de/api/service/webhook-subscription/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'id' => '<unknown>',
'url' => '<string>',
'events' => [
'test',
'merchant_updated',
'merchant_app_updated',
'order_created',
'order_updated',
'refund_succeeded',
'refund_failed',
'refund.initiated',
'refund.succeeded',
'refund.failed',
'payout_report_requested',
'data_session_completed',
'checkout_session_created',
'checkout_session_updated',
'checkout_session_expired',
'checkout_session_completed',
'payout_created',
'payout_updated',
'user_payout.initiated',
'user_payout.failed',
'user_payout.paid',
'payout.initiated',
'payout.failed',
'payout.paid',
'deposit.received',
'return.initiated',
'return.succeeded',
'return.failed',
'return.returned',
'fx.initiated',
'fx.succeeded',
'fx.failed'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Ivy-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.getivy.de/api/service/webhook-subscription/update"
payload := strings.NewReader("{\n \"id\": \"<unknown>\",\n \"url\": \"<string>\",\n \"events\": [\n \"test\",\n \"merchant_updated\",\n \"merchant_app_updated\",\n \"order_created\",\n \"order_updated\",\n \"refund_succeeded\",\n \"refund_failed\",\n \"refund.initiated\",\n \"refund.succeeded\",\n \"refund.failed\",\n \"payout_report_requested\",\n \"data_session_completed\",\n \"checkout_session_created\",\n \"checkout_session_updated\",\n \"checkout_session_expired\",\n \"checkout_session_completed\",\n \"payout_created\",\n \"payout_updated\",\n \"user_payout.initiated\",\n \"user_payout.failed\",\n \"user_payout.paid\",\n \"payout.initiated\",\n \"payout.failed\",\n \"payout.paid\",\n \"deposit.received\",\n \"return.initiated\",\n \"return.succeeded\",\n \"return.failed\",\n \"return.returned\",\n \"fx.initiated\",\n \"fx.succeeded\",\n \"fx.failed\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Ivy-Api-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.getivy.de/api/service/webhook-subscription/update")
.header("X-Ivy-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"id\": \"<unknown>\",\n \"url\": \"<string>\",\n \"events\": [\n \"test\",\n \"merchant_updated\",\n \"merchant_app_updated\",\n \"order_created\",\n \"order_updated\",\n \"refund_succeeded\",\n \"refund_failed\",\n \"refund.initiated\",\n \"refund.succeeded\",\n \"refund.failed\",\n \"payout_report_requested\",\n \"data_session_completed\",\n \"checkout_session_created\",\n \"checkout_session_updated\",\n \"checkout_session_expired\",\n \"checkout_session_completed\",\n \"payout_created\",\n \"payout_updated\",\n \"user_payout.initiated\",\n \"user_payout.failed\",\n \"user_payout.paid\",\n \"payout.initiated\",\n \"payout.failed\",\n \"payout.paid\",\n \"deposit.received\",\n \"return.initiated\",\n \"return.succeeded\",\n \"return.failed\",\n \"return.returned\",\n \"fx.initiated\",\n \"fx.succeeded\",\n \"fx.failed\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getivy.de/api/service/webhook-subscription/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Ivy-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": \"<unknown>\",\n \"url\": \"<string>\",\n \"events\": [\n \"test\",\n \"merchant_updated\",\n \"merchant_app_updated\",\n \"order_created\",\n \"order_updated\",\n \"refund_succeeded\",\n \"refund_failed\",\n \"refund.initiated\",\n \"refund.succeeded\",\n \"refund.failed\",\n \"payout_report_requested\",\n \"data_session_completed\",\n \"checkout_session_created\",\n \"checkout_session_updated\",\n \"checkout_session_expired\",\n \"checkout_session_completed\",\n \"payout_created\",\n \"payout_updated\",\n \"user_payout.initiated\",\n \"user_payout.failed\",\n \"user_payout.paid\",\n \"payout.initiated\",\n \"payout.failed\",\n \"payout.paid\",\n \"deposit.received\",\n \"return.initiated\",\n \"return.succeeded\",\n \"return.failed\",\n \"return.returned\",\n \"fx.initiated\",\n \"fx.succeeded\",\n \"fx.failed\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "<unknown>",
"merchant": "<unknown>",
"merchantApp": "<unknown>",
"url": "<string>",
"events": [],
"createdAt": "<unknown>",
"updatedAt": "<unknown>"
}Webhook-Subscription
Update a webhook subscription
Updates the url or subcribed to events for a webhook subscription. This can be used via the app or via the API by providing an API key.
POST
/
api
/
service
/
webhook-subscription
/
update
JavaScript
import Ivy from '@getivy/node-sdk';
const client = new Ivy({
apiKey: process.env['IVY_API_KEY'], // This is the default and can be omitted
});
const subscription = await client.webhook.subscription.update({ id: {} });
console.log(subscription.id);curl --request POST \
--url https://api.getivy.de/api/service/webhook-subscription/update \
--header 'Content-Type: application/json' \
--header 'X-Ivy-Api-Key: <api-key>' \
--data '
{
"id": "<unknown>",
"url": "<string>",
"events": [
"test",
"merchant_updated",
"merchant_app_updated",
"order_created",
"order_updated",
"refund_succeeded",
"refund_failed",
"refund.initiated",
"refund.succeeded",
"refund.failed",
"payout_report_requested",
"data_session_completed",
"checkout_session_created",
"checkout_session_updated",
"checkout_session_expired",
"checkout_session_completed",
"payout_created",
"payout_updated",
"user_payout.initiated",
"user_payout.failed",
"user_payout.paid",
"payout.initiated",
"payout.failed",
"payout.paid",
"deposit.received",
"return.initiated",
"return.succeeded",
"return.failed",
"return.returned",
"fx.initiated",
"fx.succeeded",
"fx.failed"
]
}
'import requests
url = "https://api.getivy.de/api/service/webhook-subscription/update"
payload = {
"id": "<unknown>",
"url": "<string>",
"events": ["test", "merchant_updated", "merchant_app_updated", "order_created", "order_updated", "refund_succeeded", "refund_failed", "refund.initiated", "refund.succeeded", "refund.failed", "payout_report_requested", "data_session_completed", "checkout_session_created", "checkout_session_updated", "checkout_session_expired", "checkout_session_completed", "payout_created", "payout_updated", "user_payout.initiated", "user_payout.failed", "user_payout.paid", "payout.initiated", "payout.failed", "payout.paid", "deposit.received", "return.initiated", "return.succeeded", "return.failed", "return.returned", "fx.initiated", "fx.succeeded", "fx.failed"]
}
headers = {
"X-Ivy-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.getivy.de/api/service/webhook-subscription/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'id' => '<unknown>',
'url' => '<string>',
'events' => [
'test',
'merchant_updated',
'merchant_app_updated',
'order_created',
'order_updated',
'refund_succeeded',
'refund_failed',
'refund.initiated',
'refund.succeeded',
'refund.failed',
'payout_report_requested',
'data_session_completed',
'checkout_session_created',
'checkout_session_updated',
'checkout_session_expired',
'checkout_session_completed',
'payout_created',
'payout_updated',
'user_payout.initiated',
'user_payout.failed',
'user_payout.paid',
'payout.initiated',
'payout.failed',
'payout.paid',
'deposit.received',
'return.initiated',
'return.succeeded',
'return.failed',
'return.returned',
'fx.initiated',
'fx.succeeded',
'fx.failed'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Ivy-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.getivy.de/api/service/webhook-subscription/update"
payload := strings.NewReader("{\n \"id\": \"<unknown>\",\n \"url\": \"<string>\",\n \"events\": [\n \"test\",\n \"merchant_updated\",\n \"merchant_app_updated\",\n \"order_created\",\n \"order_updated\",\n \"refund_succeeded\",\n \"refund_failed\",\n \"refund.initiated\",\n \"refund.succeeded\",\n \"refund.failed\",\n \"payout_report_requested\",\n \"data_session_completed\",\n \"checkout_session_created\",\n \"checkout_session_updated\",\n \"checkout_session_expired\",\n \"checkout_session_completed\",\n \"payout_created\",\n \"payout_updated\",\n \"user_payout.initiated\",\n \"user_payout.failed\",\n \"user_payout.paid\",\n \"payout.initiated\",\n \"payout.failed\",\n \"payout.paid\",\n \"deposit.received\",\n \"return.initiated\",\n \"return.succeeded\",\n \"return.failed\",\n \"return.returned\",\n \"fx.initiated\",\n \"fx.succeeded\",\n \"fx.failed\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Ivy-Api-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.getivy.de/api/service/webhook-subscription/update")
.header("X-Ivy-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"id\": \"<unknown>\",\n \"url\": \"<string>\",\n \"events\": [\n \"test\",\n \"merchant_updated\",\n \"merchant_app_updated\",\n \"order_created\",\n \"order_updated\",\n \"refund_succeeded\",\n \"refund_failed\",\n \"refund.initiated\",\n \"refund.succeeded\",\n \"refund.failed\",\n \"payout_report_requested\",\n \"data_session_completed\",\n \"checkout_session_created\",\n \"checkout_session_updated\",\n \"checkout_session_expired\",\n \"checkout_session_completed\",\n \"payout_created\",\n \"payout_updated\",\n \"user_payout.initiated\",\n \"user_payout.failed\",\n \"user_payout.paid\",\n \"payout.initiated\",\n \"payout.failed\",\n \"payout.paid\",\n \"deposit.received\",\n \"return.initiated\",\n \"return.succeeded\",\n \"return.failed\",\n \"return.returned\",\n \"fx.initiated\",\n \"fx.succeeded\",\n \"fx.failed\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getivy.de/api/service/webhook-subscription/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Ivy-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": \"<unknown>\",\n \"url\": \"<string>\",\n \"events\": [\n \"test\",\n \"merchant_updated\",\n \"merchant_app_updated\",\n \"order_created\",\n \"order_updated\",\n \"refund_succeeded\",\n \"refund_failed\",\n \"refund.initiated\",\n \"refund.succeeded\",\n \"refund.failed\",\n \"payout_report_requested\",\n \"data_session_completed\",\n \"checkout_session_created\",\n \"checkout_session_updated\",\n \"checkout_session_expired\",\n \"checkout_session_completed\",\n \"payout_created\",\n \"payout_updated\",\n \"user_payout.initiated\",\n \"user_payout.failed\",\n \"user_payout.paid\",\n \"payout.initiated\",\n \"payout.failed\",\n \"payout.paid\",\n \"deposit.received\",\n \"return.initiated\",\n \"return.succeeded\",\n \"return.failed\",\n \"return.returned\",\n \"fx.initiated\",\n \"fx.succeeded\",\n \"fx.failed\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "<unknown>",
"merchant": "<unknown>",
"merchantApp": "<unknown>",
"url": "<string>",
"events": [],
"createdAt": "<unknown>",
"updatedAt": "<unknown>"
}Authorizations
API key for authentication
Headers
Idempotency key for safe retries. Reusing a key with an identical request body returns the cached response. Reusing a key with a different body returns 409.
Body
application/json
The unique identifier of the webhook subscription to update
The new endpoint where webhook events are sent
The new events to subscribe the url to
Available options:
test, merchant_updated, merchant_app_updated, order_created, order_updated, refund_succeeded, refund_failed, refund.initiated, refund.succeeded, refund.failed, payout_report_requested, data_session_completed, checkout_session_created, checkout_session_updated, checkout_session_expired, checkout_session_completed, payout_created, payout_updated, user_payout.initiated, user_payout.failed, user_payout.paid, payout.initiated, payout.failed, payout.paid, deposit.received, return.initiated, return.succeeded, return.failed, return.returned, fx.initiated, fx.succeeded, fx.failed Response
200 - application/json
Returns the updated webhook subscription.
Available options:
test, merchant_updated, merchant_app_updated, order_created, order_updated, refund_succeeded, refund_failed, refund.initiated, refund.succeeded, refund.failed, payout_report_requested, data_session_completed, checkout_session_created, checkout_session_updated, checkout_session_expired, checkout_session_completed, payout_created, payout_updated, user_payout.initiated, user_payout.failed, user_payout.paid, payout.initiated, payout.failed, payout.paid, deposit.received, return.initiated, return.succeeded, return.failed, return.returned, fx.initiated, fx.succeeded, fx.failed Was this page helpful?
⌘I