Skip to content
↑↓ navigate↵ openEsc close

API reference

Fulfillment & catalog

Live marketplace actions: shipping, labels, after-sales decisions, and product listing.

List catalog categories

GET/v1/stores/{storeId}/catalog/categories

Leaf categories the shop may list in, filtered by name or path.

Scopes:products:read

Path parameters

  • storeIdstringrequired

    format: uuid

Query parameters

  • qstringoptional

    max length 100

Response200 · application/json

At most 50 categories

  • itemsarray<CatalogCategory>required
    Show 3 child attributes
    • idstringrequired
    • namestringrequired
    • pathstringrequired

      Ancestor names joined with " > ".

Example request · curl
curl "https://api.comnethub.app/v1/stores/$STORE_ID/catalog/categories" \
  -H "Authorization: Bearer $THECOMNET_API_KEY"

Recommend catalog category

POST/v1/stores/{storeId}/catalog/categories/recommend

Category the marketplace suggests for a product title.

Scopes:products:read

Path parameters

  • storeIdstringrequired

    format: uuid

Request bodyapplication/json

  • titlestringrequired

    min length 1 · max length 255

Response200 · application/json

Suggestion, or null

  • categoryCatalogCategoryrequirednullable
    Show 3 child attributes
    • idstringrequired
    • namestringrequired
    • pathstringrequired

      Ancestor names joined with " > ".

Example request · curl
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

GET/v1/stores/{storeId}/catalog/categories/{categoryId}/attributes

Attributes and listing rules of a category.

Scopes:products:read

Path parameters

  • storeIdstringrequired

    format: uuid

  • categoryIdstringrequired

    max length 40

Response200 · application/json

Attributes and rules

  • attributesarray<CatalogAttribute>required
    Show 7 child attributes
    • idstringrequired
    • namestringrequired
    • kindstringrequired

      sales attributes define variants; product attributes describe the product.

      One of:salesproduct

    • requiredbooleanrequired
    • multiplebooleanrequired
    • customizablebooleanrequired

      Free-text values are allowed besides the listed ones.

    • valuesarray<object>required
      Show 2 child attributes
      • idstringrequired
      • namestringrequired
  • rulesobjectrequired
    Show 4 child attributes
    • sizeChartRequiredbooleanrequired
    • sizeChartSupportedbooleanrequired
    • dimensionsRequiredbooleanrequired
    • codSupportedbooleanrequired
Example request · curl
curl "https://api.comnethub.app/v1/stores/$STORE_ID/catalog/categories/$CATEGORY_ID/attributes" \
  -H "Authorization: Bearer $THECOMNET_API_KEY"

List catalog brands

GET/v1/stores/{storeId}/catalog/brands

Brands available for a category.

Scopes:products:read

Path parameters

  • storeIdstringrequired

    format: uuid

Query parameters

  • categoryIdstringoptional

    max length 40

  • qstringoptional

    max length 100

Response200 · application/json

Brands

  • itemsarray<CatalogBrand>required
    Show 3 child attributes
    • idstringrequired
    • namestringrequired
    • authorizedbooleanrequired
Example request · curl
curl "https://api.comnethub.app/v1/stores/$STORE_ID/catalog/brands" \
  -H "Authorization: Bearer $THECOMNET_API_KEY"

List catalog warehouses

GET/v1/stores/{storeId}/catalog/warehouses

The shop's enabled sales warehouses on the marketplace.

Scopes:products:read

Path parameters

  • storeIdstringrequired

    format: uuid

Response200 · application/json

Warehouses

  • itemsarray<CatalogWarehouse>required
    Show 3 child attributes
    • idstringrequired
    • namestringrequired
    • isDefaultbooleanrequired
Example request · curl
curl "https://api.comnethub.app/v1/stores/$STORE_ID/catalog/warehouses" \
  -H "Authorization: Bearer $THECOMNET_API_KEY"

Upload catalog image

POST/v1/stores/{storeId}/catalog/images

Upload an image to the marketplace for use in a product.

Scopes:products:write

Path parameters

  • storeIdstringrequired

    format: uuid

Request bodyapplication/json

  • datastringrequired

    Base64 image, at most 5 MB decoded.

    max length 7000000

  • filenamestringoptional

    max length 200

  • contentTypestringrequired

    One of:image/jpegimage/pngimage/webp

  • useCasestringrequired

    One of:MAIN_IMAGEATTRIBUTE_IMAGESIZE_CHART_IMAGE

Response201 · application/json

Uploaded

  • uristringrequired

    min length 1 · max length 500

  • urlstringoptionalnullable

    max length 2000

Example request · curl
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

POST/v1/stores/{storeId}/catalog/products

Create a product on the marketplace; the product sync picks it up.

Scopes:products:write

Path parameters

  • storeIdstringrequired

    format: uuid

