---
title: "List branch services"
method: GET
path: "/api/business/{businessId}/branch/{branchId}/service"
tags: ["Branch Service"]
---

# List branch services

`GET /api/business/{businessId}/branch/{branchId}/service`

## Request

- Base URL: `http://api-gateway-eu.phorest.com/third-party-api-server`
- URL: `http://api-gateway-eu.phorest.com/third-party-api-server/api/business/{businessId}/branch/{branchId}/service`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/phorest/apis/third-party-api/docs/api/business/:businessId/branch/:branchId/service/get.ts> (a function with typed inputs; its response is checked against the schema)

Get a list of branch services for the specified business id and branch id. List can be filtered by service category id, service type, possibility to include archived branch services in the list and option to fetch online categories of branch services. Use <code>service_type</code> to control which services are returned: <code>services_only</code> (default — excludes add-on-only services); <code>addons_only</code> returns services flagged as add-ons; <code>services_and_addons</code> returns all services regardless of add-on flag.

## Path parameters

- `businessId` string, required
- `branchId` string, required

## Query parameters

- `category_id` string
- `includeArchived` boolean
- `fetch_online_category` boolean
- `fetch_addon_services` boolean
- `service_type` string

## Response `200`

Branch services listed

- DataPagedModelService
  - `_embedded` object
    - `services` Service[]
      - `serviceId` string
      - `version` integer
      - `archived` boolean
      - `categoryId` string
      - `duration` integer: in minutes
      - `gapTime` integer: in minutes
      - `name` string
      - `price` number
      - `disqualifiedStaff` string[]
      - `machines` string[]
      - `rooms` string[]
      - `taxRates` string[]
      - `internetName` string
      - `staffCategories` StaffCategories
        - `prices` PriceStaffCategory[]
          - `id` string
          - `price` number
      - `userDurations` UserDuration[]
        - `userRef` string
        - `duration` integer: in minutes
      - `userGapTimes` UserGapTime[]
        - `userRef` string
        - `gapTime` integer: in minutes
      - `department` Department
        - `id` string
        - `name` string
      - `categoryName` string
      - `internetEnabled` boolean
      - `internetDescription` string
      - `internetServiceCategories` InternetServiceCategory[]: Contains list of the ID and name of an internet service category that a service belongs to. This data is available only if <code>fetch_online_category</code> parameter is set to true
        - `id` string
        - `name` string
      - `addonServiceIds` string[]: IDs of add-on services linked to this service. Populated when fetch_addon_services=true is requested on GET endpoints, and always present on link/unlink responses.
      - `isAddonOnly` boolean: Whether this service can only be used as an add-on and cannot be booked standalone. When false, the service can be booked standalone or added on to another service.
      - `userPrices` UserPrice[]: Staff-specific prices for this service, keyed by the userId of the staff member. A staff-specific price takes precedence over the staff category price in staffCategories, which takes precedence over price. May include entries for staff who are not currently active in this branch, so match on the userId of the branch staff
        - `userRef` string: User ID of the staff member. Matches userId on the staff resource
        - `price` number
  - `page` PageMetadata
    - `size` integer
    - `totalElements` integer
    - `totalPages` integer
    - `number` integer

## Other responses

- `400`: Bad Request
- `404`: Business with a given id doesn't exist
- `429`: Request rate limit exceeded. Current limit set to 100 rps.
- `500`: Internal Server Error

## Changes

- **2026-11-03** `beea6ef29634`: 5 info
  - added the new optional `query` request parameter `fetch_addon_services`
  - added the new optional `query` request parameter `service_type`
  - added the optional property `_embedded/services/items/addonServiceIds` to the response with the `200` status
  - added the optional property `_embedded/services/items/isAddonOnly` to the response with the `200` status
  - …1 more

[Operation history](https://skmtc.dev/phorest/apis/third-party-api/changes/api/business/:businessId/branch/:branchId/service/get.md)

---

[API](https://skmtc.dev/phorest/apis/third-party-api.md) - [All operations](https://skmtc.dev/phorest/apis/third-party-api/llms.txt) - [OpenAPI document](https://skmtc.dev/phorest/apis/third-party-api/revisions/beea6ef29634?raw)
