Skip to main content

List Webhook Subscriptions

Retrieves a paginated list of webhook subscriptions for the authenticated user.

Endpoint

GET /v1/webhook-subscriptions

Authentication

API key required. Include it in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Query Parameters

ParameterTypeDescription
pageintegerPage number for pagination. Default is 1.
per_pageintegerNumber of items per page. Default is 15. Maximum is 100.

Available Events

EventDescription
shipping_channel.createdFires when a new shipping channel is created
shipping_channel.updatedFires when a shipping channel is updated
shipping_channel.deletedFires when a shipping channel is deleted
shipping_channel.validatedFires when a shipping channel is successfully validated
shipping_channel.status_changedFires when a shipping channel's status changes
tracking_parcel.createdFires when a new tracking parcel is created
tracking_parcel.updatedFires when a tracking parcel is updated
tracking_parcel.deletedFires when a tracking parcel is deleted
tracking_parcel.status_changedFires when a tracking parcel's status changes

Response

200 OK

{
"data": [
{
"id": "wh_123456",
"url": "https://example.com/webhooks/shipping-channels",
"events": [
"shipping_channel.created",
"shipping_channel.updated",
"shipping_channel.deleted",
"shipping_channel.status_changed"
],
"status": "active",
"secret": "••••••••••••••••",
"created_at": "2025-03-29T16:00:00Z",
"updated_at": "2025-03-29T16:00:00Z"
},
{
"id": "wh_234567",
"url": "https://example.com/webhooks/tracking-parcels",
"events": [
"tracking_parcel.created",
"tracking_parcel.status_changed"
],
"status": "active",
"secret": "••••••••••••••••",
"created_at": "2025-03-29T17:00:00Z",
"updated_at": "2025-03-29T17:00:00Z"
}
],
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://api.shipping-channels.com/v1/webhook-subscriptions",
"per_page": 15,
"to": 2,
"total": 2
},
"links": {
"first": "https://api.shipping-channels.com/v1/webhook-subscriptions?page=1",
"last": "https://api.shipping-channels.com/v1/webhook-subscriptions?page=1",
"next": null,
"prev": null
}
}

Error Responses

Status CodeDescription
401Unauthorized - Invalid or missing API key
429Too Many Requests - Rate limit exceeded
500Server Error - Something went wrong on our end

Example Request

cURL

curl -X GET \
https://api.shipping-channels.com/v1/webhook-subscriptions \
-H "Authorization: Bearer YOUR_API_KEY"

PHP

<?php
$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.shipping-channels.com/v1/webhook-subscriptions', [
'headers' => [
'Authorization' => 'Bearer YOUR_API_KEY',
'Accept' => 'application/json',
],
]);

$data = json_decode($response->getBody(), true);

JavaScript

fetch('https://api.shipping-channels.com/v1/webhook-subscriptions', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json'
}
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));

Security Considerations

  • Webhook secrets are never returned in full; they are masked with dots (••••)
  • You can only view webhook subscriptions that belong to your account
  • All requests should be made over HTTPS to ensure data security