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

Catalogues

PreviousBusinessUnitsNextCategories

Catalogues are root elements in category structures used for organizing products logically. A master catalogue allows setting up attributes on categories that are then available on products in those categories. Different catalogues can be used for different assortments, category structures etc.

Get Uids of all catalogues in the system

get
Authorizations
Responses
200
OK
Responsestring · uuid[]
get
GET /v1/catalogues/uids HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

[
  "123e4567-e89b-12d3-a456-426614174000"
]

Get all catalogues in the system

get
Authorizations
Responses
200
OK
400
Bad Request
get
GET /v1/catalogues HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
[
  {
    "Uid": "123e4567-e89b-12d3-a456-426614174000",
    "Alias": "text",
    "Label": "text",
    "IsMaster": true,
    "SortOrder": 1,
    "IdentifierDefinitions": [
      {
        "Uid": "123e4567-e89b-12d3-a456-426614174000",
        "Alias": "text",
        "IdentifierPattern": "text",
        "IdentifierAttributes": [
          "123e4567-e89b-12d3-a456-426614174000"
        ]
      }
    ],
    "Configuration": {
      "NameConfiguration": {
        "NamePattern": "text",
        "NameAttributes": [
          "123e4567-e89b-12d3-a456-426614174000"
        ]
      },
      "CreateWizard": {
        "Uid": "123e4567-e89b-12d3-a456-426614174000",
        "Steps": [
          {
            "Uid": "123e4567-e89b-12d3-a456-426614174000",
            "Headline": "text",
            "Description": "text",
            "Type": "text"
          }
        ]
      },
      "Tabs": [
        {
          "Uid": "123e4567-e89b-12d3-a456-426614174000",
          "ViewPermission": "123e4567-e89b-12d3-a456-426614174000",
          "SavePermission": "123e4567-e89b-12d3-a456-426614174000",
          "Type": "text"
        }
      ]
    },
    "BusinessUnits": [
      "123e4567-e89b-12d3-a456-426614174000"
    ]
  }
]
delete
Authorizations
Query parameters
catalogueUidstring · uuidOptional
Responses
200
OK
delete
DELETE /v1/catalogues HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

No content

Get catalogue by its Uid

get
Authorizations
Path parameters
uidstring · uuidRequired

Unique id of catalogue

Responses
200
OK
400
Bad Request
404
Not Found
get
GET /v1/catalogues/{uid} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
{
  "Uid": "123e4567-e89b-12d3-a456-426614174000",
  "Alias": "text",
  "Label": "text",
  "IsMaster": true,
  "SortOrder": 1,
  "IdentifierDefinitions": [
    {
      "Uid": "123e4567-e89b-12d3-a456-426614174000",
      "Alias": "text",
      "IdentifierPattern": "text",
      "IdentifierAttributes": [
        "123e4567-e89b-12d3-a456-426614174000"
      ]
    }
  ],
  "Configuration": {
    "NameConfiguration": {
      "NamePattern": "text",
      "NameAttributes": [
        "123e4567-e89b-12d3-a456-426614174000"
      ]
    },
    "CreateWizard": {
      "Uid": "123e4567-e89b-12d3-a456-426614174000",
      "Steps": [
        {
          "Uid": "123e4567-e89b-12d3-a456-426614174000",
          "Headline": "text",
          "Description": "text",
          "Type": "text"
        }
      ]
    },
    "Tabs": [
      {
        "Uid": "123e4567-e89b-12d3-a456-426614174000",
        "ViewPermission": "123e4567-e89b-12d3-a456-426614174000",
        "SavePermission": "123e4567-e89b-12d3-a456-426614174000",
        "Type": "text"
      }
    ]
  },
  "BusinessUnits": [
    "123e4567-e89b-12d3-a456-426614174000"
  ]
}

Get all categories in a catalogue

get

No more than 5000 categories can be requested at a time. If no limit is provided, the default limit of 1000 will be used

Authorizations
Path parameters
uidstring · uuidRequired

Unique id of catalogue

Query parameters
limitinteger · int32Optional

Max number of categories til return

Default: 1000
afterIdinteger · int32Optional

Only return categories with id larger than this

Responses
200
OK
400
Bad Request
get
GET /v1/catalogues/{uid}/descendants HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
{
  "Categories": [
    {
      "Id": 1,
      "ParentId": 1,
      "SortOrder": 1,
      "CatalogueUid": "123e4567-e89b-12d3-a456-426614174000",
      "Created": "2025-05-09T12:11:33.113Z",
      "CreatedBy": "text",
      "LastModified": "2025-05-09T12:11:33.113Z",
      "LastModifiedBy": "text",
      "HasChildren": true,
      "Name": {
        "ANY_ADDITIONAL_PROPERTY": "text"
      },
      "Dynamic": true,
      "QuerySetup": {
        "ProductQuery": {
          "BooleanOperator": 0,
          "QueryModelType": "text"
        },
        "VariantGroupQuery": {
          "BooleanOperator": 0,
          "QueryModelType": "text"
        }
      },
      "WorkflowStateUid": "123e4567-e89b-12d3-a456-426614174000",
      "BusinessUnits": [
        {
          "AccessPolicy": "text",
          "BusinessUnitUid": "123e4567-e89b-12d3-a456-426614174000"
        }
      ]
    }
  ],
  "Total": 1,
  "Remaining": 1,
  "LastId": 1
}

Get all children to a catalogue

get
Authorizations
Path parameters
uidstring · uuidRequired

