GET https://api.fire.rest/api/v1/fire/external/stores?page=1&size=20
x-api-key: <your_api_key>
{
"stores": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"storeNumber": 10,
"storeCode": "ST-10",
"accountId": "550e8400-e29b-41d4-a716-446655440000",
"vendorId": "100.1.10",
"name": "Main Store",
"externalId": "EXT-10",
"status": "PUBLISHED",
"active": "ACTIVE",
"timezone": "America/Guayaquil",
"location": {
"countryId": "1",
"countryCode": "EC",
"countryName": "Ecuador",
"cityId": "2",
"cityCode": "UIO",
"cityName": "Quito",
"address": "Av. Amazonas N32-14",
"latitude": -0.18,
"longitude": -78.47,
"timezone": "America/Guayaquil",
"currencyCode": "USD"
},
"services": [],
"channels": [
{ "code": "APP", "enabled": true, "fulfillmentTypes": ["DELIVERY", "PICKUP"] }
],
"publishedChannels": ["APP"],
"operationSchedule": [],
"salesSchedule": [],
"schedulesByChannel": [],
"taxesInfo": { "taxRate": 0, "vatRatePercentage": 12 },
"contactInfo": { "phone": "+593 2 000 0000" },
"deliveryInfo": null,
"salesGoals": null,
"fiscal": {
"enabled": true,
"company": {
"govIdType": "RUC",
"govIdNumber": "1790012345001",
"legalName": "Sandbox Ecuador Cia. Ltda.",
"tradeName": "Sandbox EC"
},
"govIdType": "RUC",
"govIdNumber": "1790012345001",
"secondaryGovIdType": null,
"secondaryGovIdNumber": null,
"metadata": null
},
"operational": {
"isBusinessDayOpen": true,
"businessDayDate": "2026-07-01",
"activeChannels": ["APP"]
},
"syncStatus": "SYNCED",
"lastSyncedAt": "2026-07-01T00:00:00Z",
"createdAt": "2026-06-01T00:00:00Z",
"updatedAt": "2026-06-02T00:00:00Z"
}
],
"total": 1,
"page": 1,
"size": 20,
"totalPages": 1
}
{
"success": false,
"error": "UNAUTHORIZED",
"message": "Invalid or missing API key"
}
{
"success": false,
"error": "FORBIDDEN",
"message": "API key is not authorized for the requested vendor"
}
API
List stores
List the stores of the account and vendor bound to your API key, with pagination and filters.
GET
/
api
/
v1
/
fire
/
external
/
stores
GET https://api.fire.rest/api/v1/fire/external/stores?page=1&size=20
x-api-key: <your_api_key>
{
"stores": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"storeNumber": 10,
"storeCode": "ST-10",
"accountId": "550e8400-e29b-41d4-a716-446655440000",
"vendorId": "100.1.10",
"name": "Main Store",
"externalId": "EXT-10",
"status": "PUBLISHED",
"active": "ACTIVE",
"timezone": "America/Guayaquil",
"location": {
"countryId": "1",
"countryCode": "EC",
"countryName": "Ecuador",
"cityId": "2",
"cityCode": "UIO",
"cityName": "Quito",
"address": "Av. Amazonas N32-14",
"latitude": -0.18,
"longitude": -78.47,
"timezone": "America/Guayaquil",
"currencyCode": "USD"
},
"services": [],
"channels": [
{ "code": "APP", "enabled": true, "fulfillmentTypes": ["DELIVERY", "PICKUP"] }
],
"publishedChannels": ["APP"],
"operationSchedule": [],
"salesSchedule": [],
"schedulesByChannel": [],
"taxesInfo": { "taxRate": 0, "vatRatePercentage": 12 },
"contactInfo": { "phone": "+593 2 000 0000" },
"deliveryInfo": null,
"salesGoals": null,
"fiscal": {
"enabled": true,
"company": {
"govIdType": "RUC",
"govIdNumber": "1790012345001",
"legalName": "Sandbox Ecuador Cia. Ltda.",
"tradeName": "Sandbox EC"
},
"govIdType": "RUC",
"govIdNumber": "1790012345001",
"secondaryGovIdType": null,
"secondaryGovIdNumber": null,
"metadata": null
},
"operational": {
"isBusinessDayOpen": true,
"businessDayDate": "2026-07-01",
"activeChannels": ["APP"]
},
"syncStatus": "SYNCED",
"lastSyncedAt": "2026-07-01T00:00:00Z",
"createdAt": "2026-06-01T00:00:00Z",
"updatedAt": "2026-06-02T00:00:00Z"
}
],
"total": 1,
"page": 1,
"size": 20,
"totalPages": 1
}
{
"success": false,
"error": "UNAUTHORIZED",
"message": "Invalid or missing API key"
}
{
"success": false,
"error": "FORBIDDEN",
"message": "API key is not authorized for the requested vendor"
}
Returns the stores of the account + vendor bound to your API key. Each store comes with its full
configuration — location, services, channels, schedules, tax & contact info, delivery config,
sales goals, the fiscal block, and operational state. Only Fire-internal fields are excluded
(the derived
Each DIAN range carries
effectiveSettings, drafts/overrides, and audit columns).
Use field projection (?fields=) to return only the fields you need.
Authentication
string
required
Your Fire API key with the
store:read scope. The key must be vendor-scoped (account +
vendor binding) — keys without a vendorId are rejected with 403.Query parameters
The account and vendor are derived from your API key (vendor-scoped) — you do not send them as query params.
string
Comma-separated list of fields to return (projection). See Field projection.
Omit to return every field. An unknown field yields
400.string
Filter by publication status:
DRAFT, PUBLISHED, PARTIALLY_PUBLISHED, ARCHIVED.string
Filter by operational state:
ACTIVE, INACTIVE, SUSPENDED.string
Filter by sync state:
SYNCED, PENDING, FAILED.string
Filter by city id.
string
Filter by a published channel code (e.g.
APP).string
Free-text search over name, store code and external id.
integer
default:"1"
Page number (1-based).
integer
default:"20"
Page size (1–500).
Request
GET https://api.fire.rest/api/v1/fire/external/stores?page=1&size=20
x-api-key: <your_api_key>
Response
object[]
Show store
Show store
string
Store UUID.
integer
Sequential store number.
string | null
Internal store code.
string
Account UUID.
string
Vendor identifier.
string
Store name.
string | null
External identifier controlled by Fire.
string
DRAFT | PUBLISHED | PARTIALLY_PUBLISHED | ARCHIVED.string
ACTIVE | INACTIVE | SUSPENDED.string | null
IANA timezone (e.g.
America/Guayaquil). Falls back to location.timezone.object | null
object[] | null
Store service configuration (dine-in, takeout, delivery…). Passthrough from the store settings.
object[] | null
Per-channel configuration — each entry carries
code, enabled, fulfillmentTypes and schedules.string[]
Published channel codes (e.g.
["APP"]).object[] | null
Operating hours per day/interval.
object[] | null
Sales hours per day/interval.
object[] | null
Schedules overridden per channel.
object | null
Tax configuration (e.g.
taxRate, vatRatePercentage).object | null
Store contact details (e.g.
phone).object | null
Delivery configuration.
object | null
Sales goals configuration.
object | null
Fiscal configuration — same shape as
store.storeFiscalConfig in the order.completed event
(both are projected by the same function). null when the store has no fiscal setup. See
The fiscal block.Show fiscal
Show fiscal
boolean
Whether fiscal emission is enabled.
object
string
Primary tax ID type (root-level, legacy convenience).
string
Primary tax ID number.
string | null
Secondary tax ID type (
INSCRICAO_ESTADUAL in Brazil). null when the store has none.string | null
Secondary tax ID number.
null when the store has none.object | null
What the store has configured for issuing documents; the content depends on the country.
null when it has none. See The fiscal block.object | null
Runtime state — e.g.
{ isBusinessDayOpen, businessDayDate, activeChannels }.string
SYNCED | PENDING | FAILED.string | null
ISO 8601 datetime.
string
ISO 8601 datetime.
string
ISO 8601 datetime.
integer
Total stores matching the query.
integer
Current page.
integer
Page size.
integer
Total number of pages.
{
"stores": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"storeNumber": 10,
"storeCode": "ST-10",
"accountId": "550e8400-e29b-41d4-a716-446655440000",
"vendorId": "100.1.10",
"name": "Main Store",
"externalId": "EXT-10",
"status": "PUBLISHED",
"active": "ACTIVE",
"timezone": "America/Guayaquil",
"location": {
"countryId": "1",
"countryCode": "EC",
"countryName": "Ecuador",
"cityId": "2",
"cityCode": "UIO",
"cityName": "Quito",
"address": "Av. Amazonas N32-14",
"latitude": -0.18,
"longitude": -78.47,
"timezone": "America/Guayaquil",
"currencyCode": "USD"
},
"services": [],
"channels": [
{ "code": "APP", "enabled": true, "fulfillmentTypes": ["DELIVERY", "PICKUP"] }
],
"publishedChannels": ["APP"],
"operationSchedule": [],
"salesSchedule": [],
"schedulesByChannel": [],
"taxesInfo": { "taxRate": 0, "vatRatePercentage": 12 },
"contactInfo": { "phone": "+593 2 000 0000" },
"deliveryInfo": null,
"salesGoals": null,
"fiscal": {
"enabled": true,
"company": {
"govIdType": "RUC",
"govIdNumber": "1790012345001",
"legalName": "Sandbox Ecuador Cia. Ltda.",
"tradeName": "Sandbox EC"
},
"govIdType": "RUC",
"govIdNumber": "1790012345001",
"secondaryGovIdType": null,
"secondaryGovIdNumber": null,
"metadata": null
},
"operational": {
"isBusinessDayOpen": true,
"businessDayDate": "2026-07-01",
"activeChannels": ["APP"]
},
"syncStatus": "SYNCED",
"lastSyncedAt": "2026-07-01T00:00:00Z",
"createdAt": "2026-06-01T00:00:00Z",
"updatedAt": "2026-06-02T00:00:00Z"
}
],
"total": 1,
"page": 1,
"size": 20,
"totalPages": 1
}
{
"success": false,
"error": "UNAUTHORIZED",
"message": "Invalid or missing API key"
}
{
"success": false,
"error": "FORBIDDEN",
"message": "API key is not authorized for the requested vendor"
}
The fiscal block
fiscal mirrors store.storeFiscalConfig in the order.completed event — both are projected by
the same function, so a fiscal integrator gets the exact same shape from either path (including the
legacy root-level fallbacks govIdType / govIdNumber). fiscal is null for stores with no
fiscal configuration.
The fiscal block has the same shape for every country: secondaryGovIdType,
secondaryGovIdNumber and metadata are always present, null when the store doesn’t have the
value. What changes per country is the content of metadata: what the store has configured for
issuing documents. The country comes from location.countryCode.
| Country | govIdType | secondaryGovIdType | metadata |
|---|---|---|---|
| BR | CNPJ | INSCRICAO_ESTADUAL | { storeCode3S, serialNumber, neverstop } |
| CO | NIT | null | { claveTecnica, rangoFacturacion, rangoNotaCredito } — DIAN numbering ranges |
| EC | RUC | null | null |
| CL | RUT | null | null |
| AR | CUIT | null | null |
| VE | RIF | null | null |
prefijo, desde, hasta, resolucion, vigenteHasta, nombre,
identificacion and pin.
Field projection
Choose which fields each store returns, similar to MongoDB projection or the Elasticsearch_source parameter. Applies to both the list and the single store.
- No
fields→ every field is returned. fields=id,storeCode,name,fiscal→ only those.- A field outside the catalog →
400with the list of allowed fields.
id, storeNumber, storeCode, accountId, vendorId, name,
externalId, status, active, timezone, location, services, channels,
publishedChannels, operationSchedule, salesSchedule, schedulesByChannel, taxesInfo,
contactInfo, deliveryInfo, salesGoals, fiscal, operational, syncStatus, lastSyncedAt,
createdAt, updatedAt.
Related
Get store
Read a single store by id.
List store orders
List the orders of a specific store.

