List stores
Stores
List stores
Read store configuration for POS and RMS location mapping.
GET
List stores
Returns all stores configured for the authenticated merchant. Use this endpoint to map Fire spark stores to locations in your POS or RMS before syncing menus and injecting orders.
Each fee object:
Each schedule map is keyed by day name (
Coverage zone:
Each payment method:
Each provider:
Requires an access token with the
stores:read scope. See
Authorize to obtain a token.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. |
Request
Response
The response wraps an array of store objects indata. Each store includes the full operational configuration: contact, location, channels (with fulfillment per channel), payments, CMS template metadata, and scheduled overrides.
Store object
| Field | Type | Description |
|---|---|---|
id | string | External store identifier in your POS or RMS. Alphanumeric, _, and - only. 1–64 characters. Unique per merchant. |
uid | string (UUID) | Fire spark internal identifier. |
organization_id | string (UUID) | Organization that owns the merchant. |
merchant_id | string (UUID) | Merchant the store belongs to. |
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 | Per-channel fulfillment configuration keyed by channel code. Each channel contains a fulfillment map. |
payments | object | 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 | Store configuration to apply. Includes contact, location, timezone, channels, payments, and cms_template_id. |
Mapping stores to your POS
Match theid field to the location identifier in your POS or RMS. Fire spark uses this external ID to route menu sync and order injection to the correct site.
Error responses
| Status | Description |
|---|---|
401 | Missing or invalid access token. |
403 | Token does not include the stores:read scope. |