coupang
POST/v2/providers/seller_api/apis/api/v1/marketplace/seller-products2609170000

Product Creation (Rocket Growth & Rocket Growth/Marketplace Hybrid Products)

# 01

Summary

Product Creation (Rocket Growth & Rocket Growth/Marketplace Hybrid Products)

# 02

Details

Available buyer market: Korean

API to register products sold on Coupang.

In case of Rocket Growth product creation, to successfully call the API, first go to WING platform > seller information menu > additional information menu > "OPEN API key issuance" area and click "Agree to use and review criteria for Rocket Growth product creation API" on the right side to consent and then use.

If you use the Marketplace product creation API, you can create Rocket Growth products or Rocket Growth & Marketplace hybrid products with the same endpoint, but you must use the new schema in this document. You can refer to the green text for the parameters added/changed in the existing product creation API. If you add a Rocket Growth product to an existing Marketplace product, you can add it using the product modification API.

In order to create a product, you must include information such as shipping/return locations, category, koshi info, option info that complies to Coupang's guides.
Please download the product registration guide below for further details:
Download Coupang OPENAPI Product Registration Guide

Path

POST/v2/providers/seller_api/apis/api/v1/marketplace/seller-products

Example endpoint

https://api-gateway.coupang.com/v2/providers/seller_api/apis/api/v1/marketplace/seller-products

URL API Name

CREATE_PRODUCT
# 03

Request body

Request parameters

Body parameter

NameTypeDescription
object
O
O
object[]
Display category code
Check by either using category list query API or downloading the category info excel. displayCategoryCode 
※ If you do not enter the displayCategoryCode, click here for the category auto matching service.
sellerProductName*string
Product name for registration
Product name used for PO.
max length: 100 characters
vendorId*string
VendorID
Unique code issued to vendor by Coupang. Can be found in Wing after log-in.
saleStartedAt*string
Starting date of sales
"yyyy-MM-dd'T'HH:mm:ss" format
saleEndedAt*string
Ending date of sales
"yyyy-MM-dd'T'HH:mm:ss" format, *can input long period of up to 2099.
displayProductNamestring
Product name for display
Actual product name to be displayed on Coupang product detail page.
[brand]+[generalProductName] format is encouraged. Product can still be registered with this field left empty. If left empty, either [brand]+[generalProductName] or [sellerProductName] format will be displayed instead.

