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

# Retrieve a branch service

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

## 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/{serviceId}`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/phorest/apis/third-party-api/docs/api/business/:businessId/branch/:branchId/service/:serviceId/get.ts> (a function with typed inputs; its response is checked against the schema)

Get a branch service for the specified business id, branch id and branch service id. There is an option to fetch online categories of branch services

## Path parameters

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

## Query parameters

- `fetch_online_category` boolean
- `fetch_addon_services` boolean

## Response `200`

Specified branch service retrieved

- 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

## Other responses

- `400`: Bad Request
- `404`: Branch service with the specified id doesn't exist
- `429`: Request rate limit exceeded. Current limit set to 100 rps.
- `500`: Internal Server Error

## Changes

- **2026-11-03** `beea6ef29634`: 4 info
  - added the new optional `query` request parameter `fetch_addon_services`
  - added the optional property `addonServiceIds` to the response with the `200` status
  - added the optional property `isAddonOnly` to the response with the `200` status
  - added the optional property `userPrices` to the response with the `200` status

[Operation history](https://skmtc.dev/phorest/apis/third-party-api/changes/api/business/:businessId/branch/:branchId/service/:serviceId/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)
