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
    • Welcome to Struct PIM 4
    • 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
    • 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

Attributes

PreviousAttributeGroupsNextAttributeScopes

Attributes are the central element in the system. They describe the data fields available on entities such as products, variants, categories and global list values. A range of attribute types exist to allow for flexible modelling of your data structure.

Delete an attribute

delete
Authorizations
Query parameters
uidstring · uuidOptional

Unique id of attribute to delete

Responses
200
OK
400
Bad Request
delete
DELETE /v1/attributes HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*

No content

Get a specific attribute

get
Authorizations
Path parameters
uidstring · uuidRequired

Unique id of attribute to get

Responses
200
OK
400
Bad Request
get
GET /v1/attributes/{uid} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
{
  "Uid": "123e4567-e89b-12d3-a456-426614174000",
  "Alias": "text",
  "BackofficeName": "text",
  "BackofficeDescription": "text",
  "Name": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "Description": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "AttributeGroupUid": "123e4567-e89b-12d3-a456-426614174000",
  "AttributeScopes": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "Localized": true,
  "FallbackLanguage": 1,
  "DimensionUid": "123e4567-e89b-12d3-a456-426614174000",
  "FallbackSegment": "123e4567-e89b-12d3-a456-426614174000",
  "ReadOnly": true,
  "Mandatory": true,
  "Columns": 1,
  "Unchangeable": true,
  "AttributeType": "text",
  "DisableRevisionLogging": true,
  "DisableIndexing": true
}

Get references to an attribute from other attributes

get

#Available from v.3.5.0

Authorizations
Path parameters
uidstring · uuidRequired

Uid of attribute

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

OK

{
  "AttributeUid": "123e4567-e89b-12d3-a456-426614174000",
  "ReferencingCategories": [
    1
  ],
  "ReferencesOnCategoryAttributes": [
    {
      "EntityId": 1,
      "AttributeUid": "123e4567-e89b-12d3-a456-426614174000"
    }
  ],
  "ReferencesOnProductAttributes": [
    {
      "EntityId": 1,
      "AttributeUid": "123e4567-e89b-12d3-a456-426614174000"
    }
  ],
  "ReferencesOnVariantAttributes": [
    {
      "EntityId": 1,
      "AttributeUid": "123e4567-e89b-12d3-a456-426614174000"
    }
  ],
  "ReferencingGlobalListValues": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "ReferencingProductStructures": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "ReferencingVariationDefinitions": [
    "123e4567-e89b-12d3-a456-426614174000"
  ]
}
  • GETGet all attributes in the system
  • POSTCreate an attribute
  • PUTUpdate an attribute
  • DELETEDelete an attribute
  • GETGet a specific attribute
  • POSTGet a batch of attributes
  • GETGet references to an attribute from other attributes
  • POSTGet references from other attributes to a batch of attributes

Get all attributes in the system

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

OK

[
  {
    "Uid": "123e4567-e89b-12d3-a456-426614174000",
    "Alias": "text",
    "BackofficeName": "text",
    "BackofficeDescription": "text",
    "Name": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "Description": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "AttributeGroupUid": "123e4567-e89b-12d3-a456-426614174000",
    "AttributeScopes": [
      "123e4567-e89b-12d3-a456-426614174000"
    ],
    "Localized": true,
    "FallbackLanguage": 1,
    "DimensionUid": "123e4567-e89b-12d3-a456-426614174000",
    "FallbackSegment": "123e4567-e89b-12d3-a456-426614174000",
    "ReadOnly": true,
    "Mandatory": true,
    "Columns": 1,
    "Unchangeable": true,
    "AttributeType": "text",
    "DisableRevisionLogging": true,
    "DisableIndexing": true
  }
]

Create an attribute

post
Authorizations
Body

Represents an attribute in Struct PIM which can be attached to product, variant or category data models

Uidstring · uuidOptional

Unique id of attribute

Aliasstring | nullableOptional

