Reference data

Platform-wide lookup tables — currencies, subdivisions, and the rest of the constants every store shares.

Reference data#

Every endpoint in this section is unpaginated and returns its full payload in one response. Each response sets Cache-Control: public, max-age=86400 so clients can cache for 24 hours.

List scopes

GET

Returns the full catalog of API scopes the platform defines, grouped by category.

Use this when you are deciding which scopes your app should request at install time, or when you need to render a permission picker showing the developer what each scope covers. The same catalog drives the merchant-facing install screen, so what you see here is exactly what the merchant will see when approving your app.

This endpoint is public — no token required.

List countries

GET

Returns every country the platform recognises, sorted by name.

Each row carries the ISO 3166-1 alpha-2 code (US), alpha-3 code (USA), name, capital, primary currency, recommended default locale, calling codes, and postal-code metadata. Use this to render country pickers in checkout, address forms, store onboarding, and the storefront builder.

Errors

  • 401 UNAUTHORIZED

    Authorization header missing, malformed, or token invalid/expired.

List the subdivisions (states / provinces) of a country.

GET

List the subdivisions (states / provinces) of a country.

Returns the ISO 3166-2 subdivisions for a given country — typically states (US), provinces (CA, IN), regions, etc. Used to populate state pickers in storefront checkout, address forms, and shipping-zone configuration.

countryCode is a 2-letter ISO 3166-1 alpha-2 code (US, IN, GB, ...). Case-insensitive on the wire; canonicalized to uppercase server-side.

No scope required.

Path parameters

Name Type Description
countryCode required string

ISO 3166-1 alpha-2 country code (US, IN, GB, ...). Case-insensitive.

Example: US

Errors

  • 401 UNAUTHORIZED

    Authorization header missing, malformed, or token invalid/expired.

  • 400 INVALID_INPUT

    countryCode is not a recognized ISO 3166-1 alpha-2 code.

  • 429 RATE_LIMITED

    Token's per-window quota exceeded. Retry after the Retry-After header.

List languages

GET

Returns every language supported for storefront translation, with its native name and script direction.

Each row carries the BCP-47 code (en, pt-BR, zh-TW), the English name, the native name as the language writes it, and a rtl flag so right-to-left scripts (Arabic, Hebrew, Persian, Urdu) render correctly. Use this to populate locale pickers in storefront builders, translation tooling, and the admin's language settings.

Errors

  • 401 UNAUTHORIZED

    Authorization header missing, malformed, or token invalid/expired.

List timezones

GET

Returns the full IANA timezone list as flat strings.

Use this to populate timezone pickers in store onboarding, shipping schedules, scheduled posts — anywhere the merchant or end user picks a timezone. Strings are the canonical IANA identifiers (America/Los_Angeles, Asia/Kolkata, Europe/London) — the same ones every standard timezone library understands.

Errors

  • 401 UNAUTHORIZED

    Authorization header missing, malformed, or token invalid/expired.

List every currency the Store API supports.

GET

List every currency the Store API supports.

Returns ISO 4217 currency definitions used across the platform — code, symbol, name, decimal places, and sample formatting. Identical for every store; safe to cache aggressively client-side.

No scope required — every authenticated token can call this.

Errors

  • 401 UNAUTHORIZED

    Authorization header missing, malformed, or token invalid/expired.

  • 429 RATE_LIMITED

    Token's per-window quota exceeded. Retry after the Retry-After header.

List phone codes

GET

Returns every country's calling code, sample number, and flag emoji — the lookup table behind a real phone-input dropdown.

Each row carries the ISO country code, country name, dial code as a string (+1), the same code as an integer for sorting (1), an example local number in the country's typical format, and the flag emoji derived from the country code. Use this to build phone inputs where the merchant picks a country and the dial code auto-fills.

Errors

  • 401 UNAUTHORIZED

    Authorization header missing, malformed, or token invalid/expired.

Get number format defaults

GET

Returns the locale-aware number formatting defaults for a country — separators, grouping, and where the currency symbol sits.

Pass any ISO 3166-1 alpha-2 country code and get back the decimal separator, thousands separator, digit grouping pattern, and where the currency symbol belongs relative to the amount. Use this to mirror the admin's price formatting on the storefront so a customer in Germany sees 1.234,56 € and a customer in the US sees $1,234.56 — same product, same data, different presentation.

Values come from CLDR (Unicode's locale database), so they match every other major platform's defaults for the same country.

Path parameters

Name Type Description
countryCode required string

An ISO 3166-1 alpha-2 country code, such as US or DE. Case-insensitive on the wire.

Example: DE

Errors

  • 400 INVALID_INPUT

    countryCode is not a recognised ISO 3166-1 alpha-2 code.

  • 401 UNAUTHORIZED

    Authorization header missing, malformed, or token invalid/expired.

List address formats

GET

Returns the full per-country address format catalog in one payload — format string, field labels, validation regex, and subdivisions.

Use this when you want to bake every country's address format into your client at build time, instead of fetching per-country at runtime. The same data is available per-country at /reference/address-format/:countryCode if you only need one.

Each country carries a format string (the order and arrangement of address lines), which fields are required, regional label conventions (state vs province vs prefecture; zip vs postal vs pin; city vs district), the postal-code validation regex, and the list of valid subdivisions.

Data sourced from Google's i18n address library; updates ride platform releases.

Errors

  • 401 UNAUTHORIZED

    Authorization header missing, malformed, or token invalid/expired.

Get an address format

GET

Returns the address format for a single country — the row you would pull from the catalog if you only need one.

Same shape as a single row in /reference/address-format. Use this when you already know the country (the merchant just picked it, the shopper is checking out from a known billing country) and you want to render an address form with the right field order, labels, validation regex, and subdivision list.

The response carries everything you need to build a country-correct form without baking per-country logic into your client.

Path parameters

Name Type Description
countryCode required string

An ISO 3166-1 alpha-2 country code, such as US or JP.

Example: JP

Errors

  • 400 INVALID_INPUT

    countryCode is missing or not a recognised ISO 3166-1 alpha-2 code.

  • 401 UNAUTHORIZED

    Authorization header missing, malformed, or token invalid/expired.

  • 404 NOT_FOUND

    No address format on file for the country code.