Sign Customiser

Navigation

Dark mode

Webhook subscriptions

Create a webhook subscription

Copy page

Registers an HTTPS callback for one topic. Requires webhooks:write, the read scope of the topic and an Idempotency-Key.

POST/api/v3/webhook-subscriptions
POSTCreate a webhook subscription
POST/api/v3/webhook-subscriptions

Create a webhook subscription

Registers an HTTPS callback for one topic. Requires `webhooks:write`, the read scope of the topic and an `Idempotency-Key`. The read scope is `orders:read` for `order:created`, `products:read` for `product:created` and `quotes:read` for `form:submitted`. If the key does not have the read scope, the request fails with `403 insufficient_scope`. The response contains the signing `secret`; store it securely because later subscription responses never return it. Verify deliveries using https://www.signcustomiser.com/help/integrations/subscribe-to-webhooks/. Retrying the exact request and key replays the original response without creating a second subscription or rotating the secret. Registration does not itself enable delivery: `product:created` and `order:created` emit only for Stores with custom API access. Contact Sign Customiser support to confirm eligibility if those events do not arrive.

Authorisation

The Authorization header expects a Bearer token. Generate one on the API keys page in your dashboard.

Body
Create a webhook subscription

Overview

The read scope is orders:read for WEBHOOKorder:created, products:read for WEBHOOKproduct:created and quotes:read for WEBHOOKform:submitted. If the key does not have the read scope, the request fails with 403 insufficient_scope. The response contains the signing secret; store it securely because later subscription responses never return it. Verify deliveries using https://www.signcustomiser.com/help/integrations/subscribe-to-webhooks/. Retrying the exact request and key replays the original response without creating a second subscription or rotating the secret. Registration does not itself enable delivery: WEBHOOKproduct:created and WEBHOOKorder:created emit only for Stores with custom API access. Contact Sign Customiser support to confirm eligibility if those events do not arrive.

Authorisation

Bearer token required. Include it in the Authorization header.

Required scope: webhooks:write

Request body

topicstringbody
urlstringbody

Request body example

application/json
{
  "topic": "product:created",
  "url": "https://example.com/webhooks/sign-customiser"
}
Create a webhook subscription
curl https://web.signcustomiser.com/api/v3/webhook-subscriptions \
  --request POST \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "topic": "product:created",
  "url": "https://example.com/webhooks/sign-customiser"
}'
Response
{
  "data": {
    "object": "webhook_subscription",
    "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"
  },
  "links": {
    "self": "https://web.signcustomiser.com/api/v3/webhook-subscriptions/42",
    "documentation": "https://www.signcustomiser.com/help/api/"
  },
  "meta": {
    "api_version": "v3",
    "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
  }
}

Type a question and press Enter. Use the arrow keys to move between the results.