max length: 100 characters
brandstring
Brand
Input the official brand name in Korean/ English with no space in between and no special characters.
brandIdstring
Brand ID associated with the product. Returned when brand information exists.
generalProductNamestring
Product name
Product name without buying option[Attribute exposed] info (e.g., size, color, etc.). Model name can be added.
productGroupstring
Product category
Represents the product type. You may refer to display category's final leaf category name. No need to input this if identical with product name [generalProductName].
marketplaceShippingAndReturnInfoobject
Delivery and return information is required for creating Marketplace items. As for Rocket Growth, Coupang delivers and receive returns and hence this information may be null for creating Rocket Growth listing only.
deliveryMethod*
marketplaceShippingAndReturnInfo.deliveryMethod
string
Delivery method
Parameter Name Status
SEQUENCIAL normal delivery (sequential delivery)
COLD_FRESH fresh frozen
MAKE_ORDER made to order
AGENT_BUY purchase agent
VENDOR_DIRECT installation delivery or delivered directly by vendor
For fresh food, you must select fresh frozen type, not normal delivery.
Parameter NameStatus
SEQUENCIAL
COLD_FRESH
MAKE_ORDER
AGENT_BUY
VENDOR_DIRECT
deliveryCompanyCode*
marketplaceShippingAndReturnInfo.deliveryCompanyCode
string
deliveryChargeType*
marketplaceShippingAndReturnInfo.deliveryChargeType
string
Delivery fee type
Parameter Name Status
FREE free delivery
NOT_FREE paid delivery
CHARGE_RECEIVED fee on arrival
CONDITIONAL_FREE conditional free delivery
● For free delivery:
set up amount for initial shipping fee on return (one-way)[deliveryChargeOnReturn] and return shipping fee (one-way)[returnCharge] 
● For paid delivery:
set up amount for standard shipping fee[deliveryCharge] and return shipping fee (one-way)
● For conditional free delivery:
set up amount for standard shipping fee and return shipping fee (one-way)
● For fee on arrival:
Categories applicable for fee on arrival are predefined and shared with seller support center to guide vendors.
※ For [CONDITIONAL_FREE], you may freely set a conditional amount.
Parameter NameStatus
FREE
NOT_FREE
CHARGE_RECEIVED
CONDITIONAL_FREE
deliveryCharge*
marketplaceShippingAndReturnInfo.deliveryCharge
number
Standard delivery fee
Input one-way delivery fee amount for paid delivery and conditional free delivery.
freeShipOverAmount*
marketplaceShippingAndReturnInfo.freeShipOverAmount
number
Conditional amount for free delivery
● Ex) if you want to set condition of at least 10,000 won for free delivery, set [deliveryChargeType] to 'CONDITIONAL_FREE' and input 10000 for [freeShipOverAmount].
※ can only input in 100 won units or more
※ input 0 for free delivery
deliveryChargeOnReturn*
marketplaceShippingAndReturnInfo.deliveryChargeOnReturn
number
Initial shipping fee on return
Shipping fee paid by customer for free delivery return.
remoteAreaDeliverable*
marketplaceShippingAndReturnInfo.remoteAreaDeliverable
string
Remote area delivery possible or not
Parameter Name Status
Y remote area delivery possible
N remote area delivery not possible
Parameter NameStatus
Y
N
unionDeliveryType*
marketplaceShippingAndReturnInfo.unionDeliveryType
string
Bundled delivery possible or not
Parameter Name Status
UNION_DELIVERY bundled delivery possible
NOT_UNION_DELIVERY bundled delivery not possible
※ Condition for bundled delivery:
shipping location info mandatory (only products with same shipping location can be bundled delivered).
Cannot block paid on arrival option.
Parameter NameStatus
UNION_DELIVERY
NOT_UNION_DELIVERY
returnCenterCode*
marketplaceShippingAndReturnInfo.returnCenterCode
string
Return location center code
Extract and input return location center code after creating return location.
● return location can be created through WING or return location creation API.
● if you are unable to create return location, input "NO_RETURN_CENTERCODE" to manually add return location info.
※ Auto return integration service (Goodsflow) is available only if you have a contracted courier. Return location center code is mandatory.
※ For overseas shipping, you must input Korean return location address and the contracted courier code to generate return location center code. *overseas shipping return location guide (Click)
returnChargeName*
marketplaceShippingAndReturnInfo.returnChargeName
string
Return location name
Check on Coupang Wing or by registering return location through Return location query API.
'query return location and input display value of shippingPlaceName'
companyContactNumber*
marketplaceShippingAndReturnInfo.companyContactNumber
string
Return location contact number
Check on Coupang Wing or by registering return location through Return location query API
returnZipCode*
marketplaceShippingAndReturnInfo.returnZipCode
string
Return location postal code
Check on Coupang Wing or by registering return location through return location query API
returnAddress*
marketplaceShippingAndReturnInfo.returnAddress
string
Return location address
Check on Coupang Wing or by registering return location through return location query API
returnAddressDetail*
marketplaceShippingAndReturnInfo.returnAddressDetail
string
Return location detail address
Check on Coupang Wing or by registering Return location through return location query API
returnCharge*
marketplaceShippingAndReturnInfo.returnCharge
number
Return shipping fee
One-way delivery fee for picking up return.
*can only input value 100%-150% of initial shipping fee on return.
outboundShippingPlaceCode*
marketplaceShippingAndReturnInfo.outboundShippingPlaceCode
number
Shipping location address code
Mandatory when selecting bundled delivery. Check by using shipping location query API.
When selecting Overseas Purchasing Agency (AGENT_BUY), only overseas addresses can be entered.
vendorUserId*string
Actual user ID (Coupang Wing ID)
User ID affiliated to the vendor.
requested*boolean
Request for automatic approval or not
Choose auto approve or not when registering a product
● false : only save the uploaded contents and do not request for approval yet. (To start selling an item, you must request for sales through Wing or product approval request API)
● true : save and automatically request approval for sales
items*object[]
Vendor item option list
Can add up to max 200 options.
itemName*
items[].itemName
string
Vendor item option name
Input for each item so that there is no overlap.
This is not the option name displayed on the site and may change depending on the buying option.
max length: 150 characters
maximumBuyForPerson*
items[].maximumBuyForPerson
number
Max order quantity per person
Maximum quantity a person can order for that product. 
input '0' if no limit needs to be applied.
ex) if max order quantity per person is set to 100 and max order quantity period is set at 3, then one person can buy maximum 100 for 3 days total.
maximumBuyForPersonPeriod*
items[].maximumBuyForPersonPeriod
number
Max order quantity period
Time period for the max order quantity limit.
input '1' if no time period needs to be applied.
ex) if max order quantity per person is set to 100 and max order quantity period is set at 3, then one person can buy maximum 100 for 3 days total.
outboundShippingTimeDay*
items[].outboundShippingTimeDay
number
Outbound shipping days (day)
input how many days after the order date (D-day) will the order be outbounded.
ex) input '1' if outbound is the next day (D+1)
unitCount*
items[].unitCount
number
Unit count
Input the number of units included in product. Then, (sale price ÷ unit count) will be calculated to display (price per 1 unit, #,000 won). Input '0' for products that don't need unit price.
adultOnly*
items[].adultOnly
string
19 or older
Parameter Name Status
ADULT_ONLY product sold to age 19 or older
EVERYONE product buyable by all ages (default value)
taxType*
items[].taxType
string
Taxable or not
Parameter Name Status
TAX taxable (default value)
FREE non-taxable
parallelImported*
items[].parallelImported
string
Parallel import or not
Parameter Name Status
PARALLEL_IMPORTED parallel import
NOT_PARALLEL_IMPORTED not parallel import (default value)
※ For parallel import products, Certificate of Import Declaration URL should be included when creating product - Guide on how to register (Click)
overseasPurchased*
items[].overseasPurchased
string
Overseas purchasing agency or not
Parameter Name Status
OVERSEAS_PURCHASED overseas purchasing agency
NOT_OVERSEAS_PURCHASED not overseas purchasing agency(default value)
※ For purchasing agencies, invoice receipt URL should be included when creating product - How to register (Click)
pccNeeded*
items[].pccNeeded
boolean
PCC(personal customs clearance code) required or not
In the case of overseas purchasing agency(AGENT_BUY), the product PCC must be entered as true.
  • default value: not required (false)
true Customer can buy after entering PCC (PCC is included in PO)
false Customer can buy without entering PCC
Parameter NameStatus
TRUE
FALSE or null
Key
items[].pccNeeded.Key
string
Value
certifications
items[].certifications
object[]
Product certification info
Product certification info
certificationType
items[].certifications[].certificationType
string
Certification info type
Use Category meta data querying API to find the right type.
For categories that do not require certification: NOT_REQUIRED
certificationCode
items[].certifications[].certificationCode
string
Certification info code
Code issued by certification authority.
certificationAttachments
items[].certifications[].certificationAttachments
object[]
Certification info attachments

The key of Map is fixed with below two and there is only one of them is needed:
  1. vendorPath: if the image is not from Coupang CDN Server
  2. cdnPath: if the image is already uploaded to Coupang CDN Server

Note: for registering mobile phone with category (displayCategoryCode = 62600, Consumer Electronics>Cell Phone/Tablet PC/Accessories>Cell Phone/Tablet PC>Cell Phone>Unregistered Phones), you can upload below files by setting image url in the attachments.
  1. Mobile communication certificate
  2. Certification mark
searchTags
items[].searchTags
object[]
Keywords
Can repeatedly input as much as needed. ["keyword1","keyword2"]
Can input max 20 keywords with each max length of 20 characters. Cannot enter special characters aside from !@#$%^&*-+;:’.
images*
items[].images
object[]
Image list
Can input repeatedly as much as needed.
imageOrder*
items[].images[].imageOrder
number
Image display order
0,1,2...
imageType*
items[].images[].imageType
string
Image type
Representative image type
Can upload square image under 3MB in JPG and PNG format (min 500 x 500px, max 5000 x 5000px)

● Mandatory
REPRESENTATION : square main image
● Optional
DETAIL : other images (can upload max 9 images)
USED_PRODUCT: used item condition image (can upload max 4 images)
cdnPath*
items[].images[].cdnPath
string
Coupang CDN path
Directly input if uploaded to Coupang CDN. At least one of vendorPath or cdnPath is required.
max length: 200 characters
vendorPath*
items[].images[].vendorPath
string
Vendor image path
Image path used by vendor. If path begins with http://, it will be automatically downloaded and added to Coupang CDN. At least one of vendorPath or cdnPath is required.
Only 80, 443 port image path can be used.
max length: 200 characters
notices
items[].notices
object[]
Display info list
Can check and choose necessary display info by  using Category meta data query API or the All categories list excel file.
noticeCategoryName
items[].notices[].noticeCategoryName
string
Display info category name
Input one of the product display info category for each category.
Can check and choose necessary display info by  using Category meta data query API or the All categories list excel file.
noticeCategoryDetailName
items[].notices[].noticeCategoryDetailName
string
Display info category detail name
content
items[].notices[].content
string
Content
attributes*
items[].attributes
object[]
Option list (attributes)
Object to input option list as predefined by each category level.
Can input as many buying options as needed.
Cannot be added if all values of buying option (attribute exposed) are the same.
Mandatory to input at least one value. For attributes you don't prefer to input, either remove from attributes list or enter and send attributeValueName as "".
attributeTypeName*
items[].attributes[].attributeTypeName
string
Option type name
Can check and select the appropriate option type name by either using Category meta data query API or All category list excel file.
max length: 25 characters
attributeValueName*
items[].attributes[].attributeValueName
string
Option value
Input unit and the value corresponding to option type name [attributeTypeName]
Ex) "200ml"
max length: 30 characters
contents*
items[].contents
object[]
Contents list
Can input repeatedly as much as needed.
contentsType*
items[].contents[].contentsType
string
Contents type
Parameter Name Status
IMAGE image
IMAGE_NO_SPACE image(no space)
TEXT text
IMAGE_TEXT image-text
TEXT_IMAGE text-image
IMAGE_IMAGE image-image
TEXT_TEXT text-text
TITLE title
HTML HTML
contentDetails*
items[].contents[].contentDetails
object[]
Detail content list
content*
items[].contents[].contentDetails[].content
string
Content
detailType*
items[].contents[].contentDetails[].detailType
string
Detailed type
Parameter Name Status
IMAGE image
TEXT text
offerCondition
items[].offerCondition
string
Product condition
Cannot change offerCondition once product is created.
Can choose from below values based on display category code. If left empty, it will be handled as NEW.
Parameter Name Mean
NEW new
REFURBISHED refurbished
USED_BEST used (best)
USED_GOOD used (good)
USED_NORMAL used (normal)
offerDescription
items[].offerDescription
string
Used item detailed description
Describe condition of used item, max 700 characters.
Can only write when offerCondition is entered as used.
rocketGrowthItemData*
items[].rocketGrowthItemData
object
All parameters of this object are required, except external VendorSku, ModelNo. If requesting sku creation of Rocket Growth items or for both Rocket Growth and Marketplace items. If the request is for creating Marketplace item only, these parameters should be null.
barcode
items[].rocketGrowthItemData.barcode
string
Barcode
Valid standard product code attached to product.

