How to list sales channels
View as MarkdownQuery the sales channels registered to a store — online, retail, mobile, and more.
Overview
Channels represent the surfaces customers can buy from (like an online store, a point-of-sale terminal, a mobile app, or a third-party marketplace). This page covers how to list and read sales channels for a store.
Prerequisites
The following prerequisites are required before you can list sales channels for a store:
- a GoDaddy account with an active commerce store
- a Personal Access Token (PAT) with the
commerce.channel:readscope - your
storeIdFind your store ID
Go to Your stores to find your store ID.
List channels
GET /v1/commerce/channels retrieves sales channels matching the supplied filter. Include at least one of these query parameters — registeredStores.storeId (filter by store) or externalChannelId (filter by the channel's external ID). A request with neither returns 400 INVALID_REQUEST.
The following procedure lists channels registered to a specific store using registeredStores.storeId:
-
Retrieve a list of channels registered to a specific store:
curl -s "https://api.godaddy.com/v1/commerce/channels?registeredStores.storeId=${STORE_ID}" \ -H "Authorization: Bearer $GODADDY_PAT" -
Review the response array of channel objects:
[ { "id": "<ONLINE_CHANNEL_ID>", "name": "<ONLINE_CHANNEL_DISPLAY_NAME>", "type": "<CHANNEL_TYPE>", "status": "<LIFECYCLE_STATUS>", "storeId": "<STORE_UUID>", "createdAt": "<ISO8601_CREATED_TIMESTAMP>", "updatedAt": "<ISO8601_UPDATED_TIMESTAMP>" }, { "id": "<RETAIL_CHANNEL_ID>", "name": "<RETAIL_CHANNEL_DISPLAY_NAME>", "type": "<CHANNEL_TYPE>", "status": "<LIFECYCLE_STATUS>", "storeId": "<STORE_UUID>", "createdAt": "<ISO8601_CREATED_TIMESTAMP>", "updatedAt": "<ISO8601_UPDATED_TIMESTAMP>" } ]
Get channel by ID
GET /v1/commerce/channels/{channelId} retrieves a specific sales channel. PAT callers with store-level commerce.channel:read often receive 401 on this route because the service requires a per-resource FGA relation. List channels for the store and filter instead:
curl -s "https://api.godaddy.com/v1/commerce/channels?registeredStores.storeId=${STORE_ID}" \
-H "Authorization: Bearer $GODADDY_PAT" \
| jq '.items[] | select(.channelId == "<SALES_CHANNEL_ID>")'That returns the full channel object. The get-by-id examples below are the documented route; use the list workaround when get-by-id returns 401.
The following procedure reads a single channel by ID.
-
Retrieve a single channel by its
id:CHANNEL_ID="<SALES_CHANNEL_ID>" curl -s "https://api.godaddy.com/v1/commerce/channels/${CHANNEL_ID}" \ -H "Authorization: Bearer $GODADDY_PAT"
Channel types
Each channel has a type from the Channels API enum. Use subType for product-specific detail (for example, a marketplace provider or website product); subType is set when the channel is registered and cannot be changed.
| Type | Description |
|---|---|
RETAIL | Physical retail location where merchant and customer transact in person (stores, pop-ups, food trucks) |
ONLINE | Web or online storefront sales |
MOBILE | Mobile app sales surface |
MARKETPLACE | External marketplace (for example Amazon or eBay) |
SOCIAL | Social commerce (for example Facebook or Instagram) |
DEFAULT | Platform default channel for the store; only one DEFAULT channel per store (often used for default payments) |
Common errors
| Status | Most likely cause |
|---|---|
400 | Neither registeredStores.storeId nor externalChannelId was supplied. At least one is required. |
401 | PAT is missing or expired. Go to Authentication to generate a new token. |
403 | Token doesn't include the commerce.channel:read scope. |
404 | Channel ID doesn't exist or isn't accessible with the provided token. |
429 | Rate limit exceeded. Honor the Retry-After header before retrying. |
Agent & Automation Notes
commerce.channel:readRelated
API References
Guides
Last updated on
How is this guide?