Get Channels
About
The channels query retrieves all store channels configured in your Bagisto instance. Use this query to:
- Fetch all available sales channels for your store
- Display channel-specific information and branding
- Get channel translations for multi-language support
- Check maintenance mode status and allowed IPs
- Retrieve channel themes and configuration
- Build channel switcher or store selector features
- Access channel logos and branding assets
- Manage multi-channel deployments
This query returns comprehensive channel information including logos, favicons, themes, translations, and maintenance mode settings.
Arguments
| Argument | Type | Description |
|---|---|---|
first | Int | Number of channels to return (forward pagination). Max: 100. |
after | String | Pagination cursor for forward navigation. |
last | Int | Number of channels for backward pagination. Max: 100. |
before | String | Pagination cursor for backward navigation. |
Possible Returns
| Field | Type | Description |
|---|---|---|
id | ID! | Unique channel API identifier. |
_id | Int! | Numeric channel ID. |
code | String! | Unique channel code (e.g., 'default', 'mobile'). |
timezone | String! | Channel timezone (e.g., 'UTC', 'US/Eastern'). |
theme | String | Theme name assigned to this channel. |
hostname | String! | Channel hostname/domain. |
logo | String | File path to channel logo. |
favicon | String | File path to channel favicon. |
isMaintenanceOn | Boolean! | Whether maintenance mode is enabled. |
allowedIps | String | Comma-separated IPs allowed during maintenance. |
createdAt | DateTime! | Channel creation timestamp. |
updatedAt | DateTime! | Last update timestamp. |
logoUrl | String | Full URL to channel logo image. |
faviconUrl | String | Full URL to channel favicon image. |
translation | ChannelTranslation! | Default locale translation. |
translation.id | ID! | Translation identifier. |
translation._id | Int! | Numeric translation ID. |
translation.channelId | Int! | Associated channel ID. |
translation.locale | String! | Language locale code (e.g., 'en', 'ar', 'fr'). |
translation.name | String! | Channel name in current language. |
translation.description | String | Channel description. |
translation.maintenanceModeText | String | Custom maintenance mode message. |
translation.createdAt | DateTime! | Translation creation timestamp. |
translation.updatedAt | DateTime! | Translation update timestamp. |
translations | ChannelTranslationCollection! | All available translations. |
translations.edges | [Edge!]! | Translation edges with cursors. |
translations.edges.node | ChannelTranslation! | Individual translation. |
translations.edges.cursor | String! | Pagination cursor. |
translations.pageInfo | PageInfo! | Pagination information. |
translations.totalCount | Int! | Total translations for this channel. |
pageInfo | PageInfo! | Pagination information. |
pageInfo.hasNextPage | Boolean! | More channels available. |
pageInfo.hasPreviousPage | Boolean! | Previous channels available. |
pageInfo.startCursor | String | First channel cursor. |
pageInfo.endCursor | String | Last channel cursor. |
totalCount | Int! | Total channels in system. |
Use Cases
1. Multi-Channel Support
Use the "Complete Details" example to get all channel information for multi-channel deployments.
2. Channel Selection
Use the "Basic" example for rendering a channel/store selector in your frontend.
3. Maintenance Mode
Use the "Maintenance Mode Info" example to check if a channel is under maintenance and display appropriate messages.
4. Multi-Language Support
Use the "With All Translations" example to display channel information in all languages.
5. Channel Branding
Use the complete details example to fetch logos and favicons for channel-specific branding.
Best Practices
- Cache Channel List - Channels change infrequently, cache the entire list
- Check Maintenance Mode - Always verify
isMaintenanceOnstatus before redirecting users - Include Translations - Fetch all translations for multi-language support
- Validate Hostname - Use
hostnameto route requests to correct channel - Use Brand Assets - Fetch
logoUrlandfaviconUrlfor consistent branding - Respect Timezones - Use channel
timezonefor displaying dates and times
Related Resources
- Get Channel - Get single channel by ID
- Pagination Guide - Cursor pagination documentation
- Shop API Overview - Overview of Shop API resources

