API reference
Fulfillment & catalog
Live marketplace actions: shipping, labels, after-sales decisions, and product listing.
List catalog categories
/v1/stores/{storeId}/catalog/categoriesLeaf categories the shop may list in, filtered by name or path.
Scopes:products:read
Path parameters
storeIdstringrequiredformat: uuid
Query parameters
qstringoptionalmax length 100
Response200 · application/json
At most 50 categories
itemsarray<CatalogCategory>requiredShow 3 child attributes
idstringrequirednamestringrequiredpathstringrequiredAncestor names joined with " > ".
curl "https://api.comnethub.app/v1/stores/$STORE_ID/catalog/categories" \
-H "Authorization: Bearer $THECOMNET_API_KEY"Recommend catalog category
/v1/stores/{storeId}/catalog/categories/recommendCategory the marketplace suggests for a product title.
Scopes:products:read
Path parameters
storeIdstringrequiredformat: uuid
Request bodyapplication/json
titlestringrequiredmin length 1 · max length 255
Response200 · application/json
Suggestion, or null
categoryCatalogCategoryrequirednullableShow 3 child attributes
idstringrequirednamestringrequiredpathstringrequiredAncestor names joined with " > ".
curl -X POST "https://api.comnethub.app/v1/stores/$STORE_ID/catalog/categories/recommend" \
-H "Authorization: Bearer $THECOMNET_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "string"
}'Get catalog category attributes
/v1/stores/{storeId}/catalog/categories/{categoryId}/attributesAttributes and listing rules of a category.
Scopes:products:read
Path parameters
storeIdstringrequiredformat: uuid
categoryIdstringrequiredmax length 40
Response200 · application/json
Attributes and rules
attributesarray<CatalogAttribute>requiredShow 7 child attributes
idstringrequirednamestringrequiredkindstringrequiredsales attributes define variants; product attributes describe the product.
One of:
salesproductrequiredbooleanrequiredmultiplebooleanrequiredcustomizablebooleanrequiredFree-text values are allowed besides the listed ones.
valuesarray<object>requiredShow 2 child attributes
idstringrequirednamestringrequired
rulesobjectrequiredShow 4 child attributes
sizeChartRequiredbooleanrequiredsizeChartSupportedbooleanrequireddimensionsRequiredbooleanrequiredcodSupportedbooleanrequired
curl "https://api.comnethub.app/v1/stores/$STORE_ID/catalog/categories/$CATEGORY_ID/attributes" \
-H "Authorization: Bearer $THECOMNET_API_KEY"List catalog brands
/v1/stores/{storeId}/catalog/brandsBrands available for a category.
Scopes:products:read
Path parameters
storeIdstringrequiredformat: uuid
Query parameters
categoryIdstringoptionalmax length 40
qstringoptionalmax length 100
Response200 · application/json
Brands
itemsarray<CatalogBrand>requiredShow 3 child attributes
idstringrequirednamestringrequiredauthorizedbooleanrequired
curl "https://api.comnethub.app/v1/stores/$STORE_ID/catalog/brands" \
-H "Authorization: Bearer $THECOMNET_API_KEY"List catalog warehouses
/v1/stores/{storeId}/catalog/warehousesThe shop's enabled sales warehouses on the marketplace.
Scopes:products:read
Path parameters
storeIdstringrequiredformat: uuid
Response200 · application/json
Warehouses
itemsarray<CatalogWarehouse>requiredShow 3 child attributes
idstringrequirednamestringrequiredisDefaultbooleanrequired
curl "https://api.comnethub.app/v1/stores/$STORE_ID/catalog/warehouses" \
-H "Authorization: Bearer $THECOMNET_API_KEY"Upload catalog image
/v1/stores/{storeId}/catalog/imagesUpload an image to the marketplace for use in a product.
Scopes:products:write
Path parameters
storeIdstringrequiredformat: uuid
Request bodyapplication/json
datastringrequiredBase64 image, at most 5 MB decoded.
max length 7000000
filenamestringoptionalmax length 200
contentTypestringrequiredOne of:
image/jpegimage/pngimage/webpuseCasestringrequiredOne of:
MAIN_IMAGEATTRIBUTE_IMAGESIZE_CHART_IMAGE
Response201 · application/json
Uploaded
uristringrequiredmin length 1 · max length 500
urlstringoptionalnullablemax length 2000
curl -X POST "https://api.comnethub.app/v1/stores/$STORE_ID/catalog/images" \
-H "Authorization: Bearer $THECOMNET_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"data": "string",
"contentType": "image/jpeg",
"useCase": "MAIN_IMAGE"
}'Create catalog product
/v1/stores/{storeId}/catalog/productsCreate a product on the marketplace; the product sync picks it up.
Scopes:products:write
Path parameters
storeIdstringrequiredformat: uuid
Request bodyapplication/json
titlestringrequiredmin length 1 · max length 255
descriptionstringrequiredHTML.
min length 1 · max length 20000
categoryIdstringrequiredmin length 1 · max length 40
categoryPathstringoptionalnullablemax length 500
brandIdstringoptionalnullablemax length 40
imagesarray<CatalogImage>requiredmin items 1 · max items 9
Show 2 child attributes
uristringrequiredmin length 1 · max length 500
urlstringoptionalnullablemax length 2000
sizeChartCatalogImageoptionalnullableShow 2 child attributes
uristringrequiredmin length 1 · max length 500
urlstringoptionalnullablemax length 2000
attributesarray<object>requiredmax items 100
Show 3 child attributes
idstringrequiredmax length 40
valueIdsarray<string>optionalmax items 50
valuesarray<string>optionalmax items 50
weightKgstringrequiredpattern: ^\d{1,3}(\.\d{1,3})?$
dimensionsCmobjectoptionalnullableShow 3 child attributes
lengthstringrequiredpattern: ^\d{1,4}$
widthstringrequiredpattern: ^\d{1,4}$
heightstringrequiredpattern: ^\d{1,4}$
codAllowedbooleanoptionalsaveAsDraftbooleanoptionalSave on the marketplace as a draft instead of submitting for review.
skusarray<object>requiredmin items 1 · max items 100
Show 5 child attributes
sellerSkustringoptionalnullablemax length 50
pricestringrequiredpattern: ^\d{1,12}(\.\d{1,2})?$
stockintegerrequiredmin 0 · max 99999
warehouseIdstringoptionalnullablemax length 40
optionsarray<object>requiredmax items 3
Show 3 child attributes
namestringrequiredmin length 1 · max length 50
valuestringrequiredmin length 1 · max length 50
imageCatalogImageoptionalnullableShow 2 child attributes
uristringrequiredmin length 1 · max length 500
urlstringoptionalnullablemax length 2000
Response201 · application/json
Created
externalProductIdstringrequiredskusarray<object>requiredShow 2 child attributes
externalSkuIdstringrequiredsellerSkustringrequirednullable
warningsarray<string>required
curl -X POST "https://api.comnethub.app/v1/stores/$STORE_ID/catalog/products" \
-H "Authorization: Bearer $THECOMNET_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "string",
"description": "string",
"categoryId": "string",
"images": [
{
"uri": "string"
}
],
"attributes": [
{
"id": "string"
}
],
"weightKg": "string",
"skus": [
{
"price": "string",
"stock": 1,
"options": [
{
"name": "string",
"value": "string"
}
]
}
]
}'Get catalog product draft
/v1/stores/{storeId}/catalog/products/{externalProductId}/draftAn existing product of the shop as a draft, to list a copy.
Scopes:products:read
Path parameters
storeIdstringrequiredformat: uuid
externalProductIdstringrequiredmax length 64
Response200 · application/json
Draft
titlestringrequiredmin length 1 · max length 255
descriptionstringrequiredHTML.
min length 1 · max length 20000
categoryIdstringrequiredmin length 1 · max length 40
categoryPathstringoptionalnullablemax length 500
brandIdstringoptionalnullablemax length 40
imagesarray<CatalogImage>requiredmin items 1 · max items 9
Show 2 child attributes
uristringrequiredmin length 1 · max length 500
urlstringoptionalnullablemax length 2000
sizeChartCatalogImageoptionalnullableShow 2 child attributes
uristringrequiredmin length 1 · max length 500
urlstringoptionalnullablemax length 2000
attributesarray<object>requiredmax items 100
Show 3 child attributes
idstringrequiredmax length 40
valueIdsarray<string>optionalmax items 50
valuesarray<string>optionalmax items 50
weightKgstringrequiredpattern: ^\d{1,3}(\.\d{1,3})?$
dimensionsCmobjectoptionalnullableShow 3 child attributes
lengthstringrequiredpattern: ^\d{1,4}$
widthstringrequiredpattern: ^\d{1,4}$
heightstringrequiredpattern: ^\d{1,4}$
codAllowedbooleanoptionalsaveAsDraftbooleanoptionalSave on the marketplace as a draft instead of submitting for review.
skusarray<object>requiredmin items 1 · max items 100
Show 5 child attributes
sellerSkustringoptionalnullablemax length 50
pricestringrequiredpattern: ^\d{1,12}(\.\d{1,2})?$
stockintegerrequiredmin 0 · max 99999
warehouseIdstringoptionalnullablemax length 40
optionsarray<object>requiredmax items 3
Show 3 child attributes
namestringrequiredmin length 1 · max length 50
valuestringrequiredmin length 1 · max length 50
imageCatalogImageoptionalnullableShow 2 child attributes
uristringrequiredmin length 1 · max length 500
urlstringoptionalnullablemax length 2000
curl "https://api.comnethub.app/v1/stores/$STORE_ID/catalog/products/$EXTERNAL_PRODUCT_ID/draft" \
-H "Authorization: Bearer $THECOMNET_API_KEY"Get shipping options
/v1/orders/{orderId}/shipping-optionsPickup slots and drop-off availability, read live from the marketplace.
Scopes:orders:read
Path parameters
orderIdstringrequiredformat: uuid
Response200 · application/json
Options
packageIdstringrequirednullablepickupobjectrequiredShow 2 child attributes
availablebooleanrequiredslotsarray<object>requiredShow 4 child attributes
idstringrequiredlabelstringrequiredstartAtstringrequirednullableformat: date-time
endAtstringrequirednullableformat: date-time
dropoffobjectrequiredShow 1 child attributes
availablebooleanrequired
curl "https://api.comnethub.app/v1/orders/$ORDER_ID/shipping-options" \
-H "Authorization: Bearer $THECOMNET_API_KEY"Arrange shipment
/v1/orders/{orderId}/shipArrange pickup or drop-off for the order on the marketplace.
Scopes:orders:write
Path parameters
orderIdstringrequiredformat: uuid
Request bodyapplication/json
methodstringrequiredOne of:
pickupdropoffslotIdstringoptionalmax length 100
Response204
Arranged; the order is refreshed from the marketplace
No response body.
curl -X POST "https://api.comnethub.app/v1/orders/$ORDER_ID/ship" \
-H "Authorization: Bearer $THECOMNET_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"method": "pickup"
}'Get shipping label
/v1/orders/{orderId}/shipping-labelShipping label PDF.
Scopes:orders:read
Path parameters
orderIdstringrequiredformat: uuid
Response200 · application/pdf
binary
curl "https://api.comnethub.app/v1/orders/$ORDER_ID/shipping-label" \
-H "Authorization: Bearer $THECOMNET_API_KEY" \
-o label.pdfList aftersale requests
/v1/orders/{orderId}/aftersalePending cancellation and return requests the seller can decide on.
Scopes:orders:read
Path parameters
orderIdstringrequiredformat: uuid
Response200 · application/json
Requests
itemsarray<AftersaleRequest>requiredShow 10 child attributes
externalIdstringrequiredkindstringrequiredOne of:
cancelreturntypestringrequiredstatusstringrequiredmarketplaceStatusstringrequiredreasonstringrequirednullablerefundAmountstring (decimal)requiredDecimal string with two fraction digits.
currencystringrequirednullablecanRejectbooleanrequiredneedsReasonbooleanrequired
curl "https://api.comnethub.app/v1/orders/$ORDER_ID/aftersale" \
-H "Authorization: Bearer $THECOMNET_API_KEY"List reject reasons
/v1/orders/{orderId}/aftersale/{externalId}/reject-reasonsRejection reasons the marketplace accepts for this request.
Scopes:orders:read
Path parameters
orderIdstringrequiredformat: uuid
externalIdstringrequiredmax length 100
Response200 · application/json
Reasons
itemsarray<RejectReason>requiredShow 2 child attributes
codestringrequiredlabelstringrequired
curl "https://api.comnethub.app/v1/orders/$ORDER_ID/aftersale/$EXTERNAL_ID/reject-reasons" \
-H "Authorization: Bearer $THECOMNET_API_KEY"Decide aftersale
/v1/orders/{orderId}/aftersale/{externalId}/decisionApprove or reject a cancellation or return request.
Scopes:orders:write
Path parameters
orderIdstringrequiredformat: uuid
externalIdstringrequiredmax length 100
Request bodyapplication/json
approvebooleanrequiredreasonCodestringoptionalmax length 100
commentstringoptionalmax length 500
Response204
Sent; the order is refreshed from the marketplace
No response body.
curl -X POST "https://api.comnethub.app/v1/orders/$ORDER_ID/aftersale/$EXTERNAL_ID/decision" \
-H "Authorization: Bearer $THECOMNET_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"approve": true
}'Bulk arrange shipment
/v1/bulk/orders/shipArrange pickup or drop-off for many orders; pickup takes the earliest offered slot.
Scopes:orders:write
Request bodyapplication/json
orderIdsarray<Id>requiredmin items 1 · max items 100
methodstringrequiredOne of:
pickupdropoff
Response200 · application/json
Outcome per order, in request order
resultsarray<object>requiredShow 3 child attributes
orderIdstringrequiredformat: uuid
okbooleanrequirederrorobjectrequirednullableShow 2 child attributes
codestringrequiredmessagestringrequired
curl -X POST "https://api.comnethub.app/v1/bulk/orders/ship" \
-H "Authorization: Bearer $THECOMNET_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"orderIds": [
"0192f0c4-8d1e-7a4b-9c3e-5f6a7b8c9d0e"
],
"method": "pickup"
}'Bulk shipping labels
/v1/bulk/orders/labelsOne PDF with the shipping labels of many orders.
Per-order outcomes are in the `x-bulk-results` response header (JSON array of BulkResult items). 422 `NO_LABELS` when none could be fetched.
Scopes:orders:read
Request bodyapplication/json
orderIdsarray<Id>requiredmin items 1 · max items 200
Response200 · application/pdf
Merged PDF
binary
curl -X POST "https://api.comnethub.app/v1/bulk/orders/labels" \
-H "Authorization: Bearer $THECOMNET_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"orderIds": [
"0192f0c4-8d1e-7a4b-9c3e-5f6a7b8c9d0e"
]
}' \
-o label.pdf