This guide outlines the APIs for managing your webhook subscriptions, including retrieving, updating, and deleting subscriptions.
To get a list of all your active webhook subscriptions, call the GetWebhooks endpoint.
Request
curl --request GET \
--url https://sandboxapi.peach.finance/api/webhooks \
--header 'Authorization: Bearer YOUR_API_KEY'Response
{
"status": 0,
"count": 2,
"data": [
{
"id": "whk_1234567890abcdef",
"webhookType": "direct",
"eventTypes": ["loan.created", "payment.succeeded"],
"webhookDirectDetails": {
"webhookUrl": "https://your-endpoint.com/webhook"
},
"enabled": true,
"createdAt": "2023-10-18T14:15:22Z",
"updatedAt": "2023-10-18T14:15:22Z"
},
{
"id": "whk_0987654321fedcba",
"webhookType": "direct",
"eventTypes": ["loan.statuschanged", "payment.failed"],
"webhookDirectDetails": {
"webhookUrl": "https://your-other-endpoint.com/webhook"
},
"enabled": true,
"createdAt": "2023-10-19T09:30:15Z",
"updatedAt": "2023-10-19T09:30:15Z"
}
]
}To retrieve the details of a specific webhook subscription, call GetSubscriptionById and replace {webhookSubscriptionId} with the unique identifier of the subscription you want to retrieve.
Request
curl --request GET \
--url https://sandboxapi.peach.finance/api/webhooks/whk_1234567890abcdef \
--header 'Authorization: Bearer YOUR_API_KEY'Response
{
"status": 0,
"message": "Webhook subscription retrieved successfully",
"data": {
"id": "whk_1234567890abcdef",
"webhookType": "direct",
"eventTypes": ["loan.created", "payment.succeeded"],
"webhookDirectDetails": {
"webhookUrl": "https://your-endpoint.com/webhook"
},
"enabled": true,
"createdAt": "2023-10-18T14:15:22Z",
"updatedAt": "2023-10-18T14:15:22Z"
}
}To update an existing webhook subscription, call UpdateWebhookSubscription and replace {webhookSubscriptionId} with the unique identifier of the subscription you want to update. The following request adds the loan.statuschanged event subscription.
Request
curl --request PUT \
--url https://sandboxapi.peach.finance/api/webhooks/whk_1234567890abcdef \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"eventTypes": ["loan.created", "loan.statuschanged", "payment.succeeded"],
"webhookDirectDetails": {
"webhookUrl": "https://your-new-endpoint.com/webhook"
},
"enabled": true
}'Response
{
"status": 0,
"message": "Webhook subscription updated successfully",
"data": {
"id": "whk_1234567890abcdef",
"webhookType": "direct",
"eventTypes": ["loan.created", "loan.statuschanged", "payment.succeeded"],
"webhookDirectDetails": {
"webhookUrl": "https://your-new-endpoint.com/webhook"
},
"enabled": true,
"createdAt": "2023-10-18T14:15:22Z",
"updatedAt": "2023-10-20T11:45:30Z"
}
}To remove a webhook subscription, call DeleteWebhookSubscription and replace {webhookSubscriptionId} with the unique identifier of the subscription you want to delete.
Request
curl --request DELETE \
--url https://sandboxapi.peach.finance/api/webhooks/whk_1234567890abcdef \
--header 'Authorization: Bearer YOUR_API_KEY'Response
{
"status": 0,
"message": "Webhook subscription deleted successfully"
}- About Webhooks — How webhooks work in Peach, including signing and delivery.
- Webhook Events — Reference for the event types you can subscribe to.