GET /v1/webhooks
List subscriptions
Secret key
Host https://api.socialmatterspay.com · https://sandbox.socialmatterspay.com
Responses
| Status | Meaning |
|---|---|
200 | Subscriptions |
Fields of each item of data (200)
| Field | Notes |
|---|---|
idstring | — |
objectstring = "webhook_subscription" | — |
urlstring | — |
eventsarray of string | — |
activeboolean | — |
site_idstring | null | Set: hears only that site's payments; null: the whole merchant |
created_atstring (date-time) | — |
Example
List subscriptions
curl https://sandbox.socialmatterspay.com/v1/webhooks \
-H 'Authorization: Bearer sk_sandbox_…'
HTTP 200
Cache-Control: no-store
{
"data": [
{
"id": "a4602568-d7c4-46ee-9f8b-b7d99c853837",
"object": "webhook_subscription",
"url": "https://northwind.example/smp/webhooks",
"events": [
"payment.authorized",
"payment.settled",
… 6 more
],
"active": true,
"site_id": null,
"created_at": "2026-10-28T00:22:34.449Z"
}
]
}
POST /v1/webhooks
Subscribe an HTTPS URL to events
Secret key
Host https://api.socialmatterspay.com · https://sandbox.socialmatterspay.com
The signing secret is returned once, here.
Request body
| Field | Notes |
|---|---|
url requiredstring (uri) | pattern ^https:// |
site_idstring | Only this site's payments (a site's key sets its own) |
events requiredarray of enum | one of payment.authorized, payment.declined, payment.settled, payment.released, payment.returned, payment.voided, payment.refunded, payout.initiated, payout.settled, payout.failed, fee.assessed, invoice.paid, invoice.partially_paid, invoice.overdue, bank_account.disconnected, bank_account.relink_required, bank_account.relink_recommended, bank_account.owner_changed, *. at least 1 item |
Responses
| Status | Meaning |
|---|---|
201 | Subscription created |
400 | Error — error shape and codes |
409 | Error — error shape and codes |
Fields of data (201)
| Field | Notes |
|---|---|
idstring | — |
objectstring = "webhook_subscription" | — |
urlstring | — |
eventsarray of string | — |
activeboolean | — |
site_idstring | null | Set: hears only that site's payments; null: the whole merchant |
created_atstring (date-time) | — |
secretstring | pattern ^whsec_[a-f0-9]{64}$ |
Examples (2)
Subscribe to events
curl -X POST https://sandbox.socialmatterspay.com/v1/webhooks \
-H 'Authorization: Bearer sk_sandbox_…' \
-H 'Content-Type: application/json' \
-d '{
"url": "https://northwind.example/smp/webhooks",
"events": [
"payment.authorized",
"payment.settled",
"payment.released",
"payment.declined",
"payment.returned",
"payout.initiated",
"payout.settled",
"fee.assessed"
]
}'
HTTP 201
Cache-Control: no-store
{
"data": {
"id": "a4602568-d7c4-46ee-9f8b-b7d99c853837",
"object": "webhook_subscription",
"url": "https://northwind.example/smp/webhooks",
"events": [
"payment.authorized",
"payment.settled",
… 6 more
],
"active": true,
"site_id": null,
"secret": "whsec_…",
"created_at": "2026-10-28T00:22:34.449Z"
}
}
Subscribe to invoice events
curl -X POST https://sandbox.socialmatterspay.com/v1/webhooks \
-H 'Authorization: Bearer sk_sandbox_…' \
-H 'Content-Type: application/json' \
-d '{
"url": "https://northwind.example/smp/webhooks",
"events": [
"invoice.paid",
"invoice.partially_paid",
"invoice.overdue"
]
}'
HTTP 201
Cache-Control: no-store
{
"data": {
"id": "6fe5437f-652d-460a-a897-14dc0412cd11",
"object": "webhook_subscription",
"url": "https://northwind.example/smp/webhooks",
"events": [
"invoice.paid",
"invoice.partially_paid",
"invoice.overdue"
],
"active": true,
"site_id": null,
"secret": "whsec_…",
"created_at": "2026-10-28T00:22:38.658Z"
}
}
GET /v1/webhooks/{id}
Get a subscription
Secret key
Host https://api.socialmatterspay.com · https://sandbox.socialmatterspay.com
Parameters
| Field | Notes |
|---|---|
id requiredpath · string | — |
Responses
| Status | Meaning |
|---|---|
200 | Subscription |
404 | Error — error shape and codes |
Fields of data (200)
| Field | Notes |
|---|---|
idstring | — |
objectstring = "webhook_subscription" | — |
urlstring | — |
eventsarray of string | — |
activeboolean | — |
site_idstring | null | Set: hears only that site's payments; null: the whole merchant |
created_atstring (date-time) | — |
Example
Get a subscription
curl https://sandbox.socialmatterspay.com/v1/webhooks/a4602568-d7c4-46ee-9f8b-b7d99c853837 \
-H 'Authorization: Bearer sk_sandbox_…'
HTTP 200
Cache-Control: no-store
{
"data": {
"id": "a4602568-d7c4-46ee-9f8b-b7d99c853837",
"object": "webhook_subscription",
"url": "https://northwind.example/smp/webhooks",
"events": [
"payment.authorized",
"payment.settled",
… 6 more
],
"active": true,
"site_id": null,
"created_at": "2026-10-28T00:22:34.449Z"
}
}
DELETE /v1/webhooks/{id}
Deactivate a subscription
Secret key
Host https://api.socialmatterspay.com · https://sandbox.socialmatterspay.com
Parameters
| Field | Notes |
|---|---|
id requiredpath · string | — |
Responses
| Status | Meaning |
|---|---|
200 | Deactivated |
404 | Error — error shape and codes |
Fields of data (200)
| Field | Notes |
|---|---|
idstring | — |
objectstring = "webhook_subscription" | — |
urlstring | — |
eventsarray of string | — |
activeboolean | — |
site_idstring | null | Set: hears only that site's payments; null: the whole merchant |
created_atstring (date-time) | — |
Example
Turn off a subscription
curl -X DELETE https://sandbox.socialmatterspay.com/v1/webhooks/a4602568-d7c4-46ee-9f8b-b7d99c853837 \
-H 'Authorization: Bearer sk_sandbox_…'
HTTP 200
Cache-Control: no-store
{
"data": {
"id": "a4602568-d7c4-46ee-9f8b-b7d99c853837",
"object": "webhook_subscription",
"active": false
}
}
POST /v1/webhooks/{id}/test
Queue a signed webhook.test delivery to this subscription
Secret key
Host https://api.socialmatterspay.com · https://sandbox.socialmatterspay.com
Parameters
| Field | Notes |
|---|---|
id requiredpath · string | — |
Responses
| Status | Meaning |
|---|---|
202 | Queued |
404 | Error — error shape and codes |
Fields of data (202)
| Field | Notes |
|---|---|
delivery_idstring | — |
eventstring = "webhook.test" | — |
statusstring = "queued" | — |
Example
Send a signed test event
curl -X POST https://sandbox.socialmatterspay.com/v1/webhooks/a4602568-d7c4-46ee-9f8b-b7d99c853837/test \
-H 'Authorization: Bearer sk_sandbox_…'
HTTP 202
Cache-Control: no-store
{
"data": {
"delivery_id": "8c493ec5-8fc9-4e01-babb-311563005fc6",
"event": "webhook.test",
"status": "queued"
}
}
