Webhooks
Webhooks are used to notify external systems of changes within Struct PIM through a web request
#Available from v.3.11.0
Authorizations
AuthorizationstringRequired
Path parameters
uidstring · uuidRequired
Uid of webhook
Responses
200
OK
application/json
get
/v1/webhooks/{uid}GET /v1/webhooks/{uid} HTTP/1.1
Host:
Authorization: YOUR_API_KEY
Accept: */*
200
OK
{
"Uid": "708de479-ad79-4668-af49-cf2bee48ae3e",
"Title": "Website integration",
"Url": "https://someeventhub.com/triggerme",
"Active": true,
"EnabledEvents": [
"variants:created",
"variants:updated",
"variants:deleted"
],
"AdvancedSettings": {
"variants:updated": {
"ConditionalTriggering": true,
"TriggerOnProductIdUpdates": false,
"TriggerOnVariantGroupIdUpdates": false,
"TriggerOnSortOrderUpdates": false,
"TriggerOnVariantGroupSortOrderUpdates": false,
"TriggerOnArchivingUpdates": false,
"TriggerOnAttributeUpdates": {},
"AttributesToTriggerOn": null,
"DataModelType": {},
"EventSettingsType": "VariantsUpdatedEventArgsAdvancedSettings"
}
},
"RequestHeaders": []
}Authorizations
AuthorizationstringRequired
Responses
200
OK
application/json
get
/v1/webhooksGET /v1/webhooks HTTP/1.1
Host:
Authorization: YOUR_API_KEY
Accept: */*
200
OK
[
{
"Uid": "1c2d98d6-ffb5-48ba-a590-11c3a41b60b6",
"Title": "Website integration",
"Url": "https://someeventhub.com/triggerme",
"Active": true,
"EnabledEvents": [
"variants:created",
"variants:updated",
"variants:deleted"
],
"AdvancedSettings": {
"variants:updated": {
"ConditionalTriggering": true,
"TriggerOnProductIdUpdates": false,
"TriggerOnVariantGroupIdUpdates": false,
"TriggerOnSortOrderUpdates": false,
"TriggerOnVariantGroupSortOrderUpdates": false,
"TriggerOnArchivingUpdates": false,
"TriggerOnAttributeUpdates": {},
"AttributesToTriggerOn": null,
"DataModelType": {},
"EventSettingsType": "VariantsUpdatedEventArgsAdvancedSettings"
}
},
"RequestHeaders": []
},
{
"Uid": "afd3dae3-5381-446a-a5e1-db8ac7186262",
"Title": "Website integration",
"Url": "https://integrations.com/productupdate",
"Active": true,
"EnabledEvents": [
"products:created",
"products:updated"
],
"AdvancedSettings": null,
"RequestHeaders": []
}
]Authorizations
AuthorizationstringRequired
Body
Model representing a webhook
Uidstring · uuidOptional
Unique id of webhook
Titlestring | nullableOptional
Title of webhook
Urlstring | nullableOptional
Url for the webhook to request when triggered
ActivebooleanOptional
Activate / deactivate webhook
EnabledEventsstring[] | nullableOptional
Events this webhook shall act on
Responses
200
OK
No content
post
/v1/webhooksPOST /v1/webhooks HTTP/1.1
Host:
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 628
{
"Uid": "a6eb804c-27c8-4459-b0e7-e29aecee7188",
"Title": "Website integration",
"Url": "https://someeventhub.com/triggerme",
"Active": true,
"EnabledEvents": [
"variants:created",
"variants:updated",
"variants:deleted"
],
"AdvancedSettings": {
"variants:updated": {
"ConditionalTriggering": true,
"TriggerOnProductIdUpdates": false,
"TriggerOnVariantGroupIdUpdates": false,
"TriggerOnSortOrderUpdates": false,
"TriggerOnVariantGroupSortOrderUpdates": false,
"TriggerOnArchivingUpdates": false,
"TriggerOnAttributeUpdates": {},
"AttributesToTriggerOn": null,
"DataModelType": {},
"EventSettingsType": "VariantsUpdatedEventArgsAdvancedSettings"
}
},
"RequestHeaders": []
}200
OK
No content
Authorizations
AuthorizationstringRequired
Body
Model representing a webhook
Uidstring · uuidOptional
Unique id of webhook
Titlestring | nullableOptional
Title of webhook
Urlstring | nullableOptional
Url for the webhook to request when triggered
ActivebooleanOptional
Activate / deactivate webhook
EnabledEventsstring[] | nullableOptional
Events this webhook shall act on
Responses
200
OK
No content
put
/v1/webhooksPUT /v1/webhooks HTTP/1.1
Host:
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 628
{
"Uid": "4881363b-9793-45a1-a652-560a4b3699af",
"Title": "Website integration",
"Url": "https://someeventhub.com/triggerme",
"Active": true,
"EnabledEvents": [
"variants:created",
"variants:updated",
"variants:deleted"
],
"AdvancedSettings": {
"variants:updated": {
"ConditionalTriggering": true,
"TriggerOnProductIdUpdates": false,
"TriggerOnVariantGroupIdUpdates": false,
"TriggerOnSortOrderUpdates": false,
"TriggerOnVariantGroupSortOrderUpdates": false,
"TriggerOnArchivingUpdates": false,
"TriggerOnAttributeUpdates": {},
"AttributesToTriggerOn": null,
"DataModelType": {},
"EventSettingsType": "VariantsUpdatedEventArgsAdvancedSettings"
}
},
"RequestHeaders": []
}200
OK
No content
Authorizations
AuthorizationstringRequired
Path parameters
webhookUidstring · uuidRequired
Uid of webhook
Query parameters
sincestring · date-timeOptional
return webhook requests newer than this timestamp
onlyFailedbooleanOptional
Only return failed webhook requests
pageinteger · int32Optional
Page to get (1 is first page)
Responses
200
OK
application/json
get
/v1/webhooks/{webhookUid}/requestsGET /v1/webhooks/{webhookUid}/requests HTTP/1.1
Host:
Authorization: YOUR_API_KEY
Accept: */*
200
OK
{
"WebhookRequests": [
{
"Uid": "715782e7-e7a6-4b81-859b-ba796959e702",
"WebhookUid": "578f4c10-0994-4c59-8bc1-39d0305ad94f",
"WebhookUrl": "https://structintegration.com/pimevent",
"EventKey": "products:updated",
"EventTimestamp": "2025-11-03T22:40:49.1774518+01:00",
"RequestTimestamp": "2025-11-03T22:40:49.1874662+01:00",
"RequestHeaders": {
"X-Event-Key": "products:updated",
"X-User": "[email protected]",
"X-Hook-UID": "578f4c10-0994-4c59-8bc1-39d0305ad94f",
"X-Request-UID": "715782e7-e7a6-4b81-859b-ba796959e702"
},
"RequestBody": "{\"ProductIds\":[2385147],\"TransactionUid\":\"40239249-8feb-4e22-b854-fd693ce1d8a7\"}",
"ElapsedMilliseconds": 57,
"ResponseCode": 200,
"ResponseHeaders": {
"Pragma": "no-cache",
"Cache-Control": "no-cache",
"Date": "Fri, 03 Feb 2023 13:07:40 GMT"
},
"ParentWebhookRequestUid": "9dda0fc0-9b2f-4d2c-b106-4d98302d8231",
"IsRetry": false
}
],
"Page": 1,
"TotalHits": 1
}Get a specific request made from a webhook. Note that webhook requests are only stored for 14 days
get
Authorizations
AuthorizationstringRequired
Path parameters
webhookUidstring · uuidRequired
Uid of webhook
requestUidstring · uuidRequired
Uid of webhook request
Responses
200
OK
application/json
get
/v1/webhooks/{webhookUid}/requests/{requestUid}GET /v1/webhooks/{webhookUid}/requests/{requestUid} HTTP/1.1
Host:
Authorization: YOUR_API_KEY
Accept: */*
200
OK
{
"Uid": "715782e7-e7a6-4b81-859b-ba796959e702",
"WebhookUid": "578f4c10-0994-4c59-8bc1-39d0305ad94f",
"WebhookUrl": "https://structintegration.com/pimevent",
"EventKey": "products:updated",
"EventTimestamp": "2025-11-03T22:40:49.1780709+01:00",
"RequestTimestamp": "2025-11-03T22:40:49.1880722+01:00",
"RequestHeaders": {
"X-Event-Key": "products:updated",
"X-User": "[email protected]",
"X-Hook-UID": "578f4c10-0994-4c59-8bc1-39d0305ad94f",
"X-Request-UID": "715782e7-e7a6-4b81-859b-ba796959e702"
},
"RequestBody": "{\"ProductIds\":[2385147],\"TransactionUid\":\"40239249-8feb-4e22-b854-fd693ce1d8a7\"}",
"ElapsedMilliseconds": 57,
"ResponseCode": 200,
"ResponseHeaders": {
"Pragma": "no-cache",
"Cache-Control": "no-cache",
"Date": "Fri, 03 Feb 2023 13:07:40 GMT"
},
"ParentWebhookRequestUid": "4860f963-f500-4216-95e3-94fb01ee40b9",
"IsRetry": false
}Last updated