Webhook Endpoints
↩️

Webhook Endpoints

Developers may want to receive updates from LinkMoney in the form of s. Some developers, like those coming from Plaid, can configure and create webhooks entirely through their authentication calls (See

). Others, however, must make API calls to view, configure, delete, and edit their subscribed events.

For information on the actual content of various LinkMoney webhooks, see

. This documentation only covers how to interact with webhook endpoints.

Subscribe to a Webhook.

POST /configuration/webhooks

Subscribe to a new webhook event. For details on different kinds of webhook events, see

.

Parameters

For the POST Body.

FieldTypeDescription
string
Optional field to subscribe to a single webhook event. See the particulars of your integration path's webhook flow.
string
A required URL, hosted by you, to send webhook updates to LinkMoney will direct all webhook updates as POST calls to this specified endpoint. In some cases, like
Plaid Webhooks
, this callbackURL is set automatically during configuration.

Example Requests

For a Specific Webhook Event

Some webhook flows require a new subscription to be created for each type of webhook. These events can each have different callback URLs for different callback handling, though there is no restriction on using the same callback URL for multiple webhooks, provided that your endpoint's logic can handle multiple kinds of payload.

curl -X POST /configuration/webhooks \
	-H 'Authorization: Bearer {YOUR_BEARER_TOKEN}'
	-d '{
		"eventName": "DATA_UPDATES",
		"callbackURL": "https://example.com/link-money/data-update-callback"
	}'

For a Generic Webhook Event

Some webhook flows (like Plaid) default to sending the full variety of their webhook events to a single callback URL.

curl -X POST /configuration/webhooks \
	-H 'Authorization: Bearer {YOUR_BEARER_TOKEN}'
	-d '{
		"callbackURL: "https://example.com/link-money/callback"
	}'

Response

{
	"webhook": {
		"id": "{new_webhook_id}",
		"eventName": "DATA_UPDATES",
		"callbackURL": "https://example.com/link-money/data-update-callback",
		"lastEvent": "{last_event_id}",
		"lastEventTime": "2021-02-05" // note that this field will conform to the dateFormat specified in your developer configuration.  
	}
}

Unsubscribe from a Webhook.

DELETE /configuration/webhooks/:webhookId

Parameters

In the URL Parameters

FieldTypeDescription
string
The ID of the webhook event from which you want to unsubscribe.

Example Request

curl -X DELETE /configuration/webhooks/{MY_WEBHOOK_ID} \
	-H 'Authorization: Bearer {YOUR_BEARER_TOKEN}'

Response

When you delete your webhook, you will stop receiving updates for this event. However, you can use the requestId from the response to restore the webhook within 10 days of deletion.

{
	"requestId": "{DELETION_REQUEST_ID}"
}

Edit a Webhook Subscription.

PATCH /configuration/webhooks/:webhookId

Edit the details of a particular webhook subscription. This is done primarily to modify the callback URL and does not permit modification of the event. This is better handled by creating a new subscription.

Parameters

In the URL Parameters

FieldTypeDescription
string
The ID of the webhook you want to modify.

In the PATCH body

FieldTypeDescription
string
The new callback URL where you want to receive the webook.

Example Request

curl -X PATCH /configuration/webhooks/{MY_WEBHOOK_ID} \
	-H 'Authorization: Bearer {YOUR_BEARER_TOKEN}' \ 
	-d '{
		"callbackURL": "https://example.com/new-callback-url"
	}'

Response

{
	"webhook": {
		"eventName": "DATA_UPDATES",
		"id": "{YOUR_WEBHOOK_ID}",
		"callbackURL": "https://example.com/new-callback-url"
	}
}

View a Webhook Subscription.

GET /configuration/webhooks/:webhookId

See all the details for a single webhook subscription.

Parameters

In the Request Parameters

FieldTypeDescription
string
The ID of the webhook subscription you want to see.

No other parameters are required.

Example Request

curl -X GET /configuration/webhooks/{MY_WEBHOOK_ID} \
	-H 'Authorization: Bearer {YOUR_BEARER_TOKEN}'

Response

See the webhook data model for more information about the included fields.

{
	"webhook": {
		"id": "{webhook_id}",
		"eventName": "DATA_UPDATES",
		"callbackURL": "https://example.com/link-money/data-update-callback",
		"lastEvent": "{last_event_id}",
		"lastEventTime": "2021-02-05" // note that this field will conform to the dateFormat specified in your developer configuration.
		"status": "active",
		"errors": [],
		"retrievals": []  
	}
}

View All Webhook Subscriptions.

GET /configuration/webhooks

Retrieve details for all of the events to which you are currently subscribed.

Parameters

In the Query String

FieldTypeDescription
boolean
If set to true, this call will return an array with all of the events you are subscribed to. If false, the call will only return metadata for managing webhook subscription errors holistically. Defaults to true.

Example Requests

With Webhook Data

curl -X GET /configuration/webhooks \
	-H 'Authorization: Bearer {YOUR_BEARER_TOKEN}'

Metadata Only

curl -X GET /configuration/webhooks?displayAll=false \
	-H 'Authorization: Bearer {YOUR_BEARER_TOKEN}'

Responses

Webhooks in the response follow the conventional webhook JSON described by the other endpoints on this page. Additionally, the view all call includes vital metadata about your event subscriptions as a whole, including any errors in any of your webhook configurations or any pending event retrievals.

{
	"webhooks": [ webhookObject, webhookObject ], 
	"metadata": {
		"allErrors": [ webhookError ],
		"allRetrievals": [ Event, Event ] 
	}
}