Subscription
A webhook subscription, for an application or a profile.
Operations
Every route this entity exposes. Each route links to its own reference on this page.
| Method | Route | SDK operation | Returns |
|---|---|---|---|
POST |
/applications/{clientKey}/subscriptions |
create |
OK |
POST |
/profiles/{profileId}/subscriptions |
create |
OK |
GET |
/applications/{clientKey}/subscriptions |
list |
OK |
GET |
/profiles/{profileId}/subscriptions |
list |
OK |
GET |
/applications/{clientKey}/subscriptions/{subscriptionId} |
load |
OK |
GET |
/profiles/{profileId}/subscriptions/{subscriptionId} |
load |
OK |
DELETE |
/applications/{clientKey}/subscriptions/{subscriptionId} |
remove |
No Content |
DELETE |
/profiles/{profileId}/subscriptions/{subscriptionId} |
remove |
No Content |
Examples
One example per SDK, generated from the API model. The argument names are the parameters and fields of this entity, and the values are placeholders. The examples are not compiled or executed.
Golang
Construct client as shown in the Golang setup, then call the operations:
subscriptions, err := client.Subscription(nil).List(map[string]any{"client_key": "example"}, nil)
if err != nil {
panic(err)
}
fmt.Println(subscriptions)
subscription, err := client.Subscription(nil).Load(map[string]any{"client_key": "example", "id": "example_id"}, nil)
if err != nil {
panic(err)
}
fmt.Println(subscription)
created, err := client.Subscription(nil).Create(map[string]any{"client_key": "example", "delivery": map[string]any{}, "name": "example", "trigger_on": "example"}, nil)
if err != nil {
panic(err)
}
fmt.Println(created)
removed, err := client.Subscription(nil).Remove(map[string]any{"client_key": "example", "id": "example_id"}, nil)
if err != nil {
panic(err)
}
fmt.Println(removed)
Lua
Construct client as shown in the Lua setup, then call the operations:
local subscriptions, err = client:Subscription():list({ client_key = "example" })
local subscription, err = client:Subscription():load({ client_key = "example", id = "example_id" })
local created, err = client:Subscription():create({ client_key = "example", delivery = {}, name = "example", trigger_on = "example" })
local removed, err = client:Subscription():remove({ client_key = "example", id = "example_id" })
PHP
Construct client as shown in the PHP setup, then call the operations:
$subscriptions = $client->Subscription()->list(["client_key" => "example"]);
$subscription = $client->Subscription()->load(["client_key" => "example", "id" => "example_id"]);
$created = $client->Subscription()->create(["client_key" => "example", "delivery" => [], "name" => "example", "trigger_on" => "example"]);
$client->Subscription()->remove(["client_key" => "example", "id" => "example_id"]);
Python
Construct client as shown in the Python setup, then call the operations:
subscriptions = client.Subscription().list({"client_key": "example"})
subscription = client.Subscription().load({"client_key": "example", "id": "example_id"})
created = client.Subscription().create({ "client_key": "example", "delivery": {}, "name": "example", "trigger_on": "example" })
client.Subscription().remove({"client_key": "example", "id": "example_id"})
Ruby
Construct client as shown in the Ruby setup, then call the operations:
subscriptions = client.Subscription.list({ "client_key" => "example" })
subscription = client.Subscription.load({ "client_key" => "example", "id" => "example_id" })
created = client.Subscription.create({ "client_key" => "example", "delivery" => {}, "name" => "example", "trigger_on" => "example" })
client.Subscription.remove({ "client_key" => "example", "id" => "example_id" })
TypeScript
Construct client as shown in the TypeScript setup, then call the operations:
const subscriptions = await client.Subscription().list({ client_key: "example" })
const subscription = await client.Subscription().load({ client_key: "example", id: "example_id" })
const created = await client.Subscription().create({ client_key: "example", delivery: {}, name: "example", trigger_on: "example" })
await client.Subscription().remove({ client_key: "example", id: "example_id" })
Fields
| Field | Type | Required | Description |
|---|---|---|---|
created_at |
string |
No | Timestamp of when the subscription was created. |
created_by |
object |
No | Created By |
delivery |
object |
No | Delivery |
id |
string |
No | UUID that uniquely identifies the subscription. |
name |
string |
No | A custom name for your webhook to ease with identification. |
scope |
object |
No | Scope |
trigger_on |
string |
No | The event type this subscription is listening for. |
create
POST /applications/{clientKey}/subscriptions
Operation ID: webhookApplicationSubscriptionCreate.
Authentication: bearer token (ClientCredentialsToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
clientKey |
path |
string |
Yes | Your application's client key. |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Request body
application/json
| Property | Type | Required | Description |
|---|---|---|---|
delivery |
object |
Yes | |
delivery.url |
string |
Yes | The URL where your server will be listening for events. |
delivery.version |
string |
Yes | The event representation semantic version. |
name |
string |
Yes | A custom name for your webhook to ease with identification. |
trigger_on |
string |
Yes | Choose from a list of available events. |
Responses
200: OK
application/json
| Property | Type | Required | Description |
|---|---|---|---|
created_at |
string (date-time) |
No | Timestamp of when the subscription was created. |
created_by |
object |
No | |
created_by.id |
string |
No | ID of the creator. |
created_by.type |
string |
No | Creator type (for example "application" or "user"). |
delivery |
object |
No | |
delivery.url |
string |
No | The URL where your server will be listening for events. |
delivery.version |
string |
No | The event representation semantic version. |
id |
string (uuid) |
No | UUID that uniquely identifies the subscription. |
name |
string |
No | A custom name for your webhook to ease with identification. |
scope |
object |
No | |
scope.domain |
string |
No | Scope of this subscription (for example "application" or "profile"). |
scope.id |
string |
No | ID associated with the scope (client key or profile ID). |
trigger_on |
string |
No | The event type this subscription is listening for. List of available events. |
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
POST /profiles/{profileId}/subscriptions
Operation ID: webhookProfileSubscriptionCreate.
Authentication: bearer token (UserToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
profileId |
path |
integer (int64) |
Yes | ID of the profile you are subscribing to. |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Request body
application/json
| Property | Type | Required | Description |
|---|---|---|---|
delivery |
object |
Yes | |
delivery.url |
string |
Yes | The URL where your server will be listening for events. |
delivery.version |
string |
Yes | The event representation semantic version. |
name |
string |
Yes | A custom name for your webhook to ease with identification. |
trigger_on |
string |
Yes | Choose from a list of available events. |
Responses
200: OK
application/json
| Property | Type | Required | Description |
|---|---|---|---|
created_at |
string (date-time) |
No | Timestamp of when the subscription was created. |
created_by |
object |
No | |
created_by.id |
string |
No | ID of the creator. |
created_by.type |
string |
No | Creator type (for example "application" or "user"). |
delivery |
object |
No | |
delivery.url |
string |
No | The URL where your server will be listening for events. |
delivery.version |
string |
No | The event representation semantic version. |
id |
string (uuid) |
No | UUID that uniquely identifies the subscription. |
name |
string |
No | A custom name for your webhook to ease with identification. |
scope |
object |
No | |
scope.domain |
string |
No | Scope of this subscription (for example "application" or "profile"). |
scope.id |
string |
No | ID associated with the scope (client key or profile ID). |
trigger_on |
string |
No | The event type this subscription is listening for. List of available events. |
Example response:
{
"created_at": "2019-10-10T13:55:57Z",
"created_by": {
"id": "<your user ID>",
"type": "user"
},
"delivery": {
"url": "https://your.webhook.url/12345",
"version": "4.0.0"
},
"id": "72195556-e5cb-495e-a010-b37a4f2a3043",
"name": "Webhook Subscription #1",
"scope": {
"domain": "profile",
"id": "<your profile ID>"
},
"trigger_on": "transfers#state-change"
}
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
list
GET /applications/{clientKey}/subscriptions
Operation ID: webhookApplicationSubscriptionList.
Authentication: bearer token (ClientCredentialsToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
clientKey |
path |
string |
Yes | Your application's client key. |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Responses
200: OK
application/json
| Property | Type | Required | Description |
|---|---|---|---|
[].created_at |
string (date-time) |
No | Timestamp of when the subscription was created. |
[].created_by |
object |
No | |
[].created_by.id |
string |
No | ID of the creator. |
[].created_by.type |
string |
No | Creator type (for example "application" or "user"). |
[].delivery |
object |
No | |
[].delivery.url |
string |
No | The URL where your server will be listening for events. |
[].delivery.version |
string |
No | The event representation semantic version. |
[].id |
string (uuid) |
No | UUID that uniquely identifies the subscription. |
[].name |
string |
No | A custom name for your webhook to ease with identification. |
[].scope |
object |
No | |
[].scope.domain |
string |
No | Scope of this subscription (for example "application" or "profile"). |
[].scope.id |
string |
No | ID associated with the scope (client key or profile ID). |
[].trigger_on |
string |
No | The event type this subscription is listening for. List of available events. |
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
GET /profiles/{profileId}/subscriptions
Operation ID: webhookProfileSubscriptionList.
Authentication: bearer token (UserToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
profileId |
path |
integer (int64) |
Yes | ID of the profile. |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Responses
200: OK
application/json
| Property | Type | Required | Description |
|---|---|---|---|
[].created_at |
string (date-time) |
No | Timestamp of when the subscription was created. |
[].created_by |
object |
No | |
[].created_by.id |
string |
No | ID of the creator. |
[].created_by.type |
string |
No | Creator type (for example "application" or "user"). |
[].delivery |
object |
No | |
[].delivery.url |
string |
No | The URL where your server will be listening for events. |
[].delivery.version |
string |
No | The event representation semantic version. |
[].id |
string (uuid) |
No | UUID that uniquely identifies the subscription. |
[].name |
string |
No | A custom name for your webhook to ease with identification. |
[].scope |
object |
No | |
[].scope.domain |
string |
No | Scope of this subscription (for example "application" or "profile"). |
[].scope.id |
string |
No | ID associated with the scope (client key or profile ID). |
[].trigger_on |
string |
No | The event type this subscription is listening for. List of available events. |
Example response:
[
{
"created_by": {
"id": "<your user ID>",
"type": "user"
},
"delivery": {
"url": "https://your.webhook.url/12345",
"version": "2.0.0"
},
"id": "e889e085-3677-4110-be26-3e9160ac9f25",
"name": "#1 subscription",
"scope": {
"domain": "profile",
"id": "<your profile ID>"
},
"trigger_on": "transfers#state-change"
},
{
"created_by": {
"id": "<your user ID>",
"type": "user"
},
"delivery": {
"url": "https://your.webhook.url/12345",
"version": "2.0.0"
},
"id": "eabeb3f5-c134-4a1c-99e2-86a1163daf1b",
"name": "#2 subscription",
"scope": {
"domain": "profile",
"id": "<your profile ID>"
},
"trigger_on": "transfers#state-change"
}
]
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
load
GET /applications/{clientKey}/subscriptions/{subscriptionId}
Operation ID: webhookApplicationSubscriptionGet.
Authentication: bearer token (ClientCredentialsToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
clientKey |
path |
string |
Yes | Your application's client key. |
subscriptionId |
path |
string (uuid) |
Yes | UUID of the subscription. |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Responses
200: OK
application/json
| Property | Type | Required | Description |
|---|---|---|---|
created_at |
string (date-time) |
No | Timestamp of when the subscription was created. |
created_by |
object |
No | |
created_by.id |
string |
No | ID of the creator. |
created_by.type |
string |
No | Creator type (for example "application" or "user"). |
delivery |
object |
No | |
delivery.url |
string |
No | The URL where your server will be listening for events. |
delivery.version |
string |
No | The event representation semantic version. |
id |
string (uuid) |
No | UUID that uniquely identifies the subscription. |
name |
string |
No | A custom name for your webhook to ease with identification. |
scope |
object |
No | |
scope.domain |
string |
No | Scope of this subscription (for example "application" or "profile"). |
scope.id |
string |
No | ID associated with the scope (client key or profile ID). |
trigger_on |
string |
No | The event type this subscription is listening for. List of available events. |
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
GET /profiles/{profileId}/subscriptions/{subscriptionId}
Operation ID: webhookProfileSubscriptionGet.
Authentication: bearer token (UserToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
profileId |
path |
integer (int64) |
Yes | ID of the profile. |
subscriptionId |
path |
string (uuid) |
Yes | UUID of the subscription. |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Responses
200: OK
application/json
| Property | Type | Required | Description |
|---|---|---|---|
created_at |
string (date-time) |
No | Timestamp of when the subscription was created. |
created_by |
object |
No | |
created_by.id |
string |
No | ID of the creator. |
created_by.type |
string |
No | Creator type (for example "application" or "user"). |
delivery |
object |
No | |
delivery.url |
string |
No | The URL where your server will be listening for events. |
delivery.version |
string |
No | The event representation semantic version. |
id |
string (uuid) |
No | UUID that uniquely identifies the subscription. |
name |
string |
No | A custom name for your webhook to ease with identification. |
scope |
object |
No | |
scope.domain |
string |
No | Scope of this subscription (for example "application" or "profile"). |
scope.id |
string |
No | ID associated with the scope (client key or profile ID). |
trigger_on |
string |
No | The event type this subscription is listening for. List of available events. |
Example response:
{
"created_at": "2008-09-15T15:53:00Z",
"created_by": {
"id": "<your user ID>",
"type": "user"
},
"delivery": {
"url": "https://your.webhook.url/12345",
"version": "2.0.0"
},
"id": "f215f353-35fd-405b-b27f-4fd603c905ed",
"name": "Webhook Subscription #1",
"scope": {
"domain": "profile",
"id": "<your profile ID>"
},
"trigger_on": "balances#credit"
}
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
remove
DELETE /applications/{clientKey}/subscriptions/{subscriptionId}
Operation ID: webhookApplicationSubscriptionDelete.
Authentication: bearer token (ClientCredentialsToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
clientKey |
path |
string |
Yes | Your application's client key. |
subscriptionId |
path |
string (uuid) |
Yes | UUID of the subscription. |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Responses
204: No Content
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
DELETE /profiles/{profileId}/subscriptions/{subscriptionId}
Operation ID: webhookProfileSubscriptionDelete.
Authentication: bearer token (UserToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
profileId |
path |
integer (int64) |
Yes | ID of the profile. |
subscriptionId |
path |
string (uuid) |
Yes | UUID of the subscription. |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Responses
204: No Content
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.