Data schemas
Quantities assigned to warehouse locations
AllocationData · Schema · Stock and inventory models
location_codeStringRequiredWarehouse location code.
location_idStringRequiredWarehouse location identifier.
location_nameStringRequiredWarehouse location name.
on_handIntegerRequiredPhysical stock quantity.
Additional fields: No
ApiResponse[CodeContentData]
ApiResponse_CodeContentData_ · Response containing a revealed code for one authorized stock unit or order allocation. This response contains secret content.
dataCodeContentDataRequiredSuccessful response payload.
metaContextPageMetaContextMetaPageMetaRequestMetaRequiredResponse metadata.
Additional fields: No
ApiResponse[DigitalUploadData]
ApiResponse_DigitalUploadData_ · Response containing upload state, checked byte count, checksum and expiration time.
dataDigitalUploadDataRequiredSuccessful response payload.
metaContextPageMetaContextMetaPageMetaRequestMetaRequiredResponse metadata.
Additional fields: No
ApiResponse[ImportData]
ApiResponse_ImportData_ · Response containing import state and validation result, with the linked delivery after commit.
dataImportDataRequiredSuccessful response payload.
metaContextPageMetaContextMetaPageMetaRequestMetaRequiredResponse metadata.
Additional fields: No
List stock records — Response
ApiResponse_list_StockData__ · Fields, types and constraints of data accepted or returned by the API.
dataArray <StockData> RequiredResponse example · ApiResponse_list_StockData__.
metaContextPageMetaContextMetaPageMetaRequestMetaRequiredResponse metadata.
Additional fields: No
ApiResponse[PoolData]
ApiResponse_PoolData_ · Response containing saved product pool settings, separate version counters and current stock totals.
dataPoolDataRequiredSuccessful response payload.
metaContextPageMetaContextMetaPageMetaRequestMetaRequiredResponse metadata.
Additional fields: No
Get a stock record — Response
ApiResponse_StockDetailData_ · Fields, types and constraints of data accepted or returned by the API.
dataStockDetailDataRequiredResponse example · StockDetailData.
metaContextPageMetaContextMetaPageMetaRequestMetaRequiredResponse metadata.
Additional fields: No
ApiResponse[UnitsData]
ApiResponse_UnitsData_ · Response containing a page of stock unit metadata and the current allocation-order version.
dataUnitsDataRequiredSuccessful response payload.
metaContextPageMetaContextMetaPageMetaRequestMetaRequiredResponse metadata.
Additional fields: No
CodeContentData
CodeContentData · A revealed code for one authorized stock unit or order allocation. This response contains secret content.
codeStringRequiredThe exact digital code. Preserve case and internal spaces.
minLength:1maxLength:512delivery_idString nullOptionalID of the delivery or allocation identified by this operation.
String:format:"uuid"kindStringOptionalVariant of the data structure described by its allowed values.
const:"code"payload_idStringRequiredID of the exact code or file content revision. It is not a public download URL.
format:"uuid"unit_idStringRequiredID of one individual code or file in the product pool.
format:"uuid"
Additional fields: No
DigitalUploadCreate
DigitalUploadCreate · File metadata and consumer identity used to reserve a private upload.
consumer_idStringRequiredID of the import or unit to which the upload is bound.
format:"uuid"consumer_kindStringRequiredUpload owner type: digital_import or digital_unit.
Constraints
enum["digital_import", "digital_unit"]
filenameStringRequiredFile
minLength:1maxLength:255purposeStringRequireddigital_import for TXT/CSV code lists; digital_unit for files sold individually.
Constraints
enum["digital_unit", "digital_import"]
sha256StringRequiredSHA-256 (hex, 64)
Constraints
pattern"^[0-9a-f]{64}$"
size_bytesIntegerRequiredSize in bytes
minimum:1maximum:262144000
Additional fields: No
DigitalUploadData
DigitalUploadData · Upload state, checked byte count, checksum and expiration time.
consumer_idStringRequiredID of the import or unit to which the upload is bound.
format:"uuid"consumer_kindStringRequiredUpload owner type: digital_import or digital_unit.
Constraints
enum["digital_import", "digital_unit"]
expires_atStringRequiredExpiration time of this upload or import.
format:"date-time"filenameStringRequiredFile
idStringRequiredResource identifier; preserve it as returned.
format:"uuid"product_idStringRequiredProduct identifier.
purposeStringRequireddigital_import for TXT/CSV code lists; digital_unit for files sold individually.
Constraints
enum["digital_unit", "digital_import"]
received_bytesIntegerRequiredUploading… · Size in bytes
sha256StringRequiredSHA-256 (hex, 64)
size_bytesIntegerRequiredSize in bytes
statusStringRequiredStatus accepted by this specific operation.
Additional fields: No
ImportCommit
ImportCommit · Validated batch and warehouse destination used to create a digital delivery.
delivered_atStringRequiredDelivery date and time.
format:"date-time"expected_delivery_versionIntegerRequiredCurrent warehouse delivery version, or 0 when creating the delivery.
minimum:0maximum:0expected_sales_limit_versionInteger nullOptionalCurrent sales-limit version; required only with publish_for_sale=true.
Integer:minimum:0maximum:9223372036854775807expected_versionIntegerRequiredVersion read before the write; a mismatch rejects the update.
minimum:1maximum:9223372036854775807location_idStringRequiredWarehouse location identifier.
Constraints
pattern"^[a-z0-9][a-z0-9_-]{0,62}$"
publish_for_saleBooleanOptionaltrue also increases the finite sales limit by the received quantity; false leaves that limit unchanged.
statusStringRequiredStatus accepted by this specific operation.
Constraints
enum["planned", "received"]
validation_digestStringRequiredOpaque checksum returned by validation. Copy it unchanged into commit.
Constraints
pattern"^[0-9a-f]{64}$"
warehouse_idStringRequiredWarehouse identifier.
Constraints
pattern"^[a-z0-9][a-z0-9_-]{0,62}$"
Additional fields: No
ImportCreate
ImportCreate · Kind and exact size of a new private import batch.
countIntegerRequiredExact number of units expected in this import.
minimum:1maximum:1000kindStringRequiredVariant of the data structure described by its allowed values.
Constraints
enum["code", "file"]
Additional fields: No
ImportData
ImportData · Import state and validation result, with the linked delivery after commit.
delivery_idString nullRequiredID of the delivery or allocation identified by this operation.
delivery_statusString nullRequiredWarehouse delivery status: planned or received; null before commit.
delivery_versionInteger nullRequiredCurrent warehouse delivery version; use it when receiving or correcting that delivery.
expected_countIntegerRequiredDeclared number of units in the batch. Validation must accept the entire batch.
expires_atStringRequiredExpiration time of this upload or import.
format:"date-time"idStringRequiredResource identifier; preserve it as returned.
format:"uuid"kindStringRequiredVariant of the data structure described by its allowed values.
Constraints
enum["code", "file"]
product_idStringRequiredProduct identifier.
statusStringRequiredStatus accepted by this specific operation.
validated_countIntegerRequiredNumber of units accepted by the most recent successful validation.
validation_digestString nullRequiredOpaque checksum returned by validation. Copy it unchanged into commit.
versionIntegerRequiredResource version used for concurrency control.
Additional fields: No
ImportReceive
ImportReceive · Current versions required to receive an existing planned delivery.
expected_delivery_versionIntegerRequiredCurrent warehouse delivery version, or 0 when creating the delivery.
minimum:1maximum:9223372036854775807expected_sales_limit_versionInteger nullOptionalCurrent sales-limit version; required only with publish_for_sale=true.
Integer:minimum:0maximum:9223372036854775807expected_versionIntegerRequiredVersion read before the write; a mismatch rejects the update.
minimum:1maximum:9223372036854775807publish_for_saleBooleanOptionaltrue also increases the finite sales limit by the received quantity; false leaves that limit unchanged.
Additional fields: No
ImportValidate
ImportValidate · Uploaded code list or file IDs to validate as one complete batch.
code_columnString nullOptionalCSV column containing the codes; use code. Omit for TXT or file batches.
String:const:"code"expected_versionIntegerRequiredVersion read before the write; a mismatch rejects the update.
minimum:1maximum:9223372036854775807formatString nullOptionalCode-list format: txt or csv. File batches use upload_ids instead.
Constraints · String 1
enum["txt", "csv"]
source_upload_idString nullOptionalReady private TXT/CSV upload owned by this import.
String:format:"uuid"upload_idsArray <String> nullOptionalReady private file uploads belonging to this import; 1–100 IDs.
Array:minItems:1maxItems:100Array / Array:format:"uuid"
Additional fields: No
ImportWithdrawal
ImportWithdrawal · Versions and reason required to withdraw only the free part of a delivery.
expected_delivery_versionIntegerRequiredCurrent warehouse delivery version, or 0 when creating the delivery.
minimum:1maximum:9223372036854775807expected_order_versionIntegerRequiredCurrent allocation-order version of the pool, not the purchase order version.
minimum:0maximum:9223372036854775807expected_versionIntegerRequiredVersion read before the write; a mismatch rejects the update.
minimum:1maximum:9223372036854775807reasonStringRequiredReason recorded for the change.
minLength:1maxLength:500
Additional fields: No
Update a manual reservation — Request body
ManualReservationUpdate · Fields, types and constraints of data accepted or returned by the API.
expected_versionIntegerRequiredVersion read before the write; a mismatch rejects the update.
minimum:1maximum:9223372036854775807manual_reservedIntegerRequiredQuantity reserved manually.
minimum:0maximum:2147483647reasonStringOptionalReason recorded for the change.
maxLength:500
Additional fields: No
PoolChange
PoolChange · Product pool settings: availability, optional file retention and purchase email mode.
email_modeStringOptionaldisabled sends nothing; order_link sends an order link; code_text may also include codes.
Constraints
enum["disabled", "order_link", "code_text"]
enabledBooleanRequiredWhether this setting is enabled.
expected_versionIntegerRequiredVersion read before the write; a mismatch rejects the update.
minimum:0maximum:9223372036854775807retention_daysInteger nullOptionalnull keeps files indefinitely; 1–3650 deletes them after that many days from first access. Codes are not deleted automatically.
Integer:minimum:1maximum:3650
Additional fields: No
PoolCounts
PoolCounts · Counts of staged, planned, available, held, issued and retired units.
availableIntegerRequiredNumber of free units that have not been reserved or issued.
heldIntegerRequiredUnits reserved for orders but not yet issued to buyers.
issuedIntegerRequiredUnits that have already been assigned to paid purchases.
plannedIntegerRequiredUnits in committed deliveries that have not yet been received.
retiredIntegerRequiredWithdrawn units retained in warehouse history.
stagedIntegerRequiredUnits in unfinished imports, not yet available as stock.
Additional fields: No
PoolData
PoolData · Saved product pool settings, separate version counters and current stock totals.
configuredBooleanRequiredWhether this product already has saved pool settings. This does not indicate plan eligibility.
countsPoolCountsRequiredUnit totals grouped by stock state; no codes or file contents.
email_modeStringRequireddisabled sends nothing; order_link sends an order link; code_text may also include codes.
Constraints
enum["disabled", "order_link", "code_text"]
enabledBooleanRequiredWhether this setting is enabled.
order_versionIntegerRequiredVersion of the pool allocation order. Copy it into expected_order_version when reordering.
product_idStringRequiredProduct identifier.
retention_daysInteger nullRequirednull keeps files indefinitely; 1–3650 deletes them after that many days from first access. Codes are not deleted automatically.
versionIntegerRequiredResource version used for concurrency control.
Additional fields: No
Update a sales limit — Request body
SalesLimitUpdate · Fields, types and constraints of data accepted or returned by the API.
expected_versionIntegerRequiredVersion read before the write; a mismatch rejects the update.
minimum:1maximum:9223372036854775807reasonStringOptionalReason recorded for the change.
maxLength:500sellable_limitIntegerRequiredSales limit: -1 means unlimited and 0 disables available sales.
minimum:-1maximum:2147483647
Additional fields: No
Create a stock adjustment — Request body
StockAdjustmentCreate · Fields, types and constraints of data accepted or returned by the API.
expected_versionIntegerRequiredVersion read before the write; a mismatch rejects the update.
minimum:0maximum:9223372036854775807locationsArray <LocationQuantity> RequiredWarehouse locations.
minItems:1maxItems:100reasonStringRequiredReason recorded for the change.
minLength:1maxLength:500target_idStringRequiredIdentifier of the product or variant affected by the operation.
Constraints
pattern"^[a-z0-9][a-z0-9_-]{0,62}$"
target_typeStringRequiredWhether the operation concerns a product or a variant.
Constraints
enum["product", "variant"]
warehouse_idStringRequiredWarehouse identifier.
Constraints
pattern"^[a-z0-9][a-z0-9_-]{0,62}$"
Additional fields: No
Update a stock record — Request body
StockAdjustmentUpdate · Fields, types and constraints of data accepted or returned by the API.
expected_versionIntegerRequiredVersion read before the write; a mismatch rejects the update.
minimum:1maximum:9223372036854775807locationsArray <LocationQuantity> RequiredWarehouse locations.
minItems:1maxItems:100reasonStringRequiredReason recorded for the change.
minLength:1maxLength:500
Additional fields: No
List stock records — Response
StockData · Fields, types and constraints of data accepted or returned by the API.
activeBooleanRequiredWhether the resource is active.
availableInteger nullRequiredQuantity available for sale; null represents an unbounded amount.
idStringRequiredResource identifier; preserve it as returned. (StockData).
manual_reservedIntegerRequiredQuantity reserved manually.
on_handIntegerRequiredPhysical stock quantity.
reservedIntegerRequiredQuantity reserved by orders.
sellable_limitIntegerRequiredSales limit: -1 means unlimited and 0 disables available sales.
target_idStringRequiredIdentifier of the product or variant affected by the operation.
target_typeStringRequiredWhether the operation concerns a product or a variant.
Constraints
enum["product", "variant"]
total_reservedIntegerRequiredTotal reserved quantity.
updated_atStringRequiredMost recent update time.
format:"date-time"versionIntegerRequiredResource version used for concurrency control.
warehouse_idStringRequiredWarehouse identifier.
Additional fields: No
Get a stock record — Response
StockDetailData · Fields, types and constraints of data accepted or returned by the API.
activeBooleanRequiredWhether the resource is active.
allocationsArray <AllocationData> RequiredQuantities assigned to warehouse locations.
availableInteger nullRequiredQuantity available for sale; null represents an unbounded amount.
idStringRequiredResource identifier; preserve it as returned. (StockDetailData).
manual_reservedIntegerRequiredQuantity reserved manually.
on_handIntegerRequiredPhysical stock quantity.
reservedIntegerRequiredQuantity reserved by orders.
sellable_limitIntegerRequiredSales limit: -1 means unlimited and 0 disables available sales.
target_idStringRequiredIdentifier of the product or variant affected by the operation.
target_typeStringRequiredWhether the operation concerns a product or a variant.
Constraints
enum["product", "variant"]
total_reservedIntegerRequiredTotal reserved quantity.
updated_atStringRequiredMost recent update time.
format:"date-time"versionIntegerRequiredResource version used for concurrency control.
warehouse_idStringRequiredWarehouse identifier.
Additional fields: No
UnitData
UnitData · Stock unit metadata without code text or file bytes.
content_stateStringRequiredPayload state: present, deleting or deleted. A history row may remain after deletion.
delivery_idString nullRequiredID of the delivery or allocation identified by this operation.
filenameString nullRequiredFile
idStringRequiredResource identifier; preserve it as returned.
format:"uuid"issued_atString nullRequiredTime the unit was first issued, or null while it has not been issued.
String:format:"date-time"kindStringRequiredVariant of the data structure described by its allowed values.
Constraints
enum["file", "code"]
location_idString nullRequiredWarehouse location identifier.
mime_typeString nullRequiredMedia content type.
payload_idStringRequiredID of the exact code or file content revision. It is not a public download URL.
format:"uuid"product_idStringRequiredProduct identifier.
size_bytesInteger nullRequiredSize in bytes
sort_orderIntegerRequiredPosition in the ordered collection.
stateStringRequiredStatus
versionIntegerRequiredResource version used for concurrency control.
warehouse_idString nullRequiredWarehouse identifier.
Additional fields: No
UnitDeletion
UnitDeletion · Current unit version and withdrawal reason.
expected_versionIntegerRequiredVersion read before the write; a mismatch rejects the update.
minimum:1reasonStringRequiredReason recorded for the change.
minLength:1maxLength:500
Additional fields: No
UnitReorder
UnitReorder · Complete unfiltered page in the desired allocation order, with its cursor and version.
expected_order_versionIntegerRequiredCurrent allocation-order version of the pool, not the purchase order version.
minimum:1unit_idsArray <String> RequiredEvery unit from the unfiltered page, arranged in the requested order.
minItems:2maxItems:100Array:format:"uuid"window_cursorString nullOptionalCursor identifying the complete unfiltered page being reordered; null for the first page.
String:maxLength:1024
Additional fields: No
UnitReplacement
UnitReplacement · New code or private upload replacing one free unit; the reason is retained in history.
codeString nullOptionalThe exact digital code. Preserve case and internal spaces.
String:minLength:1maxLength:512expected_versionIntegerRequiredVersion read before the write; a mismatch rejects the update.
minimum:1reasonStringRequiredReason recorded for the change.
minLength:1maxLength:500upload_idString nullOptionalResource identifier; preserve it as returned. · upload_id
String:format:"uuid"
Additional fields: No
UnitsData
UnitsData · A page of stock unit metadata and the current allocation-order version.
order_versionIntegerRequiredVersion of the pool allocation order. Copy it into expected_order_version when reordering.
totalIntegerRequiredTotal amount.
unitsArray <UnitData> RequiredPage of unit metadata. Codes require a separate authorized content request.
Additional fields: Yes