Below cases are considered valid barcode:
  • Does not have lower case
  • Barcode is no longer than 19 digits (8, 12, 13, 14, 18 digits are allowed)
  • No DoubleSpaces
  • No spaces before and after characters
emptyBarcodeReason
items[].rocketGrowthItemData.emptyBarcodeReason
string
Reason for no barcode
max length: 100 characters

If you would like to generate Coupang generated barcode, provide “AUTO_GENERATED” as reason
emptyBarcode
items[].rocketGrowthItemData.emptyBarcode
boolean
If sku information will be provided through Create Product API, barcode should be provided as required information
Parameter Name Meaning
TRUE No sku information will be provided
FALSE or null No barcode information. Please provide “AUTO_GENERATED” under “emptyBarcodeReason” item to generate Coupang barcode
externalVendorSku
items[].rocketGrowthItemData.externalVendorSku
string
Vendor product code (vendor SKU code)
Can arbitrarily set vendor's unique item code value. This value will be included in PO query API response.

May be passed as null
modelNo
items[].rocketGrowthItemData.modelNo
string
Model Number

May be passed as null
priceData*
items[].rocketGrowthItemData.priceData
object
originalPrice*
items[].rocketGrowthItemData.priceData.originalPrice
number
Original base price for discount (list price)
Price before discount that is used to calculate discount rate (%). If same price with sale price is inputted, it will be displayed as "Coupang price". use [change option level original base price] API to change this post-approval.
salePrice*
items[].rocketGrowthItemData.priceData.salePrice
number
Sale price
Input sale price.
During "initial" product registration, sale price can only be entered before product approval request. Once approved, sale price can be changed through [change option level price] API.
skuInfo
items[].rocketGrowthItemData.skuInfo
object
This is an optional object when requesting item creation. These information may be provided during item creation or when creating inbound(currently this service is available on Wing). If chosen to provide sku information during item creation, all parameters under this object are required and partial information will lead to error.

