Location CRUD + account-user listing.
Location CRUD + account-user listing. Partners can also call these via account-owner impersonation; account owners use them directly with their own login.
Prerequisites
- A bearer token in the
Authorizationheader. Any endpoint that needs no token says so on its own page. - The id of each record the call targets. Every endpoint page lists the ids it needs.
Errors
| Status | Meaning |
|---|---|
401 | The bearer token is missing, expired or invalid |
403 | The token is valid but the record sits outside your account |
422 | The request failed validation — the response names the fields |
500 | Unexpected server error |
Individual endpoints may return more; each page lists its own.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | Partner-wide location list | Get a paginated list of all store locations under the authenticated partner (aggregated across every account the partner owns), each row joined to its account name, address, and active-plan name + dates. |
POST | Account-user location list (POST) | Returns a paginated list of stores accessible to the authenticated user, each row joined out to full location, account, and geographic detail (city, then state, then country) plus the active store_plan with its plan features, and a generated connect_page_url. |
GET | Account-user location list (GET dropdown) | Get a flat label/value list of the stores the authenticated user can access, for dropdowns. |
POST | Create location | Create a new store location under an account in one transaction: a bundle_id=2 location-account record + its company options, the store row, and a store_options row (inheriting who_will_pay). |
POST | Edit location | Update a store and its paired location-account record together (name, storeid, client_location_id, address, zip, city, site_url, phone, company_phone). |
GET | Store Details | Get a single store with its account name, location detail, and active subscription. |
GET | Bulk Upload Location Sample File | Get a download URL for the sample spreadsheet used by the bulk location upload. |
POST | Import Locations Excel (Account – update existing) | Upload an Excel file (first sheet only) and updates existing locations belonging to the authenticated account — matching each row by location_id against the location's saucode, then writing the store name/storeid plus the location-account company's name/address/city/zip. |
POST | Bulk Upload Locations (request verification) | Accepts an Excel file of locations and an account_id (Account), validates the header row and every data row, stores the file to S3, and emails the admin team to verify before any locations are created. |
POST | Import Locations (admin – create verified) | Admin "create verified" import: validates the same Excel file/header/rows, then for each row persists an RsImportLocation record (company_id = account_id, location_name, raw row_data JSON) and dispatches a CreateLocation job to actually create the location asynchronously. |
