Skip to main content
GET
/
brands
List brands
curl --request GET \
  --url https://api.example.com/brands
{
  "data": [
    {
      "id": "0001",
      "uid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "name": "Burger Co.",
      "status": "ACTIVE",
      "cms_template_id": "d4e5f6a7-b8c9-0123-def4-567890abcdef",
      "cms": {
        "id": "d4e5f6a7-b8c9-0123-def4-567890abcdef",
        "name": "Brand landing page",
        "entity": "BRANDS",
        "status": "ACTIVE",
        "fields": [
          {
            "name": "tagline",
            "type": "TEXT",
            "label": { "en_us": "Tagline" },
            "required": false,
            "value": "Flame-grilled since 1987"
          }
        ]
      }
    },
    {
      "id": "0002",
      "uid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "name": "Taco Co.",
      "status": "ACTIVE",
      "cms_template_id": null,
      "cms": null
    }
  ]
}
Returns every active brand configured for the merchant. Use this endpoint to build brand pickers or to load brand metadata before filtering with x-brand-id.
Requires a Fire spark access token obtained through token exchange. The token scopes requests to the authenticated customer and merchant.

Request

curl "https://firespark.vercel.app/api/storefront/v1/brands" \
  -H "Authorization: Bearer ACCESS_TOKEN"

Response

The response wraps an array of brand objects in data. Only ACTIVE brands are included.
{
  "data": [
    {
      "id": "0001",
      "uid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "name": "Burger Co.",
      "status": "ACTIVE",
      "cms_template_id": "d4e5f6a7-b8c9-0123-def4-567890abcdef",
      "cms": {
        "id": "d4e5f6a7-b8c9-0123-def4-567890abcdef",
        "name": "Brand landing page",
        "entity": "BRANDS",
        "status": "ACTIVE",
        "fields": [
          {
            "name": "tagline",
            "type": "TEXT",
            "label": { "en_us": "Tagline" },
            "required": false,
            "value": "Flame-grilled since 1987"
          }
        ]
      }
    },
    {
      "id": "0002",
      "uid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "name": "Taco Co.",
      "status": "ACTIVE",
      "cms_template_id": null,
      "cms": null
    }
  ]
}

Brand object

FieldTypeDescription
idstringExternal brand identifier. Alphanumeric characters, _, and - only. 1–64 characters. Use this value in x-brand-id when filtering stores and channels.
uidstring (UUID)Fire spark internal identifier.
namestringDisplay name. 1–100 characters.
statusstringACTIVE or INACTIVE.
cms_template_idstring (UUID)CMS template linked to this brand. null when no template is assigned.
cmsobjectRead-only. null when cms_template_id is null. When set, the resolved CMS template for this brand, including field definitions and stored values.
Present only when cms_template_id is not null. Contains the resolved CMS template assigned to the brand.
FieldTypeDescription
idstring (UUID)Template identifier. Matches cms_template_id.
namestringTemplate name. 1–100 characters.
entitystringAlways BRANDS for brand responses.
statusstringACTIVE or INACTIVE.
fieldsarrayTemplate fields with their current stored values.
Each field in fields:
FieldTypeDescription
namestringField key.
typestringTEXT, SELECT, IMAGE, or LIST.
labelobjectOptional localized label keyed by locale.
requiredbooleanWhether the field is required.
placeholderstringOptional placeholder text.
optionsarrayFor SELECT fields — objects with label and value.
altTextstringFor IMAGE fields — alternative text.
srcstringFor IMAGE fields — image URL.
hrefstringFor IMAGE fields — optional link URL.
valuevariesCurrent stored value for this brand. Omitted when empty.

Error responses

StatusDescription
401Missing or invalid access token.
403Token does not have access to this merchant’s brands.