Webhooks
Retrieve notifications through webhooks on transaction events and status changes
About Our Webhooks 📣
Receive notifications/alerts on every new transaction or transaction status change in any of your inabit organizations within your account, as well as fee updates for a transaction.
There are two endpoints you can use with our Webhooks:
Create Subscription - registering to the subscription service
Delete Subscription - deleting an existing subscription
Our webhook service is currently limited to 1 subscription per organization.
Events Handled:
New Transaction Event
Transaction Status Updates (Incl. txn fee updates)
Supported transaction types:
Received (Deposits)
Sent (Withdrawals)
For further information regarding transaction types (events), refer to the Notification Types subpage.
Create Subscription
In order to create a subscription on our GraphQL API, you'll need to call the following mutation:
mutation CreateSubscription($data: SubscriptionCreateInput!) {
createSubscription(data: $data) {
id,
token
}
}
Headers
Content-Type
application/json
Authorization
Bearer <token>
Body (SubscriptionCreateInput object)
id*
string
ID of the organization in inabit
url*
string
URL for the webhook service to send notifications towards
Example body:
{
"data": {
"organization": {
"id": "clu1dzpny0007vjto1gxhl5my" # inabit organization Id
},
"url": "https://studio.apollographql.com", # Webhook for subscriber
}
}
Response
{
"data": {
"createSubscription": {
"id": "clugv892y0000vjhga8ugol38", # Created subscription Id
"token": "sub_c028ef8d-b8b9-49c0-b5a9-f7451884b834" # Unique generated token recognized by inabit
}
}
}
In the mutation's response, the following is retrieved:
ID - The ID of the subscription that was created.
Token - A unique token generated by inabit.
The token will be the identifying the webhook resource for the subscriber set as a header: 'authorization' : (i.e. -
sub_c028ef8d-b8b9-49c0-b5a9-f7451884b834
)
Remember - You can always query data and fetch all of an organization's subscriptions in case its hard to keep track, see query below.
query Subscriptions($where: SubscriptionWhereInput) {
subscriptions(where: $where) {
id
token
}
}
Body (SubscriptionWhereInput object)
id*
string
ID of the organization in inabit
Delete Subscription
In order to delete a subscription, the following mutation needs to be used:
mutation DeleteSubscription($where: SubscriptionWhereUniqueInput!) {
deleteSubscription(where: $where) {
id
}
}
Headers
Content-Type
application/json
Authorization
Bearer <token>
Body (SubscriptionWhereUniqueInput object)
id*
string
Subscription ID
Example body:
body:
{
"where": {
"id": "clu5bxctk0003vje4n4pqfdya" # Subscription Id
}
}
Response
{
"data": {
"deleteSubscription": {
"id": "clugwvbm70007vj4w74gxch3u"
}
}
}
Was this helpful?