React to changes in real time
Subscribe to entity lifecycle events and receive POST notifications when products are created, updated, deleted, or transition between states. Build reactive integrations without polling.
Available Events
| Event | Triggered when |
|---|---|
entity.created |
A new entity (product record) is created |
entity.updated |
An entity's attribute values are updated |
entity.deleted |
An entity is deleted |
entity.transition |
An entity transitions between lifecycle states (e.g. Draft to Review) |
variant.created |
A new variant is created under an entity |
variant.updated |
A variant's attribute values are updated |
variant.deleted |
A variant is deleted |
HMAC Verification
If a secret is set, each delivery includes an X-Sigma-Signature header containing an HMAC-SHA256 of the request body. Verify it to ensure authenticity.
Retry Policy
Failed deliveries (non-2xx responses) are retried up to 3 times with exponential backoff: 10s, 60s, 300s.
Idempotency
Each webhook delivery includes a unique deliveryId. Use it to deduplicate in case of retries.
Active/Inactive
Set active: false to pause a webhook without deleting its configuration. Re-enable at any time.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /webhooks |
List all webhooks |
| GET | /webhooks/:id |
Get webhook by ID |
| POST | /webhooks |
Create a new webhook |
| PUT | /webhooks/:id |
Update a webhook |
| DELETE | /webhooks/:id |
Delete a webhook |
List all webhooks
Returns all configured webhooks for the current tenant.
Get webhook by ID
Returns a single webhook with its full configuration including subscribed events.
Create webhook
Create a new webhook subscription. Specify the target URL, events to subscribe to, and an optional HMAC secret for signature verification.
Request body
| Field | Type | Description |
|---|---|---|
id |
string | Unique identifier for the webhook |
name |
string | Human-readable name |
description |
string? | Optional description |
url |
string | Target URL to receive POST notifications |
events |
string[] | Events to subscribe to (see table above) |
secret |
string? | HMAC secret for signature verification |
active |
boolean | Whether the webhook is active |
Update webhook
Update an existing webhook. Send the full webhook object. You can change the subscribed events, URL, or toggle active status.
Delete webhook
Permanently delete a webhook. No further events will be delivered to the configured URL.
Webhook Payload Shape
When an event fires, Sigma PIM sends a POST request to the webhook URL with the following JSON payload. The data object varies by event type.
Verifying Signatures
If you provided a secret when creating the webhook, verify the X-Sigma-Signature header to ensure the request is authentic.