If you decide to provide skuInfo, “additionalInformationForRocketGrowth” > “rfmInboundName” item is a required information. If skuInfo has values and no “rfmInboundName” it will lead to error.
fragile
items[].rocketGrowthItemData.skuInfo.fragile
boolean
Whether it is a fragile product true or false
weight
items[].rocketGrowthItemData.skuInfo.weight
number
The default weight unit is g.
netWeight
items[].rocketGrowthItemData.skuInfo.netWeight
number
The default unit of net weight is g.
width
items[].rocketGrowthItemData.skuInfo.width
number
The default unit of width is mm.
length
items[].rocketGrowthItemData.skuInfo.length
number
The default unit of length is mm.
height
items[].rocketGrowthItemData.skuInfo.height
number
Height, the default unit is mm.
quantityPerBox
items[].rocketGrowthItemData.skuInfo.quantityPerBox
number
quantityPerBox should be 1 for Rocket Growth all the time.
distributionPeriod
items[].rocketGrowthItemData.skuInfo.distributionPeriod
number
Distribution period(in days) which should indicate that the product needs to be consumed within. This field is required for categories where “isExpirationDateRequiredForRocketGrowth = true” according to Category Metadata Query API
expiredAtManaged
items[].rocketGrowthItemData.skuInfo.expiredAtManaged
boolean
True if when we have distributionPeriod > 0

