curl --request PUT \
--url https://api-dev.rain.xyz/v1/issuing/webhooks/configuration \
--header 'Api-Key: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"card.*": {
"version": "1.0.0"
},
"transaction.created.*": {
"version": "2.0.0"
}
}
'import requests
url = "https://api-dev.rain.xyz/v1/issuing/webhooks/configuration"
payload = {
"card.*": { "version": "1.0.0" },
"transaction.created.*": { "version": "2.0.0" }
}
headers = {
"Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({'card.*': {version: '1.0.0'}, 'transaction.created.*': {version: '2.0.0'}})
};
fetch('https://api-dev.rain.xyz/v1/issuing/webhooks/configuration', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-dev.rain.xyz/v1/issuing/webhooks/configuration",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'card.*' => [
'version' => '1.0.0'
],
'transaction.created.*' => [
'version' => '2.0.0'
]
]),
CURLOPT_HTTPHEADER => [
"Api-Key: <api-key>",
"Content-Type: application/json"
],
]);
$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-dev.rain.xyz/v1/issuing/webhooks/configuration"
payload := strings.NewReader("{\n \"card.*\": {\n \"version\": \"1.0.0\"\n },\n \"transaction.created.*\": {\n \"version\": \"2.0.0\"\n }\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("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.put("https://api-dev.rain.xyz/v1/issuing/webhooks/configuration")
.header("Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"card.*\": {\n \"version\": \"1.0.0\"\n },\n \"transaction.created.*\": {\n \"version\": \"2.0.0\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-dev.rain.xyz/v1/issuing/webhooks/configuration")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"card.*\": {\n \"version\": \"1.0.0\"\n },\n \"transaction.created.*\": {\n \"version\": \"2.0.0\"\n }\n}"
response = http.request(request)
puts response.read_body{
"card.*": {
"version": "1.0.0"
},
"transaction.created.*": {
"version": "2.0.0"
}
}Update webhook configuration
Replaces the entire webhook configuration for the tenant. The configuration uses pattern-based rules to control webhook behavior. Patterns can use wildcards (e.g., โcard.โ matches all card events, โtransaction.created.โ matches all transaction created events). Each pattern can specify a version.
curl --request PUT \
--url https://api-dev.rain.xyz/v1/issuing/webhooks/configuration \
--header 'Api-Key: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"card.*": {
"version": "1.0.0"
},
"transaction.created.*": {
"version": "2.0.0"
}
}
'import requests
url = "https://api-dev.rain.xyz/v1/issuing/webhooks/configuration"
payload = {
"card.*": { "version": "1.0.0" },
"transaction.created.*": { "version": "2.0.0" }
}
headers = {
"Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({'card.*': {version: '1.0.0'}, 'transaction.created.*': {version: '2.0.0'}})
};
fetch('https://api-dev.rain.xyz/v1/issuing/webhooks/configuration', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-dev.rain.xyz/v1/issuing/webhooks/configuration",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'card.*' => [
'version' => '1.0.0'
],
'transaction.created.*' => [
'version' => '2.0.0'
]
]),
CURLOPT_HTTPHEADER => [
"Api-Key: <api-key>",
"Content-Type: application/json"
],
]);
$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-dev.rain.xyz/v1/issuing/webhooks/configuration"
payload := strings.NewReader("{\n \"card.*\": {\n \"version\": \"1.0.0\"\n },\n \"transaction.created.*\": {\n \"version\": \"2.0.0\"\n }\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("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.put("https://api-dev.rain.xyz/v1/issuing/webhooks/configuration")
.header("Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"card.*\": {\n \"version\": \"1.0.0\"\n },\n \"transaction.created.*\": {\n \"version\": \"2.0.0\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-dev.rain.xyz/v1/issuing/webhooks/configuration")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"card.*\": {\n \"version\": \"1.0.0\"\n },\n \"transaction.created.*\": {\n \"version\": \"2.0.0\"\n }\n}"
response = http.request(request)
puts response.read_body{
"card.*": {
"version": "1.0.0"
},
"transaction.created.*": {
"version": "2.0.0"
}
}Authorizations
Body
The new webhook configuration map
A map of webhook event patterns to their configuration settings. Patterns can use wildcards to match multiple event types (e.g., 'card.' matches all card events, 'transaction.created.' matches all transaction created events). Pattern format: resource.action.version or resource.* for wildcards.
Configuration settings for a webhook pattern
Show child attributes
Show child attributes
Response
Successful operation
A map of webhook event patterns to their configuration settings. Patterns can use wildcards to match multiple event types (e.g., 'card.' matches all card events, 'transaction.created.' matches all transaction created events). Pattern format: resource.action.version or resource.* for wildcards.
Configuration settings for a webhook pattern
Show child attributes
Show child attributes