Skip to main content

Benefits

Overview

Benefits endpoints provide read access to benefits and benefit packages.

Endpoint Summary

MethodRoutePurpose
GET/v1/benefitsList benefits
GET/v1/benefits/{benefitId}Get benefit by ID
GET/v1/benefits-packagesList benefit packages
GET/v1/benefits-packages/{packageId}Get benefit package by ID

GET /v1/benefits

Return paginated benefits.

Headers

HeaderRequiredValue
AuthorizationYesBearer {{ACCESS_TOKEN}}
AcceptYesapplication/json

Query Parameters

ParameterTypeRequiredDescription
pagenumberNoPage number.
per_pagenumberNoItems per page.
search_textstringNoSearch value.
namestringNoFilter by name.
statusstringNoFilter by status.
beneficiary_typestringNoFilter by beneficiary type.
frequencystringNoFilter by frequency.
appliesstringNoFilter by application case.
amount_typestringNoFilter by amount type.
orderstringNoSort field.
order_directionstringNoasc or desc.

Example Request

curl -X GET "{{BASE_URL}}/v1/benefits?page=1&per_page=20" \
-H "Authorization: Bearer {{ACCESS_TOKEN}}" \
-H "Accept: application/json"

Success Response (200)

{
"benefits": {
"currentPage": 1,
"perPage": 20,
"lastPage": 1,
"total": 1,
"items": [
{
"id": 63,
"benefit_id": "3fddf23f-0e3d-4d6a-bc2c-c4f79fe7025c",
"type": "benefit",
"name": "Housing Allowance",
"status": "active",
"amount": "1500.00",
"amount_percentage": null,
"is_amount_percentage": false,
"amount_type": "fixed",
"currency": "EUR",
"frequency": "monthly",
"frequency_label": "Monthly",
"age_min": null,
"age_max": null,
"beneficiary_type": "expat",
"applies": "assignment",
"applies_text": "Assignment",
"payment_method": "payroll",
"tax_free": false,
"tax_regime": null,
"is_visible_to_expat": true,
"archived_at": null,
"restricted_countries": [],
"first_year_total": "18000.00",
"rate_source": null,
"client_currency_rate_id": null,
"rate_valid_from": null,
"rate_valid_to": null
}
],
"filters": []
}
}

GET /v1/benefits/{benefitId}

Return one benefit by ID.

Headers

HeaderRequiredValue
AuthorizationYesBearer {{ACCESS_TOKEN}}
AcceptYesapplication/json

Path Parameters

ParameterTypeRequiredDescription
benefitIdnumberYesBenefit identifier.

Example Request

curl -X GET "{{BASE_URL}}/v1/benefits/{{BENEFIT_ID}}" \
-H "Authorization: Bearer {{ACCESS_TOKEN}}" \
-H "Accept: application/json"

Success Response (200)

{
"benefit": {
"id": 63,
"benefit_id": "3fddf23f-0e3d-4d6a-bc2c-c4f79fe7025c",
"type": "benefit",
"name": "Housing Allowance",
"status": "active",
"amount": "1500.00",
"amount_percentage": null,
"is_amount_percentage": false,
"amount_type": "fixed",
"currency": "EUR",
"frequency": "monthly",
"frequency_label": "Monthly",
"beneficiary_type": "expat",
"applies": "assignment",
"applies_text": "Assignment",
"payment_method": "payroll",
"tax_free": false,
"is_visible_to_expat": true,
"restricted_countries": [],
"first_year_total": "18000.00"
}
}

GET /v1/benefits-packages

Return paginated benefit packages.

Headers

HeaderRequiredValue
AuthorizationYesBearer {{ACCESS_TOKEN}}
AcceptYesapplication/json

Query Parameters

ParameterTypeRequiredDescription
pagenumberNoPage number.
per_pagenumberNoItems per page.
search_textstringNoSearch value.
namestringNoFilter by package name.
statusarray<string>NoFilter by package statuses.
assignment_idnumberNoFilter by assignment.
orderstringNoSort field.
order_directionstringNoasc or desc.

Example Request

curl -X GET "{{BASE_URL}}/v1/benefits-packages?page=1&per_page=20" \
-H "Authorization: Bearer {{ACCESS_TOKEN}}" \
-H "Accept: application/json"

Success Response (200)

{
"packages": {
"currentPage": 1,
"perPage": 20,
"lastPage": 1,
"total": 1,
"items": [
{
"id": 49,
"name": "Relocation Core Package",
"assignment_id": 378,
"status": "approved",
"currency": "EUR",
"local_currency": "EUR",
"is_visible_to_expat": true,
"planned_start_date": "2026-05-01",
"planned_end_date": "2026-09-01",
"actual_end_date": null,
"archived_at": null,
"benefits": [
{
"id": 63,
"benefit_id": "3fddf23f-0e3d-4d6a-bc2c-c4f79fe7025c",
"type": "benefit",
"name": "Housing Allowance",
"status": "active",
"amount": "1500.00",
"amount_type": "fixed",
"currency": "EUR",
"frequency": "monthly",
"frequency_label": "Monthly",
"beneficiary_type": "expat",
"applies": "assignment",
"payment_method": "payroll",
"tax_free": false,
"is_visible_to_expat": true,
"restricted_countries": [],
"first_year_total": "18000.00"
}
],
"total_benefits": 1,
"total_benefits_by_application": [
{
"name": "assignment",
"label": "Assignment",
"count": 1
}
],
"total_amount": "1500.00",
"created_at": "2026-04-25T08:42:33+00:00",
"assignment_client_id": 77,
"assignment_start_date": "2026-05-01"
}
],
"filters": []
}
}

GET /v1/benefits-packages/{packageId}

Return one benefit package by ID.

Headers

HeaderRequiredValue
AuthorizationYesBearer {{ACCESS_TOKEN}}
AcceptYesapplication/json

Path Parameters

ParameterTypeRequiredDescription
packageIdnumberYesBenefit package identifier.

Example Request

curl -X GET "{{BASE_URL}}/v1/benefits-packages/{{PACKAGE_ID}}" \
-H "Authorization: Bearer {{ACCESS_TOKEN}}" \
-H "Accept: application/json"

Success Response (200)

{
"package": {
"id": 49,
"name": "Relocation Core Package",
"assignment_id": 378,
"status": "approved",
"currency": "EUR",
"local_currency": "EUR",
"is_visible_to_expat": true,
"planned_start_date": "2026-05-01",
"planned_end_date": "2026-09-01",
"actual_end_date": null,
"archived_at": null,
"benefits": [
{
"id": 63,
"benefit_id": "3fddf23f-0e3d-4d6a-bc2c-c4f79fe7025c",
"type": "benefit",
"name": "Housing Allowance",
"status": "active",
"amount": "1500.00",
"amount_type": "fixed",
"currency": "EUR",
"frequency": "monthly",
"frequency_label": "Monthly",
"beneficiary_type": "expat",
"applies": "assignment",
"payment_method": "payroll",
"tax_free": false,
"is_visible_to_expat": true,
"restricted_countries": [],
"first_year_total": "18000.00"
}
],
"total_benefits": 1,
"total_benefits_by_application": [
{
"name": "assignment",
"label": "Assignment",
"count": 1
}
],
"total_amount": "1500.00",
"created_at": "2026-04-25T08:42:33+00:00",
"assignment_client_id": 77,
"assignment_start_date": "2026-05-01",
"approvals": []
}
}