Support
Manage a storeList sales channels

How to list sales channels

View as Markdown

Query 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:

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:

  1. 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"
  2. 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.

TypeDescription
RETAILPhysical retail location where merchant and customer transact in person (stores, pop-ups, food trucks)
ONLINEWeb or online storefront sales
MOBILEMobile app sales surface
MARKETPLACEExternal marketplace (for example Amazon or eBay)
SOCIALSocial commerce (for example Facebook or Instagram)
DEFAULTPlatform default channel for the store; only one DEFAULT channel per store (often used for default payments)

Common errors

StatusMost likely cause
400Neither registeredStores.storeId nor externalChannelId was supplied. At least one is required.
401PAT is missing or expired. Go to Authentication to generate a new token.
403Token doesn't include the commerce.channel:read scope.
404Channel ID doesn't exist or isn't accessible with the provided token.
429Rate limit exceeded. Honor the Retry-After header before retrying.

Agent & Automation Notes

Scopescommerce.channel:read
IdempotentYes
DestructiveNo
On failureSafe to retry on any error. Channel reads are idempotent.

Last updated on

How is this guide?

On this page