---
title: "List Attendance Services"
method: GET
path: "/locations/{location_id}/attendance_services"
tags: ["Services"]
---

# List Attendance Services

`GET /locations/{location_id}/attendance_services`

## Request

- Base URL: `https://api.alteg.io/api/v2`
- URL: `https://api.alteg.io/api/v2/locations/{location_id}/attendance_services`
- Auth: HTTP bearer

Retrieve Service delivery options for the Location timetable. Each result
combines a Service with its applicable Team Member, duration, price, and
composite Service context.

The response is paginated and includes pagination metadata.

## Path parameters

- `location_id` integer, required

## Query parameters

- `team_member_id` integer
- `filter[category_id]` integer
- `filter[service_ids][]` integer[]
- `filter[term]` string
- `filter[is_available_for_timetable]` 0 | 1
- `filter[is_multi]` 0 | 1
- `filter[is_composite]` 0 | 1
- `page` integer
- `limit` integer

## Headers

- `Accept` string, required
- `Authorization` string, required

## Response `200`

Attendance Services retrieved successfully

- object
  - `data` AttendanceServiceResource[], required
    - `type` 'attendance_service', required: Literal JSON:API resource type
    - `id` string, required: Compound Attendance Service identifier
    - `attributes` object, required
      - `company_id` integer, required: Location ID
      - `service_id` integer, required: Service ID
      - `category_id` integer, required: Service Category ID
      - `is_composite` boolean, required: Whether the Service is composite
      - `composite_service_id` integer, required: Parent composite Service ID, or `0`
      - `salon_service_id` integer, nullable, required: Location-specific Service link ID
      - `composite_position` integer, nullable, required: Position within a composite Service
      - `staff_id` integer, required: Team Member ID, or `0` when not Team Member-specific
      - `title` string, required: Service name
      - `length` integer, required: Deprecated duration in seconds; use `duration`
      - `duration` integer, required: Service duration in seconds
      - `price_min` number, required: Minimum Service price
      - `price_max` number, required: Maximum Service price
      - `technical_break_duration` integer, required: Technical break duration in seconds
  - `meta` object, required
    - `pagination` Pagination, required
      - `page` integer, required
      - `offset` integer, required
      - `limit` integer, required

## Other responses

- `401`: Unauthorized
- `403`: Forbidden - No access to this Location
- `404`: Location not found
- `422`: Invalid filter or pagination value

## Changes

- **2026-09-29** `a3a7f7158533`: 1 warning, 1 info
  - deleted the `query` request parameter `staff_id`
  - added the new optional `query` request parameter `team_member_id`

[Operation history](https://skmtc.dev/alteg/apis/business-management/changes/locations/:location_id/attendance_services/get.md)

---

[API](https://skmtc.dev/alteg/apis/business-management.md) - [All operations](https://skmtc.dev/alteg/apis/business-management/llms.txt) - [OpenAPI document](https://skmtc.dev/alteg/apis/business-management/revisions/a2d63320b944?raw)
