Retrieve Labour Profile List: /labour-profiles
Purpose
This API retrieves a list of all labour profiles configured in the system. Each labour profile represents a reusable configuration that defines booking limits, pricing rules, availability schedules, tax settings, and associated labours, enabling structured labour management and scheduling.
Use Case
This endpoint is typically used when displaying available labour profiles in administrative panels, configuring labour assignments for jobs or workflows, validating pricing and availability rules, or synchronizing labour profile data with external systems for scheduling, billing, or reporting purposes.
Path Parameters
This endpoint does not require path parameters
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| limit | Integer | Number of records to return per page |
| offset | Integer | Number of records to skip for pagination |
Request Body
This endpoint does not accept a request body
Response
On successful execution, this API returns a paginated list of labour profiles. Each labour profile includes its core configuration such as booking limits, tax settings, currency, associated labours, session definitions, pricing structures, and availability schedules. This consolidated response enables client applications to fully understand labour capacity, pricing behavior, and availability rules for effective workforce planning and scheduling.
Response Body
{
"labour_profiles": [
{
"status": "STATUS",
"uuid": "LABOUR_PROFILE_UUID",
"name": "PROFILE_NAME",
"display_name": "PROFILE_DISPLAY_NAME",
"max_booking_limit": "MAX_BOOKING_LIMIT",
"tax_inclusive": "BOOLEAN",
"currency": "CURRENCY_CODE",
"tax": {
"uuid": "TAX_UUID",
"code": "TAX_CODE",
"rate": "TAX_RATE",
"link": "TAX_LINK"
},
"created_by": "CREATED_BY",
"created_on": "CREATED_TIMESTAMP",
"last_updated_by": "LAST_UPDATED_BY",
"last_updated_on": "LAST_UPDATED_TIMESTAMP",
"labours": [
{
"status": "STATUS",
"uuid": "LABOUR_UUID",
"name": "LABOUR_NAME",
"display_name": "LABOUR_DISPLAY_NAME",
"image_name": "IMAGE_NAME",
"use_custom_availability": "BOOLEAN",
"link": "LABOUR_LINK"
}
],
"labour_profile_sessions": [
{
"status": "STATUS",
"uuid": "SESSION_UUID",
"name": "SESSION_NAME",
"start_date": "START_DATE",
"end_date": "END_DATE",
"labour_profile_session_prices": [
{
"id": "PRICE_ID",
"status": "STATUS",
"uuid": "PRICE_UUID",
"price": "PRICE_AMOUNT",
"enabled_pro_rata": "BOOLEAN",
"price_type": "PRICE_TYPE",
"pricing_level": "PRICING_LEVEL",
"labour_profile_session_price_hours": [
{
"status": "STATUS",
"uuid": "PRICE_HOUR_UUID",
"start_time": "START_TIME",
"end_time": "END_TIME",
"price": "HOURLY_PRICE"
}
]
}
],
"labour_profile_session_availability": [
{
"status": "STATUS",
"uuid": "AVAILABILITY_UUID",
"start_time": "START_TIME",
"end_time": "END_TIME",
"available": "BOOLEAN",
"preferred_day": "DAY_OF_WEEK"
}
]
}
]
}
],
"pagination": {
"records": "TOTAL_RECORDS",
"limit": "LIMIT",
"offset": "OFFSET",
"previous_page": "PREVIOUS_PAGE",
"next_page": "NEXT_PAGE"
}
}
| Attribute | Type | Description |
|---|---|---|
| labour_profiles | Array | List of labour profiles |
| labour_profiles.status | String | Current status of the labour profile |
| labour_profiles.uuid | UUID | Unique identifier of the labour profile |
| labour_profiles.name | String | Internal name of the labour profile |
| labour_profiles.display_name | String | Display name of the labour profile |
| labour_profiles.max_booking_limit | String | Maximum number of bookings allowed |
| labour_profiles.tax_inclusive | Boolean | Indicates whether pricing includes tax |
| labour_profiles.currency | String | Currency code used for pricing |
| labour_profiles.tax | Object | Tax configuration associated with the labour profile |
| labour_profiles.labours | Array | Labours linked to the labour profile |
| labour_profiles.labour_profile_sessions | Array | Session definitions for the labour profile |
| labour_profile_sessions.labour_profile_session_prices | Array | Pricing configurations for sessions |
| labour_profile_session_price_hours | Array | Time-based pricing details |
| labour_profile_session_availability | Array | Weekly availability configuration |
| pagination | Object | Pagination metadata for the response |
| pagination.records | Integer | Total number of records |
| pagination.limit | Integer | Maximum records per page |
| pagination.offset | Integer | Offset used for pagination |
| pagination.previous_page | String | Link or reference to the previous page |
| pagination.next_page | String | Link or reference to the next page |