Skip to content

Get a service

Request

Returns a single service with its category, pricing, duration, Team Member links, and package components when type is package. The response carries an ETag header for a subsequent PATCH or DELETE.

Security
OAuth2(Required scopes: services:read) or RestrictedKey
Path
location_idintegerrequired

Identifier of the Location. Verified against the credential on every call — a Location the credential cannot access responds with 404.

service_idintegerrequired

Identifier of the service.

curl -i -X GET \
  'https://developer.alteg.io/_mock/en/b2b-v3/openapi/locations/{location_id}/services/{service_id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

The service.

Headers
RateLimit-Remaininginteger, (int32), >= 0

Requests left in the most constrained policy window that applies to this request.

RateLimit-Resetinteger, (int32), >= 0

On 429, seconds until the most constrained policy frees up; it equals Retry-After there. On a successful response it reports the length of that policy's window rather than the time left in the current one, so treat it as the window size, not as a countdown — the counter to pace against is RateLimit-Remaining.

RateLimit-Policystring

Most constrained policy applied to the request, as <limit>;w=<window in seconds>.

Example:"10;w=60"
ETagstring

Version tag of the returned resource. Send it back in If-Match on the next PATCH or DELETE.

X-Request-Idstring

Request identifier for support and log correlation.

Bodyapplication/json
idintegerread-onlyrequired
objectstringread-onlyrequired
Value:"service"
typestringrequired

Service kind. Immutable after creation (422 field_immutable). A package service bundles several simple services of the same Location; it appears in the same list and is scheduled by the same service_id.

Default:"simple"
Enum:"simple""package"
namestringrequired
category_idintegerrequired

Service category (listServiceCategories).

duration_secondsintegerrequired

Default duration in seconds.

price_minorintegerrequired

Default price in integer minor units of the Location currency.

currencystringread-onlyrequired

ISO 4217, server-controlled by the Location.

packageobject(ServicePackageDetails)

Package settings and components. Present only when type is package.

is_bookablebooleanread-only

Derived — true when the service has at least one bookable Team Member link.

team_membersArray of objects(ServiceTeamMemberLink)

Team Members providing this service, with optional per-member overrides.

created_atstring, (date-time)read-only

UTC.

updated_atstring, (date-time)read-only

UTC.

Response
{ "id": 100, "object": "service", "type": "simple", "name": "Men's haircut", "category_id": 205, "duration_seconds": 3600, "currency": "EUR", "is_bookable": true, "team_members": [ {}, {} ], "created_at": "2026-07-01T08:00:00Z", "updated_at": "2026-07-10T09:30:00Z", "price_minor": 250000 }