Unique alias of attribute. Max length is 50 characters and can only consist of letters a-z/A-Z and numbers 0-9 (but cannot start with a number)

BackofficeNamestring | nullableOptional

The name of the attribute displayed to the editor in the PIM backoffice

BackofficeDescriptionstring | nullableOptional

The description of the attribute displayed to the editor in the PIM backoffice

AttributeGroupUidstring · uuid | nullableOptional

The id of the attribute group this attribute is placed within

AttributeScopesstring · uuid[] | nullableOptional

Unique ids of the attribute scopes this attribute is placed within

LocalizedbooleanOptional

Indicates whether values of this attribute are localized

FallbackLanguageinteger · int32 | nullableOptional

Indicates a fallback language in case attribute is localized and no value is added to a specific language

DimensionUidstring · uuid | nullableOptional

Unique id of Dimension to segment values of this attribute on

FallbackSegmentstring · uuid | nullableOptional

Indicates a fallback segment in case attribute is dimensioned and no value is added to a specific segment of that dimension

ReadOnlybooleanOptional

Indicates whether this attribute is always readonly. NOTE: Only applied when attribute is a sub attribute of a complex attribute.

MandatorybooleanOptional

Indicates whether this attribute is always mandatory. NOTE: Only applied when attribute is a sub attribute of a complex attribute.

Columnsinteger · int32Optional

The number of columns this attribute should span in the PIM backoffice (1-12)

UnchangeablebooleanOptional

Indicates whether this attribute cannot change its value, once it has a value assigned. NOTE: Only applied when attribute is a sub attribute of a complex attribute.

AttributeTypestring | nullableRead-onlyOptional

Type of attribute

DisableRevisionLoggingbooleanOptional

Disable all revision logging for this attribute

DisableIndexingbooleanOptional

Disable indexing for this attribute

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

{
  "Uid": "123e4567-e89b-12d3-a456-426614174000",
  "Alias": "text",
  "BackofficeName": "text",
  "BackofficeDescription": "text",
  "Name": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "Description": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "AttributeGroupUid": "123e4567-e89b-12d3-a456-426614174000",
  "AttributeScopes": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "Localized": true,
  "FallbackLanguage": 1,
  "DimensionUid": "123e4567-e89b-12d3-a456-426614174000",
  "FallbackSegment": "123e4567-e89b-12d3-a456-426614174000",
  "ReadOnly": true,
  "Mandatory": true,
  "Columns": 1,
  "Unchangeable": true,
  "DisableRevisionLogging": true,
  "DisableIndexing": true
}

No content

Update an attribute

put
Authorizations
Body

Represents an attribute in Struct PIM which can be attached to product, variant or category data models

Uidstring · uuidOptional

Unique id of attribute

Aliasstring | nullableOptional

Unique alias of attribute. Max length is 50 characters and can only consist of letters a-z/A-Z and numbers 0-9 (but cannot start with a number)

BackofficeNamestring | nullableOptional

The name of the attribute displayed to the editor in the PIM backoffice

BackofficeDescriptionstring | nullableOptional

The description of the attribute displayed to the editor in the PIM backoffice

AttributeGroupUidstring · uuid | nullableOptional

The id of the attribute group this attribute is placed within

AttributeScopesstring · uuid[] | nullableOptional

Unique ids of the attribute scopes this attribute is placed within

LocalizedbooleanOptional

Indicates whether values of this attribute are localized

FallbackLanguageinteger · int32 | nullableOptional

Indicates a fallback language in case attribute is localized and no value is added to a specific language

DimensionUidstring · uuid | nullableOptional

Unique id of Dimension to segment values of this attribute on

FallbackSegmentstring · uuid | nullableOptional

Indicates a fallback segment in case attribute is dimensioned and no value is added to a specific segment of that dimension

ReadOnlybooleanOptional

Indicates whether this attribute is always readonly. NOTE: Only applied when attribute is a sub attribute of a complex attribute.

