List Services
Returns a paginated list of all services.
Request
GET /api/oauth/v2/resource/services
Header
| Header | Value |
|---|---|
Authorization | Bearer {access_token} |
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
offset | integer | No | Start position (default: 0) |
limit | integer | No | Number of results (default: 50, max: 200) |
categoryId | string (UUID) | No | Return only services of a specific category |
includeTypes | string | No | Comma-separated list of types to return in addition to regular services. Possible values: service_pause, service_pause_custom, official_holiday, vacation, illness, or all for all types. |
Required scope: services
Response
Success (200 OK)
json
{
"data": [
{
"id": "c3d4e5f6-a7b8-9012-cdef-012345678901",
"name": "Erstordination",
"description": "Erstmaliger Besuch inklusive Anamnese",
"duration": 60,
"durationBefore": 5,
"durationAfter": 10,
"directBooking": false,
"isOnlineBookable": true,
"showDuration": true,
"price": 120.00,
"priceVisible": true,
"color": "#74AFAD",
"icon": "stethoscope",
"sort": 0,
"type": null,
"category": {
"id": "d4e5f6a7-b8c9-0123-defa-123456789012",
"name": "Allgemein",
"description": null,
"color": "#00adba",
"sort": 0,
"tenancies": [
{
"id": "f0e1d2c3-b4a5-6789-fedc-ba9876543210",
"name": "Ordination Muster",
"abbreviation": "OM",
"color": "#00adba"
}
]
},
"tenancies": [
{
"id": "f0e1d2c3-b4a5-6789-fedc-ba9876543210",
"name": "Ordination Muster",
"abbreviation": "OM",
"color": "#00adba"
}
]
}
],
"meta": {
"total": 25,
"offset": 0,
"limit": 50
}
}Response fields
| Field | Type | Description |
|---|---|---|
data | Array | List of services |
data[].id | string (UUID) | Unique service ID |
data[].name | string | Name of the service |
data[].description | string | null | Description text |
data[].duration | integer | Appointment duration for the customer in minutes |
data[].durationBefore | integer | Preparation time in minutes |
data[].durationAfter | integer | Follow-up time in minutes |
data[].directBooking | boolean | Whether the service can be booked directly (without confirmation) |
data[].isOnlineBookable | boolean | Whether the service is bookable online |
data[].showDuration | boolean | Whether the duration is displayed |
data[].price | number | null | Price (gross) |
data[].priceVisible | boolean | Whether the price is displayed |
data[].color | string | Color as hex code (e.g. #74AFAD) |
data[].icon | string | null | Icon name |
data[].sort | integer | Sort order |
data[].type | string | null | null = regular service. Possible values: service_pause (break), service_pause_custom (custom break), official_holiday (public holiday), vacation (vacation), illness (sick leave) |
data[].category | object | null | Assigned category |
data[].category.id | string (UUID) | Unique category ID |
data[].category.name | string | Name of the category |
data[].category.description | string | null | Description text of the category |
data[].category.color | string | Color of the category as hex code |
data[].category.sort | integer | Sort order of the category |
data[].category.tenancies | Array | Assigned tenants of the category |
data[].category.tenancies[].id | string (UUID) | Tenant ID |
data[].category.tenancies[].name | string | Name of the tenant |
data[].category.tenancies[].abbreviation | string | Abbreviation |
data[].category.tenancies[].color | string | Color as hex code |
data[].tenancies | Array | Assigned tenants |
data[].tenancies[].id | string (UUID) | Tenant ID |
data[].tenancies[].name | string | Name of the tenant |
data[].tenancies[].abbreviation | string | Abbreviation |
data[].tenancies[].color | string | Color as hex code |
meta.total | integer | Total number of services |
meta.offset | integer | Current start position |
meta.limit | integer | Number of returned results |
Beispiele
bash
curl -X GET "https://my.offisy.at/api/oauth/v2/resource/services?offset=0&limit=50&categoryId=b2c3d4e5-f6a7-8901-bcde-f01234567890&includeTypes=beispiel" \
-H "Authorization: Bearer {access_token}"Parameter
Zuerst Token anfordern
Possible errors
| Status | Code | Description |
|---|---|---|
| 401 | invalid_client | Invalid or missing access token |
| 403 | insufficient_scope | Scope services not present |