Unique id of catalogue

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

OK

[
  {
    "Id": 1,
    "ParentId": 1,
    "SortOrder": 1,
    "CatalogueUid": "123e4567-e89b-12d3-a456-426614174000",
    "Created": "2025-05-09T12:11:33.113Z",
    "CreatedBy": "text",
    "LastModified": "2025-05-09T12:11:33.113Z",
    "LastModifiedBy": "text",
    "HasChildren": true,
    "Name": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "Dynamic": true,
    "QuerySetup": {
      "ProductQuery": {
        "BooleanOperator": 0,
        "QueryModelType": "text"
      },
      "VariantGroupQuery": {
        "BooleanOperator": 0,
        "QueryModelType": "text"
      }
    },
    "WorkflowStateUid": "123e4567-e89b-12d3-a456-426614174000",
    "BusinessUnits": [
      {
        "AccessPolicy": "text",
        "BusinessUnitUid": "123e4567-e89b-12d3-a456-426614174000"
      }
    ]
  }
]
  • GETGet Uids of all catalogues in the system
  • GETGet all catalogues in the system
  • POSTCreate new catalogue
  • DELETE/v1/catalogues
  • PATCHUpdate a catalogue
  • GETGet catalogue by its Uid
  • GETGet all categories in a catalogue
  • GETGet all children to a catalogue

Create new catalogue

post

#Available from v.3.3.0

Authorizations
Body

Represents a catalogue in the PIM system

Uidstring · uuidOptional

Unique id of catalogue

Aliasstring | nullableOptional

Unique human readable alias for the catalogue

Labelstring | nullableOptional

Label of catalogue displayed in the backoffice

IsMasterbooleanOptional

Indicates whether this catalogue is the master catalogue (only one master catalogue can exist in the system)

SortOrderinteger · int32Optional

Sort order of the catalogue compared to other catalogues

BusinessUnitsstring · uuid[] | nullableOptional

This business units this catalogue is associated with

Responses
200
OK
400
Bad Request
post
POST /v1/catalogues HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 787

{
  "Uid": "123e4567-e89b-12d3-a456-426614174000",
  "Alias": "text",
  "Label": "text",
  "IsMaster": true,
  "SortOrder": 1,
  "IdentifierDefinitions": [
    {
      "Uid": "123e4567-e89b-12d3-a456-426614174000",
      "Alias": "text",
      "IdentifierPattern": "text",
      "IdentifierAttributes": [
        "123e4567-e89b-12d3-a456-426614174000"
      ]
    }
  ],
  "Configuration": {
    "NameConfiguration": {
      "NamePattern": "text",
      "NameAttributes": [
        "123e4567-e89b-12d3-a456-426614174000"
      ]
    },
    "CreateWizard": {
      "Uid": "123e4567-e89b-12d3-a456-426614174000",
      "Steps": [
        {
          "Uid": "123e4567-e89b-12d3-a456-426614174000",
          "Headline": "text",
          "Description": "text"
        }
      ]
    },
    "Tabs": [
      {
        "Uid": "123e4567-e89b-12d3-a456-426614174000",
        "ViewPermission": "123e4567-e89b-12d3-a456-426614174000",
        "SavePermission": "123e4567-e89b-12d3-a456-426614174000"
      }
    ]
  },
  "BusinessUnits": [
    "123e4567-e89b-12d3-a456-426614174000"
  ]
}

No content

Update a catalogue

patch

#Available from v.3.3.0

Authorizations
Body

Represents a catalogue in the PIM system

Uidstring · uuidOptional

Unique id of catalogue

Aliasstring | nullableOptional

Unique human readable alias for the catalogue

Labelstring | nullableOptional

Label of catalogue displayed in the backoffice

IsMasterbooleanOptional

Indicates whether this catalogue is the master catalogue (only one master catalogue can exist in the system)

SortOrderinteger · int32Optional

Sort order of the catalogue compared to other catalogues

BusinessUnitsstring · uuid[] | nullableOptional

This business units this catalogue is associated with

Responses
200
OK
400
Bad Request
patch
PATCH /v1/catalogues HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 787

{
  "Uid": "123e4567-e89b-12d3-a456-426614174000",
  "Alias": "text",
  "Label": "text",
  "IsMaster": true,
  "SortOrder": 1,
  "IdentifierDefinitions": [
    {
      "Uid": "123e4567-e89b-12d3-a456-426614174000",
      "Alias": "text",
      "IdentifierPattern": "text",
      "IdentifierAttributes": [
        "123e4567-e89b-12d3-a456-426614174000"
      ]
    }
  ],
  "Configuration": {
    "NameConfiguration": {
      "NamePattern": "text",
      "NameAttributes": [
        "123e4567-e89b-12d3-a456-426614174000"
      ]
    },
    "CreateWizard": {
      "Uid": "123e4567-e89b-12d3-a456-426614174000",
      "Steps": [
        {
          "Uid": "123e4567-e89b-12d3-a456-426614174000",
          "Headline": "text",
          "Description": "text"
        }
      ]
    },
    "Tabs": [
      {
        "Uid": "123e4567-e89b-12d3-a456-426614174000",
        "ViewPermission": "123e4567-e89b-12d3-a456-426614174000",
        "SavePermission": "123e4567-e89b-12d3-a456-426614174000"
      }
    ]
  },
  "BusinessUnits": [
    "123e4567-e89b-12d3-a456-426614174000"
  ]
}

No content