Returns a Brand Config
This endpoint returns the configuration settings for a specific brand, identified by its brand code. It provides brand-level rules such as classification overrides, default units, and raw catalog mapping behavior.
Path Parameters
- Name
id- Type
- string
- Description
Brand code used to fetch brand configuration.
Example:CASUAL
Notes: Case-sensitive; must match a configured BrandConfig entry.
Request
curl -X GET https://api.example.com/api/v2/BrandConfig/CASUAL \
-H "Accept: application/json"
Response (200 OK)
{
"brandCode": "CASUAL",
"brandName": "Casual Corp",
"tenantCode": "ESW",
"delimiter": "-",
"trimProductCodeWhiteSpaces": true,
"rawCatalogMappings": {
"fabric": "material",
"style_code": "skuStyle"
},
"regions": ["EU", "NA", "APAC"],
"currencyUnitDefault": "EUR",
"weightUnitDefault": "KG",
"processRawCatalogs": true,
"generateMasterFile": false,
"hsCodeLimit": "6",
"defaultClassificationId": "12345-CLASSIC",
"avalaraEnabled": false,
"enableCatalogRawMappings": true,
"allowDefaultProducts": false,
"defaultClassificationOverrides": [],
"classificationProvider": "INTERNAL",
"digitalDefaultClassificationId": "DIGITAL-0001"
}
Returns Classifications
This endpoint returns a paginated list of product classifications. Classifications include codes, descriptions, and IDs used to determine duties and tax behavior.
Query Parameters
- Name
RegionCode- Type
- string
- Description
Optional filter by target region code.
Examples:EU,US,CA
- Name
PageNumber- Type
- integer
- Description
The 1-based page number to retrieve.
Default:1
- Name
PageSize- Type
- integer
- Description
Number of results per page.
Typical:25• Max: implementation-specific
- Name
OrderByField- Type
- string
- Description
Field name to order the results by.
Examples:classificationCode,classificationDesc
- Name
IsOrderByAsc- Type
- boolean
- Description
Whether the sort order should be ascending (
true) or descending (false).
Default:true
Request
curl -X GET "https://api.example.com/api/v2/Classifications?PageNumber=1&PageSize=2" \
-H "Accept: application/json"
Response (200 OK)
{
"currentPage": 1,
"pageCount": 5,
"pageSize": 2,
"rowCount": 10,
"firstRowOnPage": 1,
"lastRowOnPage": 2,
"orderByField": "classificationCode",
"isOrderByAsc": true,
"results": [
{
"classificationId": "HS123456",
"classificationCode": "6201.11",
"classificationDesc": "Men's Overcoats - Wool"
},
{
"classificationId": "HS789012",
"classificationCode": "6105.20",
"classificationDesc": "Women's Blouses - Cotton"
}
]
}
Create/Update Classifications
This endpoint allows you to submit or update classification codes and duty details for specific regions. It supports batch input of multiple classification records.
Request Body (array of objects)
- Name
classificationCode- Type
- string
- Description
HS classification code (6–10 digits depending on region depth).
Example:6201.11
- Name
previousClassificationCode- Type
- string
- Description
The previously used HS classification code, if applicable.
- Name
regionCode- Type
- string
- Description
Region where this code/duty applies.
Example:EU
- Name
mfnDuty- Type
- number
- Description
Most-Favored Nation (MFN) duty rate as percentage.
Example:12.5
- Name
generalDuty- Type
- number
- Description
General duty rate as percentage (if applicable).
- Name
additionalDuty- Type
- number
- Description
Additional duty as percentage (e.g., retaliatory/safeguard).
- Name
classificationId- Type
- string
- Description
Internal classification identifier.
Example:HS6201
- Name
vatBandId- Type
- integer
- Description
VAT band identifier used for tax calculation.
- Name
vatPercentageRate- Type
- number
- Description
VAT rate as percentage.
Example:23.0
- Name
id- Type
- string
- Description
Internal document ID / upsert key.
- Name
lastModifiedBy- Type
- string
- Description
Email or user ID of the last modifier.
Example:admin@brand.com
Request
curl -X POST https://api.example.com/api/v2/Classifications \
-H "Content-Type: application/json" \
-d '[
{
"classificationCode": "6201.11",
"previousClassificationCode": "6201.10",
"regionCode": "EU",
"mfnDuty": 12.5,
"generalDuty": 8.0,
"additionalDuty": 3.0,
"classificationId": "HS6201",
"vatBandId": 1,
"vatPercentageRate": 23.0,
"id": "abc123",
"lastModifiedBy": "admin@brand.com"
}
]'
Response (202 Accepted)
{
"code": 202,
"message": "Accepted"
}
Download Classifications Report
This endpoint allows you to download the full list of classifications for a specific brand/tenant in file format (typically CSV; implementations may also support JSON).
Query Parameters
- Name
tenantCode- Type
- string
- Description
Optional tenant code used to filter the classification export.
Example:ESW
Request
curl -X GET "https://api.example.com/api/v2/Classifications/Report?tenantCode=ESW" \
-H "Accept: application/json"
Response (200 OK)
{
"status": "success",
"message": "Report generated",
"file": "https://api.example.com/files/classifications_report.csv"
}
Get Classification Regions
This endpoint retrieves a list of region-specific duty, VAT, and classification settings for a particular classification ID.
Path Parameters
- Name
id- Type
- string
- Description
The unique classification ID whose regional details you want to fetch.
Example:HS6201
Request
curl -X GET https://api.example.com/api/v2/Classifications/HS6201/Regions \
-H "Accept: application/json"
Response (200 OK)
[
{
"classificationCode": "6201.11",
"previousClassificationCode": "6201.10",
"regionCode": "EU",
"mfnDuty": 12.5,
"generalDuty": 8.0,
"additionalDuty": 3.0,
"classificationId": "HS6201",
"vatBandId": 1,
"vatPercentageRate": 23.0,
"id": "abc123",
"lastModifiedBy": "admin@brand.com"
},
{
"classificationCode": "6201.11",
"previousClassificationCode": "6201.10",
"regionCode": "US",
"mfnDuty": 10.0,
"generalDuty": 5.5,
"additionalDuty": 2.0,
"classificationId": "HS6201",
"vatBandId": 2,
"vatPercentageRate": 0.0,
"id": "def456",
"lastModifiedBy": "compliance@brand.com"
}
]
Save Classification Regions
This endpoint creates or updates multiple classification region records, each containing duties, VAT, and classification metadata for a specific region.
Request Body (array of objects)
- Name
classificationCode- Type
- string
- Description
Current HS classification code.
Example:6201.11
- Name
previousClassificationCode- Type
- string
- Description
The previous classification code, if changed.
- Name
regionCode- Type
- string
- Description
Region code this classification is valid for.
Example:EU
- Name
mfnDuty- Type
- number
- Description
MFN duty rate (percentage).
- Name
generalDuty- Type
- number
- Description
General duty rate (percentage).
- Name
additionalDuty- Type
- number
- Description
Additional duty (percentage).
- Name
classificationId- Type
- string
- Description
Internal classification identifier.
Example:HS6201
- Name
vatBandId- Type
- integer
- Description
VAT band ID.
- Name
vatPercentageRate- Type
- number
- Description
VAT percentage.
Example:23.0
- Name
id- Type
- string
- Description
Internal document ID / upsert key.
- Name
lastModifiedBy- Type
- string
- Description
Email or identifier for the user making the update.
Request
curl -X POST https://api.example.com/api/v2/Classifications/regions/save \
-H "Content-Type: application/json" \
-d '[
{
"classificationCode": "6201.11",
"previousClassificationCode": "6201.10",
"regionCode": "EU",
"mfnDuty": 12.5,
"generalDuty": 8.0,
"additionalDuty": 3.0,
"classificationId": "HS6201",
"vatBandId": 1,
"vatPercentageRate": 23.0,
"id": "abc123",
"lastModifiedBy": "admin@brand.com"
}
]'
Response (200 OK)
{
"status": "success",
"message": "Classifications saved successfully."
}
Get Chapters
Returns all HS Chapters available for browsing and filtering classifications.
Request
curl -X GET "https://api.example.com/api/v2/Classifications/Chapters" \
-H "Accept: application/json"
Response (200 OK)
[
{
"chapterCode": "61",
"chapterName": "Articles of apparel and clothing accessories, knitted or crocheted"
},
{
"chapterCode": "62",
"chapterName": "Articles of apparel and clothing accessories, not knitted or crocheted"
}
]
Get Sections by Chapter
Returns Sections for a given HS chapter.
Query Parameters
- Name
chapterCode- Type
- string
- Description
HS Chapter code to filter sections.
Example:62
Request
curl -G "https://api.example.com/api/v2/Classifications/Section" \
--data-urlencode "chapterCode=62" \
-H "Accept: application/json"
Response (200 OK)
[
{
"sectionCode": "01",
"sectionName": "Overcoats, car-coats, capes, cloaks and similar articles"
},
{
"sectionCode": "02",
"sectionName": "Jackets and blazers"
}
]
Get SubSections by Chapter & Section
Returns SubSections for a given Chapter and Section.
Query Parameters
- Name
chapterCode- Type
- string
- Description
HS Chapter code.
Example:62
- Name
sectionCode- Type
- string
- Description
HS Section code within the chapter.
Example:01
Request
curl -G "https://api.example.com/api/v2/Classifications/SubSection" \
--data-urlencode "chapterCode=62" \
--data-urlencode "sectionCode=01" \
-H "Accept: application/json"
Response (200 OK)
[
{
"subSectionCode": "001",
"subSectionName": "Overcoats of wool"
},
{
"subSectionCode": "002",
"subSectionName": "Overcoats of cotton"
}
]
Get Chapter Classifications
Filters Classifications by optional RegionCode, ChapterCode, SectionCode, SubSectionCode, and ClassificationCode with pagination and sort.
Query Parameters
- Name
RegionCode- Type
- string
- Description
Optional region filter (e.g.,
EU,US).
- Name
ChapterCode- Type
- string
- Description
Filter by HS Chapter.
- Name
SectionCode- Type
- string
- Description
Filter by HS Section.
- Name
SubSectionCode- Type
- string
- Description
Filter by HS SubSection.
- Name
ClassificationCode- Type
- string
- Description
Filter by HS code text.
- Name
PageNumber- Type
- integer
- Description
The 1-based page number.
- Name
PageSize- Type
- integer
- Description
Number of results per page.
- Name
OrderByField- Type
- string
- Description
Field to order the results by (e.g.,
classificationCode).
- Name
IsOrderByAsc- Type
- boolean
- Description
Ascending sort if
true. Default:true
Request
curl -G "https://api.example.com/api/v2/Classifications/ChapterClassifications" \
--data-urlencode "PageNumber=1" \
--data-urlencode "PageSize=25" \
--data-urlencode "RegionCode=EU" \
--data-urlencode "ChapterCode=62" \
-H "Accept: application/json"
Response (200 OK)
{
"currentPage": 1,
"pageSize": 25,
"rowCount": 124,
"orderByField": "classificationCode",
"isOrderByAsc": true,
"results": [
{
"classificationId": "HS620111",
"classificationCode": "6201.11",
"classificationDesc": "Overcoats, of wool"
}
]
}
Load Chapter Classifications
Loads Classifications for a chapter/section/subsection via request body.
Request Body — GetClassificationsRequest
- Name
regionCode- Type
- string
- Description
Region filter (e.g.,
EU).
- Name
chapterCode- Type
- string
- Description
HS Chapter code.
- Name
sectionCode- Type
- string
- Description
HS Section code.
- Name
subSectionCode- Type
- string
- Description
HS SubSection code.
- Name
classificationCode- Type
- string
- Description
Free-text/code filter.
- Name
pageNumber- Type
- integer
- Description
Page number. Default:
1
- Name
pageSize- Type
- integer
- Description
Page size. Typical:
25
- Name
orderByField- Type
- string
- Description
Order field (e.g.,
classificationCode).
- Name
isOrderByAsc- Type
- boolean
- Description
Ascending sort flag. Default:
true
Request
curl -X POST "https://api.example.com/api/v2/Classifications/LoadChapterClassifications" \
-H "Content-Type: application/json" \
-d '{
"regionCode": "EU",
"chapterCode": "62",
"sectionCode": "01",
"subSectionCode": "001",
"classificationCode": "6201",
"pageNumber": 1,
"pageSize": 25,
"orderByField": "classificationCode",
"isOrderByAsc": true
}'
Response (200 OK)
{
"currentPage": 1,
"pageSize": 25,
"rowCount": 124,
"results": [
{
"classificationId": "HS620111",
"classificationCode": "6201.11",
"classificationDesc": "Overcoats, of wool"
}
]
}
Bulk Upload Classifications
Uploads a classification CSV/XLSX file to the configured SFTP folder for asynchronous processing.
Form Data
- Name
file- Type
- file
- Description
The bulk upload file (CSV/XLSX).
Example:classifications_upload.csv
Request
curl -X POST "https://api.example.com/api/v2/Classifications/BulkUpload" \
-H "Accept: application/json" \
-F "file=@./classifications_upload.csv"
Response (200 OK)
{
"numberOfRowsProcessed": 250,
"messages": [
"File uploaded. Processing has started."
],
"errors": [],
"fileName": "classifications_upload.csv",
"success": true
}
Upload Retailer Catalog
This endpoint allows a retailer to upload one or more products to their catalog. The catalog is validated for customs compliance (e.g., HS Codes, weight, country of origin) and supports optional product metadata like images and URLs.
Request Body (array of products)
- Name
productCode- Type
- string
- Description
The brand's unique master identifier or SKU.
Example:SKU-12345
- Name
name- Type
- string
- Description
Product name.
- Name
description- Type
- string
- Description
Short description of the product (recommended < 500 chars).
- Name
material- Type
- string
- Description
Material composition (e.g.,
100% Cotton).
- Name
countryOfOrigin- Type
- string
- Description
ISO Alpha-2 code of manufacturing country.
Examples:CN,US,IE
- Name
hsCode- Type
- string
- Description
Harmonized System code (min 6 digits).
- Name
hsCodeRegion- Type
- string
- Description
Region that determines HS interpretation (e.g.,
EU,US).
- Name
weight- Type
- number
- Description
Product weight; required if
weightUnitis present.
- Name
weightUnit- Type
- string
- Description
Weight unit (e.g.,
KG,LB).
- Name
url- Type
- string
- Description
Product landing page URL. (Required for some destinations.)
- Name
imageUrl- Type
- string
- Description
URL to product image.
- Name
dangerousGoods- Type
- boolean
- Description
Whether item is HazMat.
- Name
isCustomized- Type
- boolean
- Description
Whether item is customized/personalized.
- Name
isRestricted- Type
- boolean
- Description
Whether item is globally restricted.
Request
curl -X POST https://api.example.com/api/v2/RetailerCatalog \
-H "Content-Type: application/json" \
-d '[
{
"productCode": "SKU-12345",
"name": "Boys Denim Jacket",
"description": "Classic fit boys denim jacket with brass buttons.",
"material": "100% Cotton",
"countryOfOrigin": "CN",
"hsCode": "620342",
"hsCodeRegion": "EU",
"weight": 0.6,
"weightUnit": "KG",
"url": "https://brand.com/products/sku-12345",
"imageUrl": "https://brand.com/media/sku-12345.jpg",
"dangerousGoods": false,
"isCustomized": false,
"isRestricted": false
}
]'
Response (202 Accepted)
{
"code": 202,
"message": "Catalog accepted for validation"
}
Import Retailer Catalog File
This endpoint uploads a file (CSV/XLSX) containing product data for a retailer (tenant). The file is validated and processed asynchronously.
Query Parameters
- Name
TenantCode- Type
- string
- Description
Retailer’s tenant code.
Example:BRANDX
Form Data
- Name
File- Type
- file
- Description
Catalog file to upload (CSV, XLSX).
Example:catalog_upload.csv
Request
curl -X POST "https://api.example.com/api/v2/RetailerCatalog/TenantImport?TenantCode=BRANDX" \
-H "Content-Type: multipart/form-data" \
-F "File=@./catalog_upload.csv"
Response (200 OK)
{
"numberOfRowsProcessed": 123,
"messages": ["Catalog processed successfully."],
"errors": [],
"fileName": "catalog_upload.csv",
"success": true
}
Start Brand Summarization Job
This endpoint triggers the Brand Summarization Service, which aggregates or refreshes brand-level metadata used across catalog analytics or reporting pipelines.
Request
curl -X GET https://api.example.com/api/v2/SchedulerJobs/brandsummarizationservice
Response (200 OK)
true
Add VAT Rate
Create a new VAT (Value-Added Tax) rate associated with a region, country, or sub-region.
Request Body
- Name
vatBandId- Type
- integer
- Description
VAT band this rate belongs to.
Example:2
- Name
regionCode- Type
- string
- Description
Geographic region code (e.g.,
EU,NA).
- Name
countryIso- Type
- string
- Description
ISO Alpha-2 country code (e.g.,
FR,DE).
- Name
subRegion- Type
- string
- Description
Optional sub-region (e.g.,
Corsica).
- Name
vatPercentageRate- Type
- number
- Description
VAT percentage.
Example:20.0
- Name
description- Type
- string
- Description
Description or label (e.g.,
Standard France VAT).
- Name
rateType- Type
- integer
- Description
Rate type flag (e.g.,
0=Standard,1=Reduced).
Request
curl -X POST https://api.example.com/api/v2/Vat \
-H "Content-Type: application/json" \
-d '{
"vatBandId": 2,
"regionCode": "EU",
"countryIso": "FR",
"subRegion": "Corsica",
"vatPercentageRate": 20.0,
"description": "Standard France VAT",
"rateType": 0
}'
Response (201 Created)
{
"id": "VAT-12345",
"vatBandId": 2,
"regionCode": "EU",
"countryIso": "FR",
"subRegion": "Corsica",
"vatPercentageRate": 20.0,
"description": "Standard France VAT",
"rateType": 0
}
Update VAT Rate
Update an existing VAT rate entry by ID.
Path Parameters
- Name
id- Type
- string
- Description
Unique ID of the VAT rate to update.
Example:VAT-12345
Request Body
- Name
vatBandId- Type
- integer
- Description
VAT band identifier this rate belongs to.
- Name
regionCode- Type
- string
- Description
Region code (e.g.,
EU,APAC).
- Name
countryIso- Type
- string
- Description
ISO Alpha-2 code for the country.
- Name
subRegion- Type
- string
- Description
Optional sub-region within the country.
- Name
vatPercentageRate- Type
- number
- Description
VAT rate in percentage.
- Name
description- Type
- string
- Description
Description of the VAT rate (e.g.,
Updated Standard VAT).
- Name
rateType- Type
- integer
- Description
Integer flag denoting rate type (0 = Standard, 1 = Reduced, etc.).
Request
curl -X PUT https://api.example.com/api/v2/Vat/VAT-12345 \
-H "Content-Type: application/json" \
-d '{
"vatBandId": 2,
"regionCode": "EU",
"countryIso": "FR",
"subRegion": "Corsica",
"vatPercentageRate": 19.5,
"description": "Updated Standard VAT",
"rateType": 0
}'
Response (200 OK)
{
"id": "VAT-12345",
"vatBandId": 2,
"regionCode": "EU",
"countryIso": "FR",
"subRegion": "Corsica",
"vatPercentageRate": 19.5,
"description": "Updated Standard VAT",
"rateType": 0
}
Add VAT Band Config
Create a VAT band configuration that defines special VAT rules for specific regions, countries, or sub-regions. Rules can have priority and are linked to a VAT band.
Request Body
- Name
vatBandId- Type
- integer
- Description
VAT band this config is associated with.
Example:3
- Name
countryCode- Type
- string
- Description
ISO Alpha-2 country code (e.g.,
IE,DE).
- Name
subRegion- Type
- string
- Description
Optional sub-region (e.g.,
Leinster).
- Name
rule- Type
- string
- Description
VAT rule key (e.g.,
EXEMPT_IF_LUXURY).
- Name
priority- Type
- integer
- Description
Rule precedence; lower numbers execute first.
Default:1
- Name
value- Type
- string
- Description
Optional value tied to the rule (boolean-like or literal).
Request
curl -X POST https://api.example.com/api/v2/VatBandConfig \
-H "Content-Type: application/json" \
-d '{
"vatBandId": 3,
"countryCode": "IE",
"subRegion": "Leinster",
"rule": "EXEMPT_IF_LUXURY",
"priority": 1,
"value": "true"
}'
Response (200 OK)
true
Update VAT Band Config
Update an existing VAT band configuration by ID.
Path Parameters
- Name
id- Type
- string
- Description
Unique identifier of the VAT band config to update.
Example:abc-456
Request Body
- Name
vatBandId- Type
- integer
- Description
VAT band linked to this config.
- Name
countryCode- Type
- string
- Description
ISO Alpha-2 code (e.g.,
IE).
- Name
subRegion- Type
- string
- Description
Optional sub-region for granularity (e.g.,
Munster).
- Name
rule- Type
- string
- Description
Business rule key (e.g.,
EXEMPT_IF_DIGITAL).
- Name
priority- Type
- integer
- Description
Determines rule order; lower is higher priority.
- Name
value- Type
- string
- Description
Optional value associated with the rule.
Request
curl -X PUT https://api.example.com/api/v2/VatBandConfig/abc-456 \
-H "Content-Type: application/json" \
-d '{
"vatBandId": 3,
"countryCode": "IE",
"subRegion": "Munster",
"rule": "EXEMPT_IF_DIGITAL",
"priority": 2,
"value": "false"
}'
Response (200 OK)
true
Get VAT Band Config
Retrieve a VAT band configuration by its unique ID.
Path Parameters
- Name
id- Type
- string
- Description
VAT band configuration ID.
Example:abc-456
Request
curl -X GET https://api.example.com/api/v2/VatBandConfig/abc-456
Response (200 OK)
{
"id": "abc-456",
"vatBandId": 3,
"countryCode": "IE",
"subRegion": "Munster",
"rule": "EXEMPT_IF_DIGITAL",
"priority": 2,
"value": "false"
}
Delete VAT Band Config
Delete a VAT band configuration by ID. This operation is irreversible.
Path Parameters
- Name
id- Type
- string
- Description
VAT band configuration ID to delete.
Example:abc-456
Request
curl -X DELETE https://api.example.com/api/v2/VatBandConfig/abc-456
Response (200 OK)
true