Get Product Listings
curl --request GET \
--url https://omnicommerce.sg/api/v1/products/{productId}/listings \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://omnicommerce.sg/api/v1/products/{productId}/listings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://omnicommerce.sg/api/v1/products/{productId}/listings"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"ok": true,
"apiVersion": "developer_v1",
"operationId": "<string>",
"status": "accepted",
"warnings": [
"<string>"
],
"recommendations": [
"<string>"
],
"links": {},
"data": {
"productId": "<string>",
"listings": [
{
"marketplace": "<string>",
"marketplaceLabel": "<string>",
"country": "<string>",
"storeId": "<string>",
"storeLabel": "<string>",
"published": true,
"unlisted": true,
"itemId": "<string>",
"listingUrl": "<string>",
"publishedAt": "<string>",
"latestPublish": {
"jobId": "<string>",
"status": "pending",
"action": "<string>",
"message": "<string>",
"error": "<string>",
"updatedAt": "<string>",
"errorDetail": "<unknown>"
}
}
]
},
"jobId": "<string>",
"productId": "<string>"
}Products
Get Product Listings
Where a product is listed: each marketplace’s store, live or delisted state, item id, buyer-facing URL, and the latest publish attempt with any rejection details. Requires catalog:read.
Poll after POST /api/v1/products/{productId}/publish.
GET
/
api
/
v1
/
products
/
{productId}
/
listings
Get Product Listings
curl --request GET \
--url https://omnicommerce.sg/api/v1/products/{productId}/listings \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://omnicommerce.sg/api/v1/products/{productId}/listings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://omnicommerce.sg/api/v1/products/{productId}/listings"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"ok": true,
"apiVersion": "developer_v1",
"operationId": "<string>",
"status": "accepted",
"warnings": [
"<string>"
],
"recommendations": [
"<string>"
],
"links": {},
"data": {
"productId": "<string>",
"listings": [
{
"marketplace": "<string>",
"marketplaceLabel": "<string>",
"country": "<string>",
"storeId": "<string>",
"storeLabel": "<string>",
"published": true,
"unlisted": true,
"itemId": "<string>",
"listingUrl": "<string>",
"publishedAt": "<string>",
"latestPublish": {
"jobId": "<string>",
"status": "pending",
"action": "<string>",
"message": "<string>",
"error": "<string>",
"updatedAt": "<string>",
"errorDetail": "<unknown>"
}
}
]
},
"jobId": "<string>",
"productId": "<string>"
}Authorizations
Bearer API key for server-to-server access. Session auth is also supported in first-party UI flows.
Path Parameters
Query Parameters
Required for session auth. API keys already belong to one organization.
Maximum string length:
160Response
The product's listings.
Allowed value:
"developer_v1"Available options:
accepted, completed, failed Show child attributes
Show child attributes
Show child attributes
Show child attributes