Skip to main content

Get Booking Service

This endpoint allows you to retrieve information about specific booking services and list all services with optional filtering and pagination.

πŸ”Ή Endpoint Details​

Get Single Service​

GET /api/v1/services/{id}

List Services​

GET /api/v1/services

πŸ”’ Authentication​

HeaderRequiredDescription
Content-TypeYesMust be application/json
AuthorizationYesFormat: ONLIVESITE Credential:ONLIVEAccessKeyId, Signature=CalculatedSignature

πŸ“ Request Parameters​

Path Parameters (Get Single Service)​

ParameterTypeRequiredDescriptionExample
idstring (UUID)YesUnique identifier of the service1610c525-f19a-40d0-8cd1-03daba3d2d98

Query Parameters (List Services)​

ParameterTypeRequiredDescriptionDefault
pagenumberNoPage number for pagination1
limitnumberNoItems per page20
userGroupIdstringNoFilter by user group ID-
searchstringNoSearch in service name-
typeIdstringNoFilter by service type-
namestringNoFilter by exact name-
startDatestringNoFilter by availability start date-
endDatestringNoFilter by availability end date-

🧩 Request Examples​

Get Single Service​

curl -X GET "https://openapi.onlive.site/api/v1/services/1610c525-f19a-40d0-8cd1-03daba3d2d98" \
-H "Content-Type: application/json" \
-H "Authorization: ONLIVESITE Credential:ONLIVEAccessKeyId, Signature=CalculatedSignature"

List Services with Filtering​

curl -X GET "https://openapi.onlive.site/api/v1/services?page=1&limit=10&userGroupId=f329fe97-452f-4d12-aef0-f526a74569cc" \
-H "Content-Type: application/json" \
-H "Authorization: ONLIVESITE Credential:ONLIVEAccessKeyId, Signature=CalculatedSignature"

πŸ“€ Response Format​

Single Service Response (200 OK)​

{
"id": "1610c525-f19a-40d0-8cd1-03daba3d2d98",
"deletedAt": null,
"createdAt": "2025-03-09T19:32:03.735Z",
"updatedAt": "2025-03-09T19:32:06.669Z",
"name": "Test Drive Standard",
"duration": 30,
"timeBetween": 30,
"minTimeToSchedule": 0,
"maxTimeToSchedule": 90,
"incrementTime": 30,
"condition": "one",
"extraFields": {
"area": "Barcelona",
"city": "Mollet Del Valles",
"street": "Avenida. Rabassaires, 22-26",
"country": "Spain"
},
"deniedMultipleAppointment": false,
"image": "https://cdn.onlive.site/assets/cupra/cupra-terramar-img1.webp",
"userGroupId": "f329fe97-452f-4d12-aef0-f526a74569cc",
"allowOverlapping": true,
"hasICall": false,
"active": true,
"typeId": "e3fb21fb-83ef-4051-916b-a8e96effe81f",
"dateRanges": [
{
"startDate": "2024-10-13T22:00:00.000Z",
"endDate": "2025-10-14T21:59:59.000Z"
}
],
"calendarIds": [
"75704ec6-8370-445d-90a1-913e096952da",
"6447bff2-a384-49f8-9641-ec2e7178a174",
"cdbab668-4938-445f-8ccf-3c88cfbf56ad"
]
}

List Response (200 OK)​

{
"items": [
{
// Service object as shown above
}
],
"total": 1,
"page": 1,
"limit": 10,
"pages": 1
}

❌ Error Responses​

400 Bad Request​

{
"statusCode": 400,
"message": "Invalid service ID format"
}

401 Unauthorized​

{
"statusCode": 401,
"message": "Invalid or missing authorization credentials"
}

403 Forbidden​

{
"statusCode": 403,
"message": "User does not have permission to access this service"
}

404 Not Found​

{
"statusCode": 404,
"message": "Service not found"
}

πŸ“˜ Notes​

  • All timestamps are in ISO 8601 format with UTC timezone
  • The list endpoint supports pagination through page and limit parameters
  • The organizationId is automatically derived from your authentication token
  • Date filters (startDate, endDate) must be in ISO 8601 format
  • Results are sorted by creation date in descending order (newest first)

βœ… Common Use Cases​

  • πŸ” Service Lookup: Find specific services by ID
  • πŸ“Š Service Directory: List all available services
  • πŸ—“οΈ Date-based Filtering: Find services available in specific periods
  • πŸ‘₯ Group Management: List services for specific user groups
  • πŸ“± Pagination: Handle large numbers of services efficiently

πŸ” Filtering Tips​

  1. Date Range Filtering

    • Use startDate and endDate together for specific periods
    • Dates must be in ISO 8601 format
    • Times are optional in date parameters
  2. Performance

    • Use appropriate page sizes (10-50 items)
    • Include specific filters when possible
    • Cache frequently accessed service details