Channels API

Applies to: Channels API

Learn how to use a Square API to retrieve channel information for a Square seller.

Link to section

Overview

The Square Channels API allows you to manage and retrieve information about channels associated with a seller's account. A channel represents the link between a seller and the platforms or services where they conduct business — the medium through which buyers and sellers interact. Conceptually, a channel serves as an abstraction or interface that can be implemented by various objects or entities within the Square ecosystem.

A channel can be one of the following classes:

  • Sales channel - The mechanism that created an Order, order line items, or both.
  • Marketing channel - The mechanism that sourced the traffic that resulted in an order. This is generally limited to channels (internal or external) that directly pull product or service listings from the Square platform.
  • Fulfillment channel - The mechanism that fulfilled the Order.

A Channel object can be associated with various platform concepts through its reference field. The Reference object includes:

  • type - The type of platform concept (required).
  • id - The ID of the referenced entity (required).
Link to section

Available endpoints

The Channels API provides the following endpoints for retrieving channel information:

Link to section

Working with channels

The Channels API gives your application the ability to report on the marketing, sales, and fulfillment channels available to a seller and which products and services are available through each channel.

Link to section

Use cases

The Channels API is essential for understanding how catalog items are distributed across a seller’s sales channels. When used alongside a catalog item variation’s channels_integrations properties, it enables applications to determine exactly where specific products can be sold or services can be offered.

For example, consider a coffee shop that sells ceramic mugs. The Channels API lists all available sales channels (from physical store locations to online shops), while the catalog data identifies which mugs are available through each channel. Together, they allow applications to accurately display product availability, whether an item is limited to certain store locations, available at all POS systems, or listed online.

Beyond catalog management, the API also helps applications discover enabled Square services (like gift cards or invoicing) and identify authorized third-party integrations. This allows applications to dynamically adapt their features to match the seller's capabilities and channel configuration.

Link to section

How to list all channels

To retrieve a list of all channels, use the ListChannels endpoint. This endpoint supports filtering and pagination. Filters are useful when a seller has many channels of various types. You can filter the channels list by:

  • reference_type - Filter by the type of reference associated with the channel.
  • status - Filter by channel status.

The two filter types can be combined into an AND query but you cannot request multiple values for a given filter. For example, you can request channels of reference_type == LOCATION and status == ACTIVE but you cannot request channels of (reference_type == LOCATION OR reference_type == KIOSK) and status == ACTIVE.

This example asks for a list of all active channel locations:

List channels

Link to section

How to bulk retrieve channels

Use the BulkRetrieveChannels endpoint when you need to retrieve information about multiple specific channels at once. This is more efficient than making individual requests for each channel.

The source for the channel ID list might be the results of a SearchCatalogObjects query that returns a long list of catalog objects. Each object that has channel ID information can be parsed to get the referenced ID and then added to the BulkRetrieveChannels query. An application might also cache the most frequently referenced channel IDs and then run the BulkRetrieveChannels request to get the current state of these channels.

In this example, the application caches the channel IDs for a seller's locations and the third-party applications that they're using. With one request, the application gets the channel information for these locations and applications.

Bulk retrieve channels

Important notes:

  • You can request up to 100 channels in a single request.
  • The response includes a map of channel IDs to their corresponding channel information.
  • If any channels cannot be retrieved, the response includes error details for those specific channels.
Link to section

How to retrieve a single channel

When you need information about a specific channel, use the RetrieveChannel endpoint.

This example requests a channel whose ID is CH_KH0VQTd9HzLmOWRGrF16agtdnoQ9JrkS4gEd5PlQuYC.

Retrieve channel

Link to section

Authentication requirements

All Channels API endpoints:

  • Support OAuth 2.0 access tokens.
  • Require CHANNELS_READ permission for OAuth 2.0 authentication.
Link to section

Error handling

Common error codes across all endpoints include:

  • UNAUTHORIZED - Invalid authentication credentials.
  • FORBIDDEN - Insufficient permissions.
  • MISSING_REQUIRED_PARAMETER - Required parameters are missing from the request.

The RetrieveChannel endpoint might also return:

  • NOT_FOUND - The requested channel ID doesn't exist.
Link to section

API versions

All endpoints are currently in Beta status except where noted. The current API version for these endpoints is 2025-10-16.