You can refer to the offical swagger documentation : http://devdocs.magento.com/swagger/index_20.html#/
1/ You need to create a guest cart :
POST http://domain.com/rest/V1/guest-carts
Which return a guest cart id such as 881d962b14c14764a0f5939be4722cbc
.
2/ (Optional) Retrieve the quote id from this API call :
GET http://domain.com/rest/V1/guest-carts/881d962b14c14764a0f5939be4722cbc
Where a field id correspond to the quote id, for example "id": 31
.
3/ Add a product to your cart :
POST http://domain.com/rest/V1/guest-carts/881d962b14c14764a0f5939be4722cbc/items
The payload pattern is :
{
"cartItem": {
"itemId": 0,
"sku": "string",
"qty": 0,
"name": "string",
"price": 0,
"productType": "string",
"quoteId": "881d962b14c14764a0f5939be4722cbc",
"productOption": {
"extensionAttributes": {
"customOptions": [
{
"optionId": "string",
"optionValue": "string",
"extensionAttributes": {
"fileInfo": {
"base64EncodedData": "string",
"type": "string",
"name": "string"
}
}
}
],
"downloadableOption": {
"downloadableLinks": [
0
]
},
"giftcardItemOption": {
"giftcardAmount": 0,
"customGiftcardAmount": 0,
"giftcardSenderName": "string",
"giftcardRecipientName": "string",
"giftcardSenderEmail": "string",
"giftcardRecipientEmail": "string",
"giftcardMessage": "string",
"extensionAttributes": {}
},
"configurableItemOptions": [
{
"optionId": "string",
"optionValue": 0,
"extensionAttributes": {}
}
],
"bundleOptions": [
{
"optionId": 0,
"optionQty": 0,
"optionSelections": [
0
],
"extensionAttributes": {}
}
]
}
},
"extensionAttributes": {}
}
}
An example for a basic configurable product :
{
"cartItem": {
"sku": "ProductSKU",
"qty": 1,
"quoteId": "881d962b14c14764a0f5939be4722cbc",
"productOption": {
"extensionAttributes": {
"configurableItemOptions": [
{
"optionId": "178",
"optionValue": 45,
"extensionAttributes": {}
}
]
}
}
}
}
Magento uses both cartId and quoteId that referece on different internal id.