v3

latestOpenAPI 3.1.02026-08-0619186200.1 KB
Products

Create Product

This endpoint allows merchants to create products within ShipMonk. Once created, product data is immutable via API — updates must be made via the ShipMonk web app. SKUs must be unique within the account. ShipMonk will reject non-unique SKUs with a 400 error.

The required_packaging field defines the minimum packaging suitable for a product. When fulfilling an order, ShipMonk selects the smallest packaging type that satisfies every item in the shipment — for example, if an order contains one product that can ship in a poly mailer and another that requires a box, the entire order ships in a box. Field country_of_origin accepts a 2-letter ISO 3166-1 alpha-2 country code.

Fragile products

Fragile products must have required_packaging set to box. Submitting any other value will return a 400 error.

post/v1/integrations/product

Request body

product_keystring required

Unique identifier for the product in your external system. Must be unique across all your products.

skustring required

Stock Keeping Unit (SKU) identifying the product. Must be unique across all active products in your account.

namestring required

Human-readable product name displayed in the UI and on documents.

required_packaging'poly_mailer' | 'bubble_mailer' | 'box' | 'slap_a_label' | 'custom' required
fragileboolean required

Whether the product requires fragile handling during fulfillment. If true, required_packaging must be box.

replacement_costnumber double required

Cost to replace the product, used for insurance and claims. Must be positive, in the currency given by currency_code.

customs_declaration_valuenumber double required

Declared customs value per unit, used to calculate duties and taxes on international shipments. Must be positive, in the currency given by currency_code.

country_of_originstring required

Country of origin as an ISO 3166-1 alpha-2 code (e.g. US, DE, CN), used on customs documentation for international shipments.

barcodesstring[] required

Barcodes associated with the product (e.g. UPC, EAN, ISBN). Each barcode must be 1-255 characters; pass an empty array if none.

weight_lbnumber double nullable

Product weight in pounds (decimal). Must be positive. Omit or set null if weight is unknown.

currency_codestring

ISO 4217 currency code (e.g. USD, EUR) for replacement_cost and customs_declaration_value. Defaults to USD.

hs_codestring nullable

Default Harmonized System (HS) code used on customs declarations when no region-specific code in hs_codes matches. Max 255 characters.

image_urlstring nullable

Publicly accessible URL of the product image. Must be a valid URL and unique across all your products.

Response

Success

statusinteger required