List webhook endpoints (API key)
curl --request GET \ --url 'https://api.sipstack.com/api/v2/webhooks?page=1&limit=50' \ --header 'x-api-key: <x-api-key>'import requests
url = "https://api.sipstack.com/api/v2/webhooks"
querystring = {"page":"1","limit":"50"}
headers = {"x-api-key": "<x-api-key>"}
response = requests.get(url, headers=headers, params=querystring)
print(response.json())const url = 'https://api.sipstack.com/api/v2/webhooks?page=1&limit=50';const options = {method: 'GET', headers: {'x-api-key': '<x-api-key>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}import axios from 'axios';
const options = { method: 'GET', url: 'https://api.sipstack.com/api/v2/webhooks', params: {page: '1', limit: '50'}, headers: {'x-api-key': '<x-api-key>'}};
try { const { data } = await axios.request(options); console.log(data);} catch (error) { console.error(error);}Lists your organization’s webhook endpoints. Signing secrets are never
echoed. Supports offset paging (page/limit) or keyset paging — pass a
response’s next_cursor back as cursor. The response also carries a
signature block describing the header and format to verify on deliveries.
This is the API-key (server-to-server) webhooks surface; the portal
admin-console equivalent lives under the Webhooks tag.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters ”Opaque keyset cursor from a previous response’s next_cursor. Ignores page when set.
Responses
Section titled “ Responses ”Paginated list of webhook endpoints for your organization.
object
A webhook endpoint as returned by the API-key /api/v2/webhooks endpoints (the signing secret is only ever returned once, at creation).
object
Subscribed event types; ["*"] subscribes to everything. See the Webhooks guide for the event catalog.
Endpoints are disabled automatically after repeated consecutive delivery failures.
Page metadata returned by the paginated Developer API list endpoints.
Per-endpoint limit defaults and caps vary (see each endpoint’s limit
parameter). In keyset (cursor) mode page, total, and totalPages are
null — walk pages via next_cursor instead.
object
Items per page (the default and maximum vary by endpoint).
Total matching records across all pages (null in cursor mode).
Pass back as cursor to fetch the next page; null on the last page.
How to verify webhook deliveries — echoed by the API-key webhook endpoints.
object
Example
{ "data": [ { "url": "https://example.com/sipstack-webhook", "events": [ "message.delivered", "message.failed" ] } ], "pagination": { "page": 1, "limit": 25, "total": 143, "totalPages": 6 }, "signature": { "header": "X-Webhook-Signature", "format": "sha256=<hex-hmac-sha256 of the raw request body, keyed by the endpoint secret>" }}Invalid cursor.
Inline error shape used by the messaging API and management endpoints.
object
Example
{ "success": false, "error": "Recipient phone number (to) is required"}Missing or invalid API key.
Inline error shape used by the messaging API and management endpoints.
object
Example
{ "success": false, "error": "Recipient phone number (to) is required"}Internal error.
Inline error shape used by the messaging API and management endpoints.
object
Example
{ "success": false, "error": "Recipient phone number (to) is required"}