Locations
Manage physical locations (stores, branches, points of sale) for your tenant. Devices and employees are assigned to locations for reporting and access control.
/api/v1/locationsList all locations for your tenant. Supports filtering, sorting, and pagination.
Headers
| Name | Type | Required | Description |
|---|---|---|---|
| Authorization | string | Required | Bearer <access_token> — requires locations:read scope |
AuthorizationstringRequiredBearer <access_token> — requires locations:read scope
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| name | string | Optional | Filter by location name (substring match) |
| externalId | string | Optional | Filter by your own external identifier |
| sortBy | string | Optional | "name" | "createdAt" | "updatedAt" |
| sortOrder | string | Optional | "asc" | "desc" |
| limit | number | Optional | Page size. When provided, the response includes nextCursor and hasMore |
| cursor | string | Optional | Pagination cursor from a previous response |
namestringOptionalFilter by location name (substring match)
externalIdstringOptionalFilter by your own external identifier
sortBystringOptional"name" | "createdAt" | "updatedAt"
sortOrderstringOptional"asc" | "desc"
limitnumberOptionalPage size. When provided, the response includes nextCursor and hasMore
cursorstringOptionalPagination cursor from a previous response
Response
{
"data": [
{
"id": "loc_abc123",
"name": "Flagship Store",
"address": "Laugavegur 1",
"address2": null,
"city": "Reykjavík",
"postcode": "101",
"createdAt": "2024-01-15T10:00:00.000Z"
}
]
}/api/v1/locations/:idRetrieve a single location by ID.
Headers
| Name | Type | Required | Description |
|---|---|---|---|
| Authorization | string | Required | Bearer <access_token> — requires locations:read scope |
AuthorizationstringRequiredBearer <access_token> — requires locations:read scope
Response
{
"data": {
"id": "loc_abc123",
"name": "Flagship Store",
"address": "Laugavegur 1",
"address2": null,
"city": "Reykjavík",
"postcode": "101",
"createdAt": "2024-01-15T10:00:00.000Z"
}
}/api/v1/locationsCreate a new location. Returns the created location.
Headers
| Name | Type | Required | Description |
|---|---|---|---|
| Authorization | string | Required | Bearer <access_token> — requires locations:write scope |
| Content-Type | string | Required | application/json |
AuthorizationstringRequiredBearer <access_token> — requires locations:write scope
Content-TypestringRequiredapplication/json
Request Body
| Name | Type | Required | Description |
|---|---|---|---|
| name | string | Required | Display name for the location |
| address | string | Required | Street address |
| address2 | string | Optional | Second address line (floor, unit, etc.) |
| city | string | Required | City |
| postcode | string | Required | Postal code |
namestringRequiredDisplay name for the location
addressstringRequiredStreet address
address2stringOptionalSecond address line (floor, unit, etc.)
citystringRequiredCity
postcodestringRequiredPostal code
Response
// 201 Created
{
"data": {
"id": "loc_abc123",
"name": "Flagship Store",
"address": "Laugavegur 1",
"city": "Reykjavík",
"postcode": "101",
"createdAt": "2024-01-15T10:00:00.000Z"
}
}/api/v1/locations/:idDelete a location. Also unassigns all devices associated with that location.
Headers
| Name | Type | Required | Description |
|---|---|---|---|
| Authorization | string | Required | Bearer <access_token> — requires locations:write scope |
AuthorizationstringRequiredBearer <access_token> — requires locations:write scope
Response
{ "deleted": true }