Request bodyapplication/json

  • titlestringrequired

    min length 1 · max length 255

  • descriptionstringrequired

    HTML.

    min length 1 · max length 20000

  • categoryIdstringrequired

    min length 1 · max length 40

  • categoryPathstringoptionalnullable

    max length 500

  • brandIdstringoptionalnullable

    max length 40

  • imagesarray<CatalogImage>required

    min items 1 · max items 9

    Show 2 child attributes
    • uristringrequired

      min length 1 · max length 500

    • urlstringoptionalnullable

      max length 2000

  • sizeChartCatalogImageoptionalnullable
    Show 2 child attributes
    • uristringrequired

      min length 1 · max length 500

    • urlstringoptionalnullable

      max length 2000

  • attributesarray<object>required

    max items 100

    Show 3 child attributes
    • idstringrequired

      max length 40

    • valueIdsarray<string>optional

      max items 50

    • valuesarray<string>optional

      max items 50

  • weightKgstringrequired

    pattern: ^\d{1,3}(\.\d{1,3})?$

  • dimensionsCmobjectoptionalnullable
    Show 3 child attributes
    • lengthstringrequired

      pattern: ^\d{1,4}$

    • widthstringrequired

      pattern: ^\d{1,4}$

    • heightstringrequired

      pattern: ^\d{1,4}$

  • codAllowedbooleanoptional
  • saveAsDraftbooleanoptional

    Save on the marketplace as a draft instead of submitting for review.

  • skusarray<object>required

    min items 1 · max items 100

    Show 5 child attributes
    • sellerSkustringoptionalnullable

      max length 50

    • pricestringrequired

      pattern: ^\d{1,12}(\.\d{1,2})?$

    • stockintegerrequired

      min 0 · max 99999

    • warehouseIdstringoptionalnullable

      max length 40

    • optionsarray<object>required

      max items 3

      Show 3 child attributes
      • namestringrequired

        min length 1 · max length 50

      • valuestringrequired

        min length 1 · max length 50

      • imageCatalogImageoptionalnullable
        Show 2 child attributes
        • uristringrequired

          min length 1 · max length 500

        • urlstringoptionalnullable

          max length 2000

Response201 · application/json

Created

  • externalProductIdstringrequired
  • skusarray<object>required
    Show 2 child attributes
    • externalSkuIdstringrequired
    • sellerSkustringrequirednullable
  • warningsarray<string>required
Example request · curl
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

GET/v1/stores/{storeId}/catalog/products/{externalProductId}/draft

An existing product of the shop as a draft, to list a copy.

Scopes:products:read

Path parameters

  • storeIdstringrequired

    format: uuid

  • externalProductIdstringrequired

    max length 64

Response200 · application/json

Draft

  • titlestringrequired

    min length 1 · max length 255

  • descriptionstringrequired

    HTML.

    min length 1 · max length 20000

  • categoryIdstringrequired

    min length 1 · max length 40

  • categoryPathstringoptionalnullable

    max length 500

  • brandIdstringoptionalnullable

    max length 40

  • imagesarray<CatalogImage>required

    min items 1 · max items 9

    Show 2 child attributes
    • uristringrequired

      min length 1 · max length 500

    • urlstringoptionalnullable

      max length 2000

  • sizeChartCatalogImageoptionalnullable
    Show 2 child attributes
    • uristringrequired

      min length 1 · max length 500

    • urlstringoptionalnullable

      max length 2000

  • attributesarray<object>required

    max items 100

    Show 3 child attributes
    • idstringrequired

      max length 40

    • valueIdsarray<string>optional

      max items 50

    • valuesarray<string>optional

      max items 50

  • weightKgstringrequired

    pattern: ^\d{1,3}(\.\d{1,3})?$

  • dimensionsCmobjectoptionalnullable
    Show 3 child attributes
    • lengthstringrequired

      pattern: ^\d{1,4}$

    • widthstringrequired

      pattern: ^\d{1,4}$

    • heightstringrequired

      pattern: ^\d{1,4}$

  • codAllowedbooleanoptional
  • saveAsDraftbooleanoptional

    Save on the marketplace as a draft instead of submitting for review.

  • skusarray<object>required

    min items 1 · max items 100

    Show 5 child attributes
    • sellerSkustringoptionalnullable

      max length 50

    • pricestringrequired

      pattern: ^\d{1,12}(\.\d{1,2})?$

    • stockintegerrequired

      min 0 · max 99999

    • warehouseIdstringoptionalnullable

      max length 40

    • optionsarray<object>required

      max items 3

      Show 3 child attributes
      • namestringrequired

        min length 1 · max length 50

      • valuestringrequired

        min length 1 · max length 50

      • imageCatalogImageoptionalnullable
        Show 2 child attributes
        • uristringrequired

          min length 1 · max length 500

        • urlstringoptionalnullable

          max length 2000

