Skip to main content

Stores and connections

How restaurant locations are linked to your application — and why store-scoped API calls need X-Store-Id.

A store is a single restaurant location. Most Otter API calls and webhooks are store-scoped: Otter must know which location you mean, and that location must be connected to your application.

Hierarchy reminder

Merchant hierarchy from Organization to Brand to Store to Connection

ConceptMeaning
OrganizationMerchant account
BrandConcept or banner under the org
StoreOne location — the unit most APIs and webhooks act on
ConnectionMapping between Otter’s store and an id in your system

Full business model: Otter 101.

Why pairing matters

Once a store is linked to your application:

  • You send Otter’s store identity on store-scoped requests in the X-Store-Id header.
  • Webhooks for that store carry store metadata so you can route events correctly.

If a store is not linked, store-scoped calls fail even with a valid bearer token. Pairing is separate from authentication — see Authentication.

Ways to connect stores

Pick the path that matches how merchants come onto your product:

PathWhen to useStart here
Account RepresentativeManual / early onboarding; few storesAsk your AR to link stores (also in Quickstart)
Stores & account pairingYour app receives store upserts and registers an external idStores & account pairing
Organization onboardingMerchant authorizes your app and you browse org → brand → storeOnboard an organization

Many products start with Account Representative for a few stores, then automate pairing at scale.

Using X-Store-Id

On store-scoped resource calls:

Store-scoped request headers
Authorization: Bearer <access_token>
X-Store-Id: <store_id>
  • Use the Otter store id for the linked location (not an unlinked id from another app).

Store status and removal

Next

Link at least one store (Quickstart), confirm a store-scoped call succeeds, then choose the Integrations hub for your product.