Skip to main content
GET
/
api
/
shops
List shops
curl --request GET \
  --url https://app.solya.app/api/shops \
  --header 'Authorization: Bearer <token>'
{
  "data": [
    {
      "address": "12 Boulevard des Capucines",
      "city": "Paris",
      "code": "PAR-OP",
      "country": "France",
      "countryId": "country-uuid-fr",
      "createdAt": "2024-01-15T09:00:00.000Z",
      "deactivatedAt": null,
      "description": null,
      "id": "shop-uuid-1",
      "isActive": true,
      "kind": "STORE",
      "lat": "48.8719",
      "lng": "2.3310",
      "name": "Paris Opéra",
      "region": "Île-de-France",
      "status": "OPEN",
      "system": "POLARIS",
      "updatedAt": "2026-05-01T14:30:00.000Z"
    },
    {
      "address": "5 Place Bellecour",
      "city": "Lyon",
      "code": "LYO-BL",
      "country": "France",
      "countryId": "country-uuid-fr",
      "createdAt": "2024-02-01T09:00:00.000Z",
      "deactivatedAt": null,
      "description": null,
      "id": "shop-uuid-2",
      "isActive": true,
      "kind": "STORE",
      "lat": "45.7578",
      "lng": "4.8320",
      "name": "Lyon Bellecour",
      "region": "Auvergne-Rhône-Alpes",
      "status": "OPEN",
      "system": "POLARIS",
      "updatedAt": "2026-05-01T14:30:00.000Z"
    }
  ],
  "page": 1,
  "pageSize": 20,
  "total": 12
}

Authorizations

Authorization
string
header
required

User session token issued by NextAuth. For human users accessing Solya via the web application.

Query Parameters

page
integer
default:1

Page number, 1-indexed (default: 1)

Required range: 1 <= x <= 9007199254740991
pageSize
integer
default:20

Number of items per page, max 100 (default: 20)

Required range: 1 <= x <= 100
q
string

Case-insensitive substring search query

Response

Successful response

data
object
required
success
enum<boolean>
required
Available options:
true