Example request · curl
curl "https://api.comnethub.app/v1/stores/$STORE_ID/catalog/products/$EXTERNAL_PRODUCT_ID/draft" \
  -H "Authorization: Bearer $THECOMNET_API_KEY"

Get shipping options

GET/v1/orders/{orderId}/shipping-options

Pickup slots and drop-off availability, read live from the marketplace.

Scopes:orders:read

Path parameters

  • orderIdstringrequired

    format: uuid

Response200 · application/json

Options

  • packageIdstringrequirednullable
  • pickupobjectrequired
    Show 2 child attributes
    • availablebooleanrequired
    • slotsarray<object>required
      Show 4 child attributes
      • idstringrequired
      • labelstringrequired
      • startAtstringrequirednullable

        format: date-time

      • endAtstringrequirednullable

        format: date-time

  • dropoffobjectrequired
    Show 1 child attributes
    • availablebooleanrequired
Example request · curl
curl "https://api.comnethub.app/v1/orders/$ORDER_ID/shipping-options" \
  -H "Authorization: Bearer $THECOMNET_API_KEY"

Arrange shipment

POST/v1/orders/{orderId}/ship

Arrange pickup or drop-off for the order on the marketplace.

Scopes:orders:write

Path parameters

  • orderIdstringrequired

    format: uuid

Request bodyapplication/json

  • methodstringrequired

    One of:pickupdropoff

  • slotIdstringoptional

    max length 100

Response204

Arranged; the order is refreshed from the marketplace

No response body.

Example request · curl
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

GET/v1/orders/{orderId}/shipping-label

Shipping label PDF.

Scopes:orders:read

Path parameters

  • orderIdstringrequired

    format: uuid

Response200 · application/pdf

PDF

binary

Example request · curl
curl "https://api.comnethub.app/v1/orders/$ORDER_ID/shipping-label" \
  -H "Authorization: Bearer $THECOMNET_API_KEY" \
  -o label.pdf

List aftersale requests

GET/v1/orders/{orderId}/aftersale

Pending cancellation and return requests the seller can decide on.

Scopes:orders:read

Path parameters

  • orderIdstringrequired

    format: uuid

Response200 · application/json

Requests

  • itemsarray<AftersaleRequest>required
    Show 10 child attributes
    • externalIdstringrequired
    • kindstringrequired

      One of:cancelreturn

    • typestringrequired
    • statusstringrequired
    • marketplaceStatusstringrequired
    • reasonstringrequirednullable
    • refundAmountstring (decimal)required

      Decimal string with two fraction digits.

    • currencystringrequirednullable
    • canRejectbooleanrequired
    • needsReasonbooleanrequired
Example request · curl
curl "https://api.comnethub.app/v1/orders/$ORDER_ID/aftersale" \
  -H "Authorization: Bearer $THECOMNET_API_KEY"

List reject reasons

GET/v1/orders/{orderId}/aftersale/{externalId}/reject-reasons

Rejection reasons the marketplace accepts for this request.

Scopes:orders:read

Path parameters

  • orderIdstringrequired

    format: uuid

  • externalIdstringrequired

    max length 100

Response200 · application/json

Reasons

  • itemsarray<RejectReason>required
    Show 2 child attributes
    • codestringrequired
    • labelstringrequired
Example request · curl
curl "https://api.comnethub.app/v1/orders/$ORDER_ID/aftersale/$EXTERNAL_ID/reject-reasons" \
  -H "Authorization: Bearer $THECOMNET_API_KEY"

Decide aftersale

POST/v1/orders/{orderId}/aftersale/{externalId}/decision

Approve or reject a cancellation or return request.

Scopes:orders:write

Path parameters

  • orderIdstringrequired

    format: uuid

  • externalIdstringrequired

    max length 100

Request bodyapplication/json

  • approvebooleanrequired
  • reasonCodestringoptional

    max length 100

  • commentstringoptional

    max length 500

Response204

Sent; the order is refreshed from the marketplace

No response body.

Example request · curl
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

POST/v1/bulk/orders/ship

Arrange pickup or drop-off for many orders; pickup takes the earliest offered slot.

Scopes:orders:write

Request bodyapplication/json

  • orderIdsarray<Id>required

    min items 1 · max items 100

  • methodstringrequired

    One of:pickupdropoff

Response200 · application/json

Outcome per order, in request order

  • resultsarray<object>required
    Show 3 child attributes
    • orderIdstringrequired

      format: uuid

    • okbooleanrequired
    • errorobjectrequirednullable
      Show 2 child attributes
      • codestringrequired
      • messagestringrequired
Example request · curl
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

POST/v1/bulk/orders/labels

One 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>required

    min items 1 · max items 200

Response200 · application/pdf

Merged PDF

binary

Example request · curl
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