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

AssetFolders

PreviousEndpointsNextAssets

Assets are files that can be stored in the system and referenced on products, variants, categories and global list values. Assets uploaded to the system are assigned a URL based on the assets file name. Each image asset can be auto-scaled, cropped and formatted by adding parameters to the URL of the asset. Thus, you should only upload an image once in the highest quality you will need it and the system will take care of any scaling automatically. Assets are organized in folders, which can be nested within each other.

Get an asset folder by its uid

get
Authorizations
Path parameters
folderUidstring · uuidRequired

Uid of folder

Responses
200
OK
400
Bad Request
get
GET /v1/assetfolders/{folderUid} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
{
  "Uid": "123e4567-e89b-12d3-a456-426614174000",
  "Name": "text",
  "ParentUid": "123e4567-e89b-12d3-a456-426614174000",
  "IsPrivate": true,
  "ViewPermission": "123e4567-e89b-12d3-a456-426614174000",
  "CreatePermission": "123e4567-e89b-12d3-a456-426614174000",
  "DeletePermission": "123e4567-e89b-12d3-a456-426614174000",
  "Path": [
    {
      "Uid": "123e4567-e89b-12d3-a456-426614174000",
      "ParentUid": "123e4567-e89b-12d3-a456-426614174000",
      "Name": "text"
    }
  ],
  "CreateBy": "text",
  "LastModifiedBy": "text",
  "Created": "2025-05-09T12:48:50.673Z",
  "LastModified": "2025-05-09T12:48:50.673Z"
}

Delete an asset folder by its uid

delete
Authorizations
Path parameters
folderUidstring · uuidRequired

Uid of folder to delete

Responses
200
OK
400
Bad Request
delete
DELETE /v1/assetfolders/{folderUid} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*

No content

Get all child folders of a folder. Use empty Guid to get root folders (00000000-0000-0000-0000-000000000000).

get
Authorizations
Path parameters
folderUidstring · uuidRequired
Responses
200
OK
400
Bad Request
get
GET /v1/assetfolders/{folderUid}/children HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
[
  {
    "Uid": "123e4567-e89b-12d3-a456-426614174000",
    "Name": "text",
    "ParentUid": "123e4567-e89b-12d3-a456-426614174000",
    "IsPrivate": true,
    "ViewPermission": "123e4567-e89b-12d3-a456-426614174000",
    "CreatePermission": "123e4567-e89b-12d3-a456-426614174000",
    "DeletePermission": "123e4567-e89b-12d3-a456-426614174000",
    "Path": [
      {
        "Uid": "123e4567-e89b-12d3-a456-426614174000",
        "ParentUid": "123e4567-e89b-12d3-a456-426614174000",
        "Name": "text"
      }
    ],
    "CreateBy": "text",
    "LastModifiedBy": "text",
    "Created": "2025-05-09T12:48:50.673Z",
    "LastModified": "2025-05-09T12:48:50.673Z"
  }
]
  • GETGet an asset folder by its uid
  • DELETEDelete an asset folder by its uid
  • GETGet all child folders of a folder. Use empty Guid to get root folders (00000000-0000-0000-0000-000000000000).
  • POSTGet a list of asset folders by their uids
  • POSTCreate a new asset folder
  • PUTUpdate an existing asset folder

Get a list of asset folders by their uids

post
Authorizations
Body
string · uuid[]Optional
Responses
200
OK
400
Bad Request
post
POST /v1/assetfolders/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",
    "Name": "text",
    "ParentUid": "123e4567-e89b-12d3-a456-426614174000",
    "IsPrivate": true,
    "ViewPermission": "123e4567-e89b-12d3-a456-426614174000",
    "CreatePermission": "123e4567-e89b-12d3-a456-426614174000",
    "DeletePermission": "123e4567-e89b-12d3-a456-426614174000",
    "Path": [
      {
        "Uid": "123e4567-e89b-12d3-a456-426614174000",
        "ParentUid": "123e4567-e89b-12d3-a456-426614174000",
        "Name": "text"
      }
    ],
    "CreateBy": "text",
    "LastModifiedBy": "text",
    "Created": "2025-05-09T12:48:50.673Z",
    "LastModified": "2025-05-09T12:48:50.673Z"
  }
]

Create a new asset folder

post
Authorizations
Body

Folder information for creating a new folder

Uidstring · uuidOptional

Uid of the folder

Namestring | nullableOptional

Name of the folder

ParentUidstring · uuid | nullableOptional

Uid of the parent folder

IsPrivatebooleanOptional

Indicates whether files in this folder can only be accessed by authenticated users and not via public urls

ViewPermissionstring · uuid | nullableOptional

Uid of permission required to view files in this folder

CreatePermissionstring · uuid | nullableOptional

Uid of permission required to create files in this folder

DeletePermissionstring · uuid | nullableOptional

Uid of permission required to Delete files in this folder

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

{
  "Uid": "123e4567-e89b-12d3-a456-426614174000",
  "Name": "text",
  "ParentUid": "123e4567-e89b-12d3-a456-426614174000",
  "IsPrivate": true,
  "ViewPermission": "123e4567-e89b-12d3-a456-426614174000",
  "CreatePermission": "123e4567-e89b-12d3-a456-426614174000",
  "DeletePermission": "123e4567-e89b-12d3-a456-426614174000"
}

No content

Update an existing asset folder

put
Authorizations
Body

Model for updating an existing folder

Uidstring · uuidOptional

Unique id of folder

Namestring | nullableOptional

Name of folder

ParentUidstring · uuid | nullableOptional

Unique id of parent folder

IsPrivatebooleanOptional

Indicates whether files in this folder can only be accessed by authenticated users and not via public urls

ViewPermissionstring · uuid | nullableOptional

Unique id of permission required to view files in this folder

CreatePermissionstring · uuid | nullableOptional

Unique id of permission required to create files in this folder

DeletePermissionstring · uuid | nullableOptional

Unique id of permission required to Delete files in this folder

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

{
  "Uid": "123e4567-e89b-12d3-a456-426614174000",
  "Name": "text",
  "ParentUid": "123e4567-e89b-12d3-a456-426614174000",
  "IsPrivate": true,
  "ViewPermission": "123e4567-e89b-12d3-a456-426614174000",
  "CreatePermission": "123e4567-e89b-12d3-a456-426614174000",
  "DeletePermission": "123e4567-e89b-12d3-a456-426614174000"
}

No content