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

Transactions

PreviousPublicationsNextUserGroup

Every change in is recorded in a transaction. Use the transaction endpoints to get information on transactions and changes to entities within each of these.

Search transactions. Returns paged result set with a page size of 1000

get
Authorizations
Query parameters
pageinteger · int32Optional

Page to return results for (1 is first page)

Default: 1
fromTimestampstring · date-timeOptional

Query transactions committed after this timestamp

toTimestampstring · date-timeOptional

Query transactions committed before this timestamp

usernamestringOptional

Query transactions made by this username

Responses
200
OK
get
GET /v1/transactions/search HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

{
  "Uid": "123e4567-e89b-12d3-a456-426614174000",
  "TransactionType": "text",
  "Username": "text",
  "StartTimestamp": "2025-05-09T12:45:00.680Z",
  "CommitTimestamp": "2025-05-09T12:45:00.680Z"
}

Get an entity's changes

get
Authorizations
Path parameters
entityTypestringRequired

Type of entity (Can be Product, Variant, Category or GlobalListValue)

entityIdstringRequired

Id of entity

Responses
200
OK
get
GET /v1/transactions/{entityType}/{entityId}/revisiondata HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

[
  {
    "FieldName": "text",
    "LastChange": {
      "RevisionNo": 1,
      "RevisionValue": "text",
      "ValueBefore": "text",
      "Timestamp": "2025-05-09T12:45:00.680Z",
      "Username": "text",
      "TransactionType": "text"
    },
    "ItemRevisionChange": [
      {
        "RevisionNo": 1,
        "RevisionValue": "text",
        "ValueBefore": "text",
        "Timestamp": "2025-05-09T12:45:00.680Z",
        "Username": "text",
        "TransactionType": "text"
      }
    ]
  }
]

Get entities changed in a specific transaction

get
Authorizations
Path parameters
uidstring · uuidRequired

Unique id of transaction to get changes for

Query parameters
entityTypesstringOptional

Comma separated list of entity types to return (valid entity types are Category, Product, Variant, GlobalListValue)

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

OK

{
  "EntityType": "text",
  "EntityId": "text",
  "RevisionNo": 1,
  "TransactionUid": "123e4567-e89b-12d3-a456-426614174000"
}

Get an entity's changes for in a specific revision

get
Authorizations
Path parameters
entityTypestringRequired

Type of entity (Can be Product, Variant, Category or GlobalListValue)

entityIdstringRequired

Id of entity

revisionNointeger · int32Required

Revision to get changes for

Responses
200
OK
get
GET /v1/transactions/changes/{entityType}/{entityId}/{revisionNo} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

[
  {
    "EntityType": "text",
    "EntityId": "text",
    "RevisionNo": 1,
    "DataType": "text"
  }
]
  • GETGet a specific transaction
  • POSTGet a batch of transactions
  • GETSearch transactions. Returns paged result set with a page size of 1000
  • GETGet an entity's changes
  • GETGet entities changed in a specific transaction
  • POSTGet entities changed in a batch of transactions
  • GETGet an entity's changes for in a specific revision
  • POSTGet revision changes for a batch of entities

Get a specific transaction

get
Authorizations
Path parameters
uidstring · uuidRequired

Unique id of transaction

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

OK

{
  "Uid": "123e4567-e89b-12d3-a456-426614174000",
  "TransactionType": "text",
  "Username": "text",
  "StartTimestamp": "2025-05-09T12:45:00.680Z",
  "CommitTimestamp": "2025-05-09T12:45:00.680Z"
}

Get a batch of transactions

post
Authorizations
Body
string · uuid[]Optional
Responses
200
OK
post
POST /v1/transactions/batch 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

{
  "Uid": "123e4567-e89b-12d3-a456-426614174000",
  "TransactionType": "text",
  "Username": "text",
  "StartTimestamp": "2025-05-09T12:45:00.680Z",
  "CommitTimestamp": "2025-05-09T12:45:00.680Z"
}

Get entities changed in a batch of transactions

post

A maximum of 5000 transactions can be fetched at a time

Authorizations
Query parameters
entityTypesstringOptional

Comma separated list of entity types to return (valid entity types are Category, Product, Variant, GlobalListValue)

Body
string · uuid[]Optional
Responses
200
OK
post
POST /v1/transactions/batch/changedentities 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

{
  "EntityType": "text",
  "EntityId": "text",
  "RevisionNo": 1,
  "TransactionUid": "123e4567-e89b-12d3-a456-426614174000"
}

Get revision changes for a batch of entities

post
Authorizations
Body

Model for requesting revision changes

EntityTypestring | nullableOptional

Type of entity

EntityIdstring | nullableOptional

Unique id of entity

RevisionNointeger · int32Optional

Revision number

Responses
200
OK
post
POST /v1/transactions/changes/batch HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 56

[
  {
    "EntityType": "text",
    "EntityId": "text",
    "RevisionNo": 1
  }
]
200

OK

[
  {
    "EntityType": "text",
    "EntityId": "text",
    "RevisionNo": 1,
    "DataType": "text"
  }
]