False if distributionPeriod = 0
marketplaceItemData*
items[].marketplaceItemData
object
Parameters of this object are required if requesting creation of Marketplace items or for both Rocket Growth and Marketplace items. If the request is for creating Rocket Growth item only, these parameters should be null.
externalVendorSku
items[].marketplaceItemData.externalVendorSku
string
Vendor product code (vendor SKU code)
Can arbitrarily set vendor's unique item code value. This value will be included in PO query API response.
maximumBuyCount
items[].marketplaceItemData.maximumBuyCount
number
Quantity available for sale
Input inventory quantity available for sale.
During "initial" product registration, available inventory can only be entered before product approval request. Once approved, available inventory count can be changed through [change option level quantity] API.
max value: 99999
modelNo
items[].marketplaceItemData.modelNo
string
Model Number
emptyBarcode
items[].marketplaceItemData.emptyBarcode
boolean
No barcode
True when there is no barcode
barcode
items[].marketplaceItemData.barcode
string
Barcode
Valid standard product code attached to product.
emptyBarcodeReason
items[].marketplaceItemData.emptyBarcodeReason
string
Reason for no barcode
max length: 100 characters
priceData*
items[].marketplaceItemData.priceData
object
originalPrice*
items[].marketplaceItemData.priceData.originalPrice
number
Original base price for discount (list price)
Price before discount that is used to calculate discount rate (%). If same price with sale price is inputted, it will be displayed as "Coupang price". use [change option level original base price] API to change this post-approval.
salePrice*
items[].marketplaceItemData.priceData.salePrice
number
Sale price
Input sale price.
During "initial" product registration, sale price can only be entered before product approval request. Once approved, sale price can be changed through [change option level price] API.
requiredDocumentsobject[]
Input if required documents are mandatory
Can input doc with file size up to 5MB (PDF, HWP, DOC, DOCX, TXT, PNG, JPG, JPEG)
templateName
requiredDocuments[].templateName
string
Required document template name
Can check through Category meta data querying API
documentPath
requiredDocuments[].documentPath
string
Required document Coupang CDN path
At least one of documentPath or vendorDocumentPath is required.
max length: 150 characters
vendorDocumentPath
requiredDocuments[].vendorDocumentPath
string
Required document vendor path
If required document path starts with http://, then it will be automatically downloaded and added to Coupang CDN. At least one of documentPath or vendorDocumentPath is required.
max length: 150 characters
extraInfoMessagestring
Message with information on made to orders.
Message to be displayed when customers select delivery type "made to order".
manufacturestring
Manufacturer
If cannot input exact manufacturer info, then input same info as [brand].
additionalInformationForRocketGrowth*object
rfmInboundName
additionalInformationForRocketGrowth.rfmInboundName
string
This field indicates the Rocket Growth logistics information name as part of inbounding information.

If you decide to provide “skuInfo”, this is a required information. If skuInfo has values and no “rfmInboundName” it will lead to error.
legalAgreement*
additionalInformationForRocketGrowth.legalAgreement
string
This field indicates the Rocket Growth legal agreement for handling Rocket Growth products. Any value for this key other than "AGREE" would result in error. All Rocket Growth item creation requires consent information on policy. See the policy below.
# 04

Response body

Response message

NameTypeDescription
codestring
result code
SUCCES/ERROR
messagestring
message
datainteger
registered product ID
=sellerProductId

Response Example

"code": "SUCCESS"
# 05

Error codes

HTTPCodeMessage
--