List webhook endpoints
GET /webhooks| Scope | webhooks:manage |
| Customer session token | Not accepted: call from your server with an API key |
| Rate limit class | read (limits) |
| Idempotency key | Not used |
| MCP tool | charm_list_webhooks |
Every webhook endpoint registered for the shop, with delivery health. The signing secret is never included — it is disclosed once, at creation.
Response 200
Section titled “Response 200”Returns WebhookList.
| Field | Type | Description |
|---|---|---|
data | array of WebhookEndpoint | |
next_cursor | string or null | Pass as cursor to fetch the next page; null on the last page. (nullable) |
has_more | boolean | True when another page exists. |
webhooks | array of WebhookEndpoint | Deprecated alias of data. |
{ "data": [ { "id": "id", "url": "https://example.com/charm-hook", "topics": [ "topics" ], "status": "active", "created_at": "2026-10-01T09:30:00.000Z", "consecutive_failures": 1, "last_success_at": "2026-10-01T09:30:00.000Z", "last_failure_at": "2026-10-01T09:30:00.000Z", "disabled_reason": null, "api_version": "api version" } ], "next_cursor": null, "has_more": true, "webhooks": [ { "id": "id", "url": "https://example.com/charm-hook", "topics": [ "topics" ], "status": "active", "created_at": "2026-10-01T09:30:00.000Z", "consecutive_failures": 1, "last_success_at": "2026-10-01T09:30:00.000Z", "last_failure_at": "2026-10-01T09:30:00.000Z", "disabled_reason": null, "api_version": "api version" } ]}Example
Section titled “Example”curl -X GET "https://charm.appfleece.app/api/v1/webhooks" \ -H "Authorization: Bearer chrm_live_..."Errors
Section titled “Errors”unauthorized · invalid_token · insufficient_scope · access_required · validation_error · rate_limited
Every error body carries code, message, request_id and a doc_url pointing at the matching entry in the error catalog.