Struct Docs
Struct.PIM 4
Struct.PIM 4
  • Struct PIM Documentation
  • API Reference
  • Latest updates from Struct HQ
  • Latest updates in Documentation
  • Fundamental concepts
    • Get familiar with Struct PIM
    • Catalogues & categories
    • Products & variants
    • Attributes
    • Product structures
    • Identifiers
    • Global lists
    • Localization & segmentation
    • Revisions & changelog
    • Publications
    • Supplier onboarding portal
  • Tutorials
    • Helpful guides
      • How to search efficiently
      • How to use Import
        • How to import products
        • How to import data into a list property on entities
        • How to import categories
        • How to import with media
        • How to use File templates
    • Example projects
      • Working with the API
  • Integration
    • Integrate with Struct PIM
    • Web API
    • Webhooks
  • Media format
  • API Reference
    • Introduction
    • Endpoints
      • AssetFolders
      • Assets
      • AssetTypes
      • AttributeGroups
      • Attributes
      • AttributeScopes
      • Browse
      • BusinessUnits
      • Catalogues
      • Categories
      • Dimensions
      • Exports
      • EnrichmentInsightSetups
      • GlobalLists
      • Languages
      • Maintenance
      • Miscellaneous
      • Messaging
      • Permissions
      • Products
      • ProductStructures
      • Publications
      • Transactions
      • UserGroup
      • UserRoles
      • Users
      • VariantGroups
      • UserTasks
      • Variants
      • Webhooks
      • Workflows
      • Models
Powered by GitBook
On this page
  1. API Reference
  2. Endpoints

Webhooks

PreviousVariantsNextWorkflows

Webhooks are used to notify external systems of changes within Struct PIM through a web request

Get a webhook

get

#Available from v.3.11.0

Authorizations
Path parameters
uidstring · uuidRequired

Uid of webhook

Responses
200
OK
get
GET /v1/webhooks/{uid} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

{
  "Uid": "123e4567-e89b-12d3-a456-426614174000",
  "Title": "text",
  "Url": "text",
  "Active": true,
  "EnabledEvents": [
    "text"
  ],
  "AdvancedSettings": {
    "ANY_ADDITIONAL_PROPERTY": {
      "EventSettingsType": "text"
    }
  },
  "RequestHeaders": [
    {
      "Name": "text",
      "Value": "text"
    }
  ]
}

Delete a webhook

delete
Authorizations
Path parameters
uidstring · uuidRequired

Uid of webhook to delete

Responses
200
OK
delete
DELETE /v1/webhooks/{uid} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

No content

Get all configured webhooks

get
Authorizations
Responses
200
OK
get
GET /v1/webhooks HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

[
  {
    "Uid": "123e4567-e89b-12d3-a456-426614174000",
    "Title": "text",
    "Url": "text",
    "Active": true,
    "EnabledEvents": [
      "text"
    ],
    "AdvancedSettings": {
      "ANY_ADDITIONAL_PROPERTY": {
        "EventSettingsType": "text"
      }
    },
    "RequestHeaders": [
      {
        "Name": "text",
        "Value": "text"
      }
    ]
  }
]

Get requests made from a webhook. Note that webhook requests are only stored for 14 days

get
Authorizations
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
get
GET /v1/webhooks/{webhookUid}/requests HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

{
  "WebhookRequests": [
    {
      "Uid": "123e4567-e89b-12d3-a456-426614174000",
      "WebhookUid": "123e4567-e89b-12d3-a456-426614174000",
      "WebhookUrl": "text",
      "EventKey": "text",
      "EventTimestamp": "2025-05-09T13:02:05.006Z",
      "RequestTimestamp": "2025-05-09T13:02:05.006Z",
      "RequestHeaders": {
        "ANY_ADDITIONAL_PROPERTY": "text"
      },
      "RequestBody": "text",
      "ElapsedMilliseconds": 1,
      "ResponseCode": 1,
      "ResponseHeaders": {
        "ANY_ADDITIONAL_PROPERTY": "text"
      },
      "ParentWebhookRequestUid": "123e4567-e89b-12d3-a456-426614174000",
      "IsRetry": true
    }
  ],
  "Page": 1,
  "TotalHits": 1
}

Get a specific request made from a webhook. Note that webhook requests are only stored for 14 days

get
Authorizations
Path parameters
webhookUidstring · uuidRequired

Uid of webhook

requestUidstring · uuidRequired

Uid of webhook request

Responses
200
OK
get
GET /v1/webhooks/{webhookUid}/requests/{requestUid} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

{
  "Uid": "123e4567-e89b-12d3-a456-426614174000",
  "WebhookUid": "123e4567-e89b-12d3-a456-426614174000",
  "WebhookUrl": "text",
  "EventKey": "text",
  "EventTimestamp": "2025-05-09T13:02:05.006Z",
  "RequestTimestamp": "2025-05-09T13:02:05.006Z",
  "RequestHeaders": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "RequestBody": "text",
  "ElapsedMilliseconds": 1,
  "ResponseCode": 1,
  "ResponseHeaders": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "ParentWebhookRequestUid": "123e4567-e89b-12d3-a456-426614174000",
  "IsRetry": true
}
  • GETGet a webhook
  • DELETEDelete a webhook
  • GETGet all configured webhooks
  • POSTCreate a new webhook
  • PUTUpdate a webhook
  • GETGet requests made from a webhook. Note that webhook requests are only stored for 14 days
  • GETGet a specific request made from a webhook. Note that webhook requests are only stored for 14 days

Create a new webhook

post
Authorizations
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
post
POST /v1/webhooks HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 213

{
  "Uid": "123e4567-e89b-12d3-a456-426614174000",
  "Title": "text",
  "Url": "text",
  "Active": true,
  "EnabledEvents": [
    "text"
  ],
  "AdvancedSettings": {
    "ANY_ADDITIONAL_PROPERTY": {}
  },
  "RequestHeaders": [
    {
      "Name": "text",
      "Value": "text"
    }
  ]
}
200

OK

No content

Update a webhook

put
Authorizations
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
put
PUT /v1/webhooks HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 213

{
  "Uid": "123e4567-e89b-12d3-a456-426614174000",
  "Title": "text",
  "Url": "text",
  "Active": true,
  "EnabledEvents": [
    "text"
  ],
  "AdvancedSettings": {
    "ANY_ADDITIONAL_PROPERTY": {}
  },
  "RequestHeaders": [
    {
      "Name": "text",
      "Value": "text"
    }
  ]
}
200

OK

No content