Listings
Get Channel Listings
GET https://api.bigcommerce.com/stores/{store_hash}/v3/channels/{channel_id}/listingsRequest
Returns a list of all Channel Listings for a specific channel. We recommend using this endpoint for non-storefront channels like marketplaces, marketing channels, and point of sale (POS) channels. Note that if the Channel is not found or there is no listing associated with the Channel, it will return a 200 response with empty data.
Authentication
- X-Auth-Token in header
Parameters
- store_hash in path - string
- Accept in header with default of application/json - stringrequiredThe MIME type of the response body.
- channel_id in path - integerrequiredThe ID of a channel.
- limit in query - integerControls the number of items per page for paginated responses.
- after in query - integerSpecifies the prior listing ID in a limited (paginated) list of listings.
- product_id:in in query - arrayFilter items by a comma-separated list of product IDs.Type: array[integer]
- date_created in query - stringFilter items by date created. For example,
date_created=2024-05-14T09:34:00
ordate_created=2024-05-14
. - date_created:min in query - stringFilter items by minimum date created. For example,
date_created=2024-05-14T09:34:00
ordate_created=2024-05-14
. Returns metafields created after this date. - date_created:max in query - stringFilter items by maximum date created. For example,
date_created=2024-05-14T09:34:00
ordate_created=2024-05-14
. Returns metafields created before this date. - date_modified in query - stringFilter items by date modified. For example,
date_created=2024-05-14T09:34:00
ordate_created=2024-05-14
. - date_modified:min in query - stringFilter items by minimum date modified. For example,
date_created=2024-05-14T09:34:00
ordate_created=2024-05-14
. Returns metafields modified after this date. - date_modified:max in query - stringFilter items by maximum date modified. For example,
date_created=2024-05-14T09:34:00
ordate_created=2024-05-14
. Returns metafields modified before this date.
example
curl --request GET \
--url 'https://api.bigcommerce.com/stores/[store_hash]/v3/channels/[channel_id]/listings' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'X-Auth-Token: {{token}}'
Response
Body
object | application/json
dataarray[object]
Single Listing
{
"data": [
{
"channel_id": 667159,
"listing_id": 882998595,
"product_id": 80,
"state": "active",
"name": "Orbit Terrarium - Large",
"description": "The same terrarium, but not a [Sample]",
"date_created": "2021-05-24T17:46:33Z",
"date_modified": "2021-05-24T17:46:33Z",
"variants": [
{
"channel_id": 667159,
"product_id": 80,
"variant_id": 64,
"state": "active",
"name": "Terrarium with dinosaur",
"date_created": "2021-05-24T17:46:33Z",
"date_modified": "2021-05-24T17:46:33Z"
},
{
"channel_id": 667159,
Multiple Listings
{
"data": [
{
"channel_id": 664177,
"listing_id": 882789361,
"product_id": 80,
"state": "active",
"name": "Orbit Terrarium - Large",
"description": "The same terrarium, but not a [Sample]",
"date_created": "2021-05-24T17:46:33Z",
"date_modified": "2021-05-24T17:46:33Z",
"variants": [
{
"channel_id": 664177,
"product_id": 80,
"variant_id": 64,
"state": "active",
"name": "Terrarium with dinosaur",
"date_created": "2021-05-24T17:46:33Z",
"date_modified": "2021-05-24T17:46:33Z"
},
{
"channel_id": 664177,
"product_id": 80,
Create Channel Listings
POST https://api.bigcommerce.com/stores/{store_hash}/v3/channels/{channel_id}/listingsRequest
Creates one or more Channel Listings for a specific channel. We recommend using this endpoint for non-storefront channels like marketplaces, marketing channels, and point of sale (POS) channels.
Authentication
- X-Auth-Token in header
Parameters
- store_hash in path - string
- Accept in header with default of application/json - stringrequiredThe MIME type of the response body.
- channel_id in path - integerrequiredThe ID of a channel.
- Content-Type in header with default of application/json - stringrequiredThe MIME type of the request body.
Body
array | application/json
product_idinteger
requiredThe ID of the product associated with this channel listing.external_idstring
Associated ID within a system / platform outside of BC.statestring
requiredThe state of the product assignment or channel listing.Allowed: active | disabled | error | pending | pending_disable | pending_delete | partially_rejected | queued | rejected | submitted | deleted
namestring
Name of the product for this channel listing specifically. This is an optional field that can be used to override the product name in the catalog.descriptionstring
Description of the product for this channel listing specifically. This is an optional field that can be used to override the product description in the catalog.variantsarray[object]
required
Create Single Listing
[
{
"product_id": 80,
"state": "active",
"name": "Orbit Terrarium - Large",
"description": "The same terrarium, but not a [Sample]",
"variants": [
{
"product_id": 80,
"variant_id": 64,
"state": "active",
"name": "Terrarium with dinosaur"
},
{
"product_id": 80,
"variant_id": 65,
"state": "active",
"name": "Terrarium with fish"
}
]
}
]
Create Multiple Listings
[
{
"product_id": 80,
"state": "active",
"name": "Orbit Terrarium - Large",
"description": "The same terrarium, but not a [Sample]",
"variants": [
{
"product_id": 80,
"variant_id": 64,
"state": "active",
"name": "Terrarium with dinosaur"
},
{
"product_id": 80,
"variant_id": 65,
"state": "active",
"name": "Terrarium with fish"
}
]
},
{
"product_id": 100,
"state": "pending",
"name": "Womenʼs Bold T-Shirt",
"description": "The same t-shirt, but not a [Sample]",
"variants": [
{
"product_id": 100,
Response
Body
object | application/json
dataarray[object]
Single Listing
{
"data": [
{
"channel_id": 667159,
"listing_id": 882998595,
"product_id": 80,
"state": "active",
"name": "Orbit Terrarium - Large",
"description": "The same terrarium, but not a [Sample]",
"date_created": "2021-05-24T17:46:33Z",
"date_modified": "2021-05-24T17:46:33Z",
"variants": [
{
"channel_id": 667159,
"product_id": 80,
"variant_id": 64,
"state": "active",
"name": "Terrarium with dinosaur",
"date_created": "2021-05-24T17:46:33Z",
"date_modified": "2021-05-24T17:46:33Z"
},
{
"channel_id": 667159,
Multiple Listings
{
"data": [
{
"channel_id": 664177,
"listing_id": 882789361,
"product_id": 80,
"state": "active",
"name": "Orbit Terrarium - Large",
"description": "The same terrarium, but not a [Sample]",
"date_created": "2021-05-24T17:46:33Z",
"date_modified": "2021-05-24T17:46:33Z",
"variants": [
{
"channel_id": 664177,
"product_id": 80,
"variant_id": 64,
"state": "active",
"name": "Terrarium with dinosaur",
"date_created": "2021-05-24T17:46:33Z",
"date_modified": "2021-05-24T17:46:33Z"
},
{
"channel_id": 664177,
"product_id": 80,
Update Channel Listings
PUT https://api.bigcommerce.com/stores/{store_hash}/v3/channels/{channel_id}/listingsRequest
Updates one or more Channel Listings for a specific channel. We recommend using this endpoint for non-storefront channels like marketplaces, marketing channels, and point of sale (POS) channels.
Note
- Partial updates are supported. In most cases, if a field that cannot be updated is passed in, the API will not respond with an error. It returns a 200 response with the object, in which you will see the field(s) were not updated.
- If a new variant is provided, the API will append the variant to the list. If a variant already exists, the API will update the existing variant. Other variants that are not provided in the payload remains unchanged.
- If
listing_id
does not exist, the API will return a 200 response with empty data. listing_id
is required and cannot be less than or equal to zero.product_id
cannot be updated after a channel listing is created.product_id
of a variant must match theproduct_id
of the channel listing.
Authentication
- X-Auth-Token in header
Parameters
- store_hash in path - string
- Accept in header with default of application/json - stringrequiredThe MIME type of the response body.
- channel_id in path - integerrequiredThe ID of a channel.
- Content-Type in header with default of application/json - stringrequiredThe MIME type of the request body.
Body
array | application/json
listing_idinteger
requiredThe ID of the channel listing that has been created, returned, or updated. In a 422 error, you may receive a response that references thegroup_id
. Thegroup_id
in the Invalid Listing ID example refers to thelisting_id
. Please uselisting_id
instead ofgroup_id
in the request payload.Min: 1product_idinteger
requiredThe ID of the product associated with this channel listing.external_idstring
Associated ID within a system / platform outside of BC.statestring
requiredThe state of the product assignment or channel listing.Allowed: active | disabled | error | pending | pending_disable | pending_delete | partially_rejected | queued | rejected | submitted | deleted
namestring
Name of the product for this channel listing specifically. This is an optional field that can be used to override the product name in the catalog.descriptionstring
Description of the product for this channel listing specifically. This is an optional field that can be used to override the product description in the catalog.variantsarray[object]
required
Update Single Listing
[
{
"listing_id": 882998595,
"product_id": 80,
"state": "active",
"name": "Orbit Terrarium - Large",
"variants": [
{
"product_id": 80,
"variant_id": 64,
"state": "active",
"name": "Terrarium with dinosaur"
}
]
}
]
Update Multiple Listings
[
{
"listing_id": 882789361,
"product_id": 80,
"state": "active",
"name": "Orbit Terrarium - Large",
"variants": [
{
"product_id": 80,
"variant_id": 64,
"state": "active",
"name": "Terrarium with dinosaur"
}
]
},
{
"listing_id": 882789362,
"product_id": 100,
"state": "pending",
"name": "Womenʼs Bold T-Shirt",
"variants": [
{
"product_id": 100,
"variant_id": 91,
"state": "pending",
"name": "Small womenʼs bold t-shirt"
}
]
}
]
Response
Body
object | application/json
dataarray[object]
Single Listing
{
"data": [
{
"channel_id": 667159,
"listing_id": 882998595,
"product_id": 80,
"state": "active",
"name": "Orbit Terrarium - Large",
"description": "The same terrarium, but not a [Sample]",
"date_created": "2021-05-24T17:46:33Z",
"date_modified": "2021-05-24T17:46:33Z",
"variants": [
{
"channel_id": 667159,
"product_id": 80,
"variant_id": 64,
"state": "active",
"name": "Terrarium with dinosaur",
"date_created": "2021-05-24T17:46:33Z",
"date_modified": "2021-05-24T17:46:33Z"
},
{
"channel_id": 667159,
Multiple Listings
{
"data": [
{
"channel_id": 664177,
"listing_id": 882789361,
"product_id": 80,
"state": "active",
"name": "Orbit Terrarium - Large",
"description": "The same terrarium, but not a [Sample]",
"date_created": "2021-05-24T17:46:33Z",
"date_modified": "2021-05-24T17:46:33Z",
"variants": [
{
"channel_id": 664177,
"product_id": 80,
"variant_id": 64,
"state": "active",
"name": "Terrarium with dinosaur",
"date_created": "2021-05-24T17:46:33Z",
"date_modified": "2021-05-24T17:46:33Z"
},
{
"channel_id": 664177,
"product_id": 80,
Get a Channel Listing
GET https://api.bigcommerce.com/stores/{store_hash}/v3/channels/{channel_id}/listings/{listing_id}Request
Returns a Channel Listing for a specific channel. We recommend using this endpoint for non-storefront channels like marketplaces, marketing channels, and point of sale (POS) channels.
Authentication
- X-Auth-Token in header
Parameters
- store_hash in path - string
- Accept in header with default of application/json - stringrequiredThe MIME type of the response body.
- channel_id in path - integerrequiredThe ID of a channel.
- listing_id in path - integerrequiredThe ID of a channel listing.
example
curl --request GET \
--url 'https://api.bigcommerce.com/stores/[store_hash]/v3/channels/[channel_id]/listings/[listing_id]' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'X-Auth-Token: {{token}}'
Response
Body
object | application/json
dataobject
response
{
"data": {
"channel_id": 667159,
"listing_id": 882998595,
"product_id": 80,
"state": "active",
"name": "Orbit Terrarium - Large",
"description": "The same terrarium, but not a [Sample]",
"date_created": "2021-05-24T17:46:33Z",
"date_modified": "2021-05-24T17:46:33Z",
"variants": [
{
"channel_id": 667159,
"product_id": 80,
"variant_id": 64,
"state": "active",
"name": "Terrarium with dinosaur",
"date_created": "2021-05-24T17:46:33Z",
"date_modified": "2021-05-24T17:46:33Z"
},
{
"channel_id": 667159,
"product_id": 80,
"variant_id": 65,
"state": "active",
Did you find what you were looking for?