SpareSpare Docs
GuidesAPI Reference

Webhooks

Manage webhook subscriptions and browse the event catalog.

GET
/webhooks/catalog
Authorization
Header

Regulatory jurisdiction the request routes to (e.g. `UAE`, `KSA`, `MAIN`). Match it to the market you're integrating.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/webhooks/catalog" \  -H "x-tenant: UAE"
{  "data": {    "products": [      {        "code": "payments",        "resources": [          {            "events": [              "string"            ],            "type": "string"          }        ]      }    ]  }}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "not_found",  "details": {},  "message": "string"}
POST
/webhooks
Authorization
Header

ES256 request signature. Required on signed-write endpoints, see [request signing](/docs/quickstart/request-signing).

Regulatory jurisdiction the request routes to (e.g. `UAE`, `KSA`, `MAIN`). Match it to the market you're integrating.

Body
*object
array<string>

Request Body

application/json

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/webhooks" \  -H "x-signature: string" \  -H "x-tenant: UAE" \  -H "Content-Type: application/json" \  -d '{    "product": "string",    "resources": [      "string"    ],    "url": "string"  }'
{  "data": {    "createdAt": "2025-01-01T00:00:00Z",    "description": "string",    "id": "string",    "product": "payments",    "resources": [      "string"    ],    "schemaVersion": "string",    "status": "Active",    "url": "string"  }}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "not_found",  "details": {},  "message": "string"}
GET
/webhooks
Authorization
Header

Regulatory jurisdiction the request routes to (e.g. `UAE`, `KSA`, `MAIN`). Match it to the market you're integrating.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/webhooks" \  -H "x-tenant: UAE"
{  "data": [    {      "createdAt": "2025-01-01T00:00:00Z",      "description": "string",      "id": "string",      "product": "payments",      "resources": [        "string"      ],      "schemaVersion": "string",      "status": "Active",      "url": "string"    }  ]}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "not_found",  "details": {},  "message": "string"}
GET
/webhooks/{webhookId}
Authorization
Path

UUID of the webhook subscription.

Header

Regulatory jurisdiction the request routes to (e.g. `UAE`, `KSA`, `MAIN`). Match it to the market you're integrating.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/webhooks/string" \  -H "x-tenant: UAE"
{  "data": {    "createdAt": "2025-01-01T00:00:00Z",    "description": "string",    "id": "string",    "product": "payments",    "resources": [      "string"    ],    "schemaVersion": "string",    "status": "Active",    "url": "string"  }}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "not_found",  "details": {},  "message": "string"}
PATCH
/webhooks/{webhookId}
Authorization
Path

UUID of the webhook subscription.

Header

ES256 request signature. Required on signed-write endpoints, see [request signing](/docs/quickstart/request-signing).

Regulatory jurisdiction the request routes to (e.g. `UAE`, `KSA`, `MAIN`). Match it to the market you're integrating.

Body
*object
array<string>

Request Body

application/json

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PATCH "https://example.com/webhooks/string" \  -H "x-signature: string" \  -H "x-tenant: UAE" \  -H "Content-Type: application/json" \  -d '{}'
{  "data": {    "createdAt": "2025-01-01T00:00:00Z",    "description": "string",    "id": "string",    "product": "payments",    "resources": [      "string"    ],    "schemaVersion": "string",    "status": "Active",    "url": "string"  }}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "not_found",  "details": {},  "message": "string"}
DELETE
/webhooks/{webhookId}
Authorization
Path

UUID of the webhook subscription.

Header

Regulatory jurisdiction the request routes to (e.g. `UAE`, `KSA`, `MAIN`). Match it to the market you're integrating.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X DELETE "https://example.com/webhooks/string" \  -H "x-tenant: UAE"
Empty
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "string",  "details": {},  "message": "string"}
{  "code": "not_found",  "details": {},  "message": "string"}