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 |
Retrieve a Labour Profile : /labour-profiles/{labour_profile_uuid}
Purpose
This API retrieves the full details of a specific labour profile using its unique profile UUID. Labour profiles in Exsited define pricing, tax configuration, availability, working hours, and associated labours. They are used to manage labour‑related configurations for scheduling, booking, and cost calculations. This endpoint provides complete visibility into a labour profile, including sessions, pricing rules, availability, and linked labour records.
Use Case
This endpoint is used to view the configuration of a labour profile for scheduling, pricing, or operational purposes. It is commonly used in booking workflows, labour assignment screens, and configuration dashboards. QA teams use this endpoint to validate that labour profiles created or updated through the UI or API are correctly stored and returned with accurate pricing, tax, availability, and session details.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| profile_uuid | String | Unique identifier of the labour profile to retrieve. |
Query Parameters
This endpoint does not support query parameters
Request Body
This endpoint does not require a request body
Response
The API succesfully returns a labour_profile object containing all configuration details of the requested labour profile. This includes profile metadata (name, display name, status), tax configuration, associated labours, and detailed session information such as pricing, availability, and working hours. Nested structures provide granular visibility into session‑level pricing rules and availability schedules. This response ensures that all labour‑related configurations can be accurately displayed or processed by the system.
Response Body
{
"labour_profile": {
"status": "LABOUR_PROFILE_STATUS",
"uuid": "LABOUR_PROFILE_UUID",
"name": "LABOUR_PROFILE_NAME",
"display_name": "LABOUR_PROFILE_DISPLAY_NAME",
"max_booking_limit": "MAX_BOOKING_LIMIT",
"tax_inclusive": "TAX_INCLUSIVE",
"currency": "CURRENCY",
"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": "LABOUR_STATUS",
"uuid": "LABOUR_UUID",
"name": "LABOUR_NAME",
"display_name": "LABOUR_DISPLAY_NAME",
"image_name": "IMAGE_NAME",
"use_custom_availability": "USE_CUSTOM_AVAILABILITY",
"link": "LABOUR_LINK"
}
],
"labour_profile_sessions": [
{
"status": "SESSION_STATUS",
"uuid": "SESSION_UUID",
"name": "SESSION_NAME",
"start_date": "SESSION_START_DATE",
"end_date": "SESSION_END_DATE",
"labour_profile_session_prices": [
{
"id": "SESSION_PRICE_ID",
"status": "SESSION_PRICE_STATUS",
"uuid": "SESSION_PRICE_UUID",
"price": "SESSION_PRICE",
"enabled_pro_rata": "ENABLED_PRO_RATA",
"price_type": "PRICE_TYPE",
"pricing_level": "PRICING_LEVEL",
"labour_profile_session_price_hours": [
{
"status": "PRICE_HOUR_STATUS",
"uuid": "PRICE_HOUR_UUID",
"start_time": "START_TIME",
"end_time": "END_TIME",
"price": "PRICE_HOUR_AMOUNT"
}
]
}
],
"labour_profile_session_availability": [
{
"status": "AVAILABILITY_STATUS",
"uuid": "AVAILABILITY_UUID",
"start_time": "START_TIME",
"end_time": "END_TIME",
"available": "AVAILABLE",
"preferred_day": "PREFERRED_DAY"
}
],
"labour_profile_session_working_hours": [
{
"status": "WORKING_HOUR_STATUS",
"uuid": "WORKING_HOUR_UUID",
"start_time": "START_TIME",
"end_time": "END_TIME"
}
]
}
]
}
}
| Attribute | Type | Description |
|---|---|---|
| status | String | ACTIVE / INACTIVE. |
| uuid | String | Unique identifier of the labour profile. |
| name | String | Internal name of the profile. |
| display_name | String | User‑friendly name. |
| max_booking_limit | String | Maximum number of bookings allowed. |
| tax_inclusive | String | Whether tax is included in pricing. |
| currency | String | Currency code (e.g., USD). |
| created_by | String | Creator of the profile. |
| created_on | DateTime | Creation timestamp. |
| last_updated_by | String | Last user who updated the profile. |
| last_updated_on | DateTime | Last update timestamp. |
| tax.uuid | String | Tax configuration UUID. |
| tax.code | String | Tax code (e.g., GST). |
| tax.rate | String | Tax rate percentage. |
| tax.link | String | API link to the tax configuration. |
| uuid | String | Labour UUID. |
| name | String | Labour name. |
| display_name | String | Display name. |
| image_name | String | Profile image name. |
| use_custom_availability | String | Whether labour uses custom availability. |
| link | String | API link to the labour record. |
| uuid | String | Session UUID. |
| name | String | Session name. |
| start_date | DateTime | Session start date. |
| end_date | DateTime | Session end date. |
| id | Integer | Price ID. |
| price | Number | Base price. |
| enabled_pro_rata | String | Whether pro‑rata pricing is enabled. |
| price_type | String | Pricing type (e.g., HOURLY). |
| pricing_level | String | Pricing level. |
| start_time | String | Start time. |
| end_time | String | End time. |
| price | Number | Price for the time range. |
| start_time | String | Availability start time. |
| end_time | String | Availability end time. |
| available | String | Whether available. |
| preferred_day | String | Day of the week. |
| uuid | String | Working hours UUID. |
| start_time | String | Working hours start time. |
| end_time | String | Working hours end time. |
