Webhooks
list_webhook_subscriptions
readList webhook subscriptions
See where a Store already sends events, and obtain the subscription ids the update and delete tools take.
Overview
Lists the connected Store webhook subscriptions with each one id, topic, destination URL and timestamps. Signing secrets are never included: a subscription secret is shown once, at creation, and cannot be read back. Results are paginated. It requires the webhooks:read scope and has no side effects.
Permission
Requires thewebhooks:readpermission. A connection without it answersinsufficient_scopenaming the permission to approve.
Annotations
Prerequisites
- A merchant has connected this store and approved the webhooks:read scope.
Arguments
How many subscriptions to return per page, between 1 and 100. Defaults to 20.
The opaque next_cursor value from the previous page. Omit it for the first page.
Result
Up to `limit` subscriptions plus the cursor for the next page. Never a signing secret.
The page of subscriptions. Never a signing secret.
Error cases
The connection was approved without webhooks:read.
The cursor was altered or reused; restart with no cursor.
The store registered endpoints
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_webhook_subscriptions",
"arguments": {}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"structuredContent": {
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t",
"store": {
"id": 12,
"name": "Demo Signs"
},
"subscriptions": [
{
"id": 42,
"topic": "product:created",
"url": "https://example.com/webhooks/sign-customiser",
"created_at": "2026-07-22T00:00:00Z",
"updated_at": "2026-07-22T00:00:00Z"
}
],
"pagination": {
"has_more": false,
"next_cursor": null
}
}
}
}A connection holding only webhooks:write (error)
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_webhook_subscriptions",
"arguments": {}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"isError": true,
"structuredContent": {
"error": {
"code": "insufficient_scope",
"title": "Insufficient scope",
"detail": "The tool [list_webhook_subscriptions] requires the webhooks:read scope, which this connection was not granted.",
"recovery": "The connection was authorised without the scope this tool needs. Ask the merchant to reconnect the connector and approve the scope named in required_scopes. Do not retry this call.",
"required_scopes": [
"webhooks:read"
],
"granted_scopes": [
"webhooks:write"
]
}
}
}
}