Skip to main content

Overview

Returns a paginated list of services enabled for your partner account. Use this endpoint to discover valid serviceId values for booking creation.
Only services assigned to your partner account are returned. Services outside your catalog cannot be booked — attempting to use an unauthorized serviceId returns 404 RESOURCE_NOT_FOUND or SERVICE_NOT_ALLOWED.

Endpoint

GET /partners/services

Authentication

Requires a valid API Key with the partner_services_read permission.

Query Parameters

ParameterTypeRequiredDescription
pageintegerNoPage number. Default: 1.
limitintegerNoResults per page. Default: 20. Max: 100.
sortBystringNoField to sort by.
sortOrderstringNoASC or DESC. Default: DESC.

Example Request

curl -X GET "https://apiv3.thecleanlife.dev/v1/partners/services?page=1&limit=50" \
  -H "x-api-key: YOUR_API_KEY"

Success Response

HTTP Status: 200 OK
{
  "success": true,
  "data": [
    {
      "id": "dddddddd-0000-0000-0000-000000000004",
      "name": "Regular Cleaning",
      "isActive": true
    }
  ],
  "meta": {
    "page": 1,
    "limit": 50,
    "total": 12,
    "totalPages": 1
  }
}
The exact fields returned for each service may vary. Contact the CleanLife team if you need a complete field reference.

Error Responses

HTTP StatusCodeDescription
401UNAUTHORIZEDMissing or invalid API key
403FORBIDDENMissing partner_services_read permission

Notes

  • Cache the service list on your side with a short TTL (e.g., 1 hour). Your assigned services rarely change.
  • Use the returned id as serviceId when creating bookings. You do not need to send categoryId — it is resolved automatically from the service.

  • GET /partners/services/:serviceId — Get full details for a single service
  • GET /partners/timeslots/available — Get available timeslots for a service