List stores
Stores
List stores
List merchant locations available for ordering in your channel.
GET
List stores
Returns a paginated list of stores a customer can order from. Use this endpoint to show location pickers or browse the full store catalog. To find stores near the customer, use list stores by coordinates.
Each fee object:
Each schedule map is keyed by day name (
Coverage zone:
Each payment method:
Each provider:
Requires a Fire spark access token obtained through token
exchange. The token scopes requests to the
authenticated customer and merchant.
Headers
| Header | Required | Description |
|---|---|---|
x-brand-id | No | Filter stores by brand. External brand identifier — alphanumeric characters, _, and - only. 1–64 characters. When omitted, all stores for the merchant are returned. |
Query parameters
| Parameter | Required | Description |
|---|---|---|
from | Yes | Start index (0-based). |
to | Yes | End index (inclusive). Must be greater than or equal to from. |
limit | Yes | Maximum number of records per request. 1–100. The range to - from cannot exceed limit. |
Request
Response
The response wraps an array of store objects indata. Each store includes location, channels (with fulfillment per channel), payments, and availability so your channel can decide where the customer can order.
Store object
| Field | Type | Description |
|---|---|---|
id | string | External store identifier in your systems. Alphanumeric, _, and - only. 1–64 characters. |
uid | string (UUID) | Fire spark internal identifier. |
brand_id | string | External brand identifier. Alphanumeric characters, _, and - only. 1–64 characters. Optional — null when the merchant operates under a single brand. |
name | string | Display name. 1–100 characters. |
status | string | ACTIVE or INACTIVE. |
timezone | string | IANA timezone for schedules and overrides. |
contact | object | Store contact details. |
location | object | Physical address and coordinates. |
channels | object | Channel-specific fulfillment configuration keyed by channel code. Each channel contains a fulfillment map. |
payments | object | Accepted payment methods and order limits. |
cms_template_id | string (UUID) | CMS template linked to this store. null when no template is assigned. |
cms | object | Read-only. null when cms_template_id is null. When set, the resolved CMS template for this store, including field definitions and stored values. |
overrides | array | Scheduled configuration changes. |
contact
contact
| Field | Type | Required | Description |
|---|---|---|---|
email | string | Yes | Valid email address. |
phone | string | Yes | E.164 format (for example +593991234567). |
name | string | No | Contact name. |
location
location
| Field | Type | Required | Description | | ----- | ---- | -------- |
----------- | |
latitude | number | Yes | Between -90 and 90. | |
longitude | number | Yes | Between -180 and 180. | | address_line_1 |
string | Yes | 3–255 characters. | | address_line_2 | string | No | 3–255
characters. | | city | string | Yes | 1–100 characters. | | country |
string | Yes | 1–100 characters. | | postal_code | string | Yes | Numeric
only. 4–10 digits. | | business_name | string | Yes | Legal or trade name.
1–100 characters. | | unit_number | string | No | Numeric only. 1–10 digits.
|channels
channels
A map of channel codes to channel configuration. Each entry contains:
Each fulfillment entry requires
| Field | Type | Description |
|---|---|---|
id | string | External channel identifier. |
uid | string (UUID) | Fire spark channel identifier. |
name | string | Display name. |
fulfillment | object | Map of fulfillment types available on this channel. Each key is a fulfillment code (for example DELIVERY, PICKUP). |
uid, id, type, name, pricing, coverage_zones, and availability. Optional instructions as a localized object.pricing
pricing
| Field | Type | Description |
|---|---|---|
is_tax_inclusive | boolean | Whether listed prices include tax. |
minimum_order_value | number | Minimum order amount. ≥ 0. |
maximum_order_value | number | Maximum order amount. 0–1,000,000. |
tax_rate | number | Tax rate as a decimal (for example 0.15 for 15%). 0–1. |
fees | array | Additional fees applied to orders. |
| Field | Type | Description |
|---|---|---|
id | string | External fee identifier. |
type | string | FIXED or PERCENTAGE. |
tax_inclusive | boolean | Whether the fee includes tax. |
name | object | Localized label keyed by locale (for example en_us). |
description | object | Optional localized description. |
amount | number | Fixed amount when type is FIXED. ≥ 0. |
percentage | number | Rate when type is PERCENTAGE. 0–1. |
availability
availability
| Field | Type | Description |
|---|---|---|
status | string | OPEN, CLOSED, or TEMPORARILY_CLOSED. |
schedules | array | null | Weekly hour maps keyed by day name (monday through sunday). null when there is no schedule restriction. |
temporary_closed_reason | object | Localized reason when temporarily closed. |
temporary_closed_until | string | ISO 8601 datetime when the temporary closure ends. |
monday through sunday). Include only the days the store operates. Each day:| Field | Type | Description |
|---|---|---|
start_time | string | ISO time (for example 09:00:00). |
end_time | string | ISO time (for example 22:00:00). |
fulfillment
fulfillment
| Field | Type | Description |
|---|---|---|
uid | string (UUID) | Fire spark fulfillment identifier. |
id | string | External fulfillment identifier. |
type | string | Fulfillment type code (for example DELIVERY, PICKUP). |
name | string | Display name. |
instructions | object | Optional localized customer instructions. |
pricing | object | Pricing rules for this fulfillment type. |
coverage_zones | array | Delivery or service areas. |
availability | object | Operating hours and status. |
| Field | Type | Description |
|---|---|---|
name | string | Zone label. |
type | string | RADIUS or POLYGON. |
radius_info | object | Required when type is RADIUS. Contains latitude, longitude, and radius (meters, 0–100,000). |
polygon_info | object | Required when type is POLYGON. Contains polygon, an array of { latitude, longitude } points. |
payments
payments
| Field | Type | Description |
|---|---|---|
orderable | boolean | Whether the store accepts orders. |
methods | array | Accepted payment methods. |
| Field | Type | Description |
|---|---|---|
method | string | CREDIT, DEBIT, CASH, BANK_TRANSFER, or OTHER. |
minimum_order_value | number | Minimum order for this method. ≥ 0. |
maximum_order_value | number | Maximum order for this method. 0–1,000,000. |
providers | array | Payment providers for this method. |
| Field | Type | Description |
|---|---|---|
id | string (UUID) | Provider identifier. |
name | string | Provider display name. |
status | string | ACTIVE or INACTIVE. |
cms
cms
Present only when
Each field in
cms_template_id is not null. Contains the resolved CMS template assigned to the store.| Field | Type | Description |
|---|---|---|
id | string (UUID) | Template identifier. Matches cms_template_id. |
name | string | Template name. 1–100 characters. |
entity | string | Always STORES for store responses. |
status | string | ACTIVE or INACTIVE. |
fields | array | Template fields with their current stored values. |
fields:| Field | Type | Description |
|---|---|---|
name | string | Field key. |
type | string | TEXT, SELECT, IMAGE, or LIST. |
label | object | Optional localized label keyed by locale. |
required | boolean | Whether the field is required. |
placeholder | string | Optional placeholder text. |
options | array | For SELECT fields — objects with label and value. |
altText | string | For IMAGE fields — alternative text. |
src | string | For IMAGE fields — image URL. |
href | string | For IMAGE fields — optional link URL. |
value | varies | Current stored value for this store. Omitted when empty. |
overrides
overrides
Scheduled changes that take effect at a future date. Each override contains:
| Field | Type | Description |
|---|---|---|
start_date | string | ISO 8601 datetime when the override becomes active. |
changes | object | Partial store configuration to apply. Includes contact, location, timezone, channels, payments, and cms_template_id. |
Error responses
| Status | Description |
|---|---|
400 | Invalid pagination parameters. from must be ≤ to, and to - from must not exceed limit. |
401 | Missing or invalid access token. |
403 | Token does not have access to this merchant’s stores. |