MandatorybooleanOptional

Indicates whether this attribute is always mandatory. NOTE: Only applied when attribute is a sub attribute of a complex attribute.

Columnsinteger · int32Optional

The number of columns this attribute should span in the PIM backoffice (1-12)

UnchangeablebooleanOptional

Indicates whether this attribute cannot change its value, once it has a value assigned. NOTE: Only applied when attribute is a sub attribute of a complex attribute.

AttributeTypestring | nullableRead-onlyOptional

Type of attribute

DisableRevisionLoggingbooleanOptional

Disable all revision logging for this attribute

DisableIndexingbooleanOptional

Disable indexing for this attribute

Responses
200
OK
400
Bad Request
put
PUT /v1/attributes HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 592

{
  "Uid": "123e4567-e89b-12d3-a456-426614174000",
  "Alias": "text",
  "BackofficeName": "text",
  "BackofficeDescription": "text",
  "Name": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "Description": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "AttributeGroupUid": "123e4567-e89b-12d3-a456-426614174000",
  "AttributeScopes": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "Localized": true,
  "FallbackLanguage": 1,
  "DimensionUid": "123e4567-e89b-12d3-a456-426614174000",
  "FallbackSegment": "123e4567-e89b-12d3-a456-426614174000",
  "ReadOnly": true,
  "Mandatory": true,
  "Columns": 1,
  "Unchangeable": true,
  "DisableRevisionLogging": true,
  "DisableIndexing": true
}

No content

Get a batch of attributes

post
Authorizations
Body
string · uuid[]Optional
Responses
200
OK
400
Bad Request
post
POST /v1/attributes/batch HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 40

[
  "123e4567-e89b-12d3-a456-426614174000"
]
[
  {
    "Uid": "123e4567-e89b-12d3-a456-426614174000",
    "Alias": "text",
    "BackofficeName": "text",
    "BackofficeDescription": "text",
    "Name": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "Description": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "AttributeGroupUid": "123e4567-e89b-12d3-a456-426614174000",
    "AttributeScopes": [
      "123e4567-e89b-12d3-a456-426614174000"
    ],
    "Localized": true,
    "FallbackLanguage": 1,
    "DimensionUid": "123e4567-e89b-12d3-a456-426614174000",
    "FallbackSegment": "123e4567-e89b-12d3-a456-426614174000",
    "ReadOnly": true,
    "Mandatory": true,
    "Columns": 1,
    "Unchangeable": true,
    "AttributeType": "text",
    "DisableRevisionLogging": true,
    "DisableIndexing": true
  }
]

Get references from other attributes to a batch of attributes

post

#Available from v.3.5.0 No more than 5000 values can be requested at a time.

Authorizations
Body
string · uuid[]Optional
Responses
200
OK
post
POST /v1/attributes/batch/references HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 40

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

OK

[
  {
    "AttributeUid": "123e4567-e89b-12d3-a456-426614174000",
    "ReferencingCategories": [
      1
    ],
    "ReferencesOnCategoryAttributes": [
      {
        "EntityId": 1,
        "AttributeUid": "123e4567-e89b-12d3-a456-426614174000"
      }
    ],
    "ReferencesOnProductAttributes": [
      {
        "EntityId": 1,
        "AttributeUid": "123e4567-e89b-12d3-a456-426614174000"
      }
    ],
    "ReferencesOnVariantAttributes": [
      {
        "EntityId": 1,
        "AttributeUid": "123e4567-e89b-12d3-a456-426614174000"
      }
    ],
    "ReferencingGlobalListValues": [
      "123e4567-e89b-12d3-a456-426614174000"
    ],
    "ReferencingProductStructures": [
      "123e4567-e89b-12d3-a456-426614174000"
    ],
    "ReferencingVariationDefinitions": [
      "123e4567-e89b-12d3-a456-426614174000"
    ]
  }
]