curl --request POST \
--url https://api.cadanapay.com/v1/payrolls/{payrollId}/save \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"payrollDate": "2026-03-01",
"payPeriod": {
"fromDate": "2026-02-01",
"toDate": "2026-02-28"
},
"entries": [
{
"personId": "8ab2ba37-3c37-485d-9af9-122d11c96bf9",
"salary": {
"amount": 500000,
"currency": "USD"
}
},
{
"personId": "ca49c55b-12c7-4085-8a0d-ebd006ed8002",
"salary": {
"amount": 375000,
"currency": "USD"
}
}
]
}
'{
"code": "invalid_request_body",
"message": "The request body provided is not valid",
"params": {
"field": "Value is invalid."
}
}Save a payroll
curl --request POST \
--url https://api.cadanapay.com/v1/payrolls/{payrollId}/save \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"payrollDate": "2026-03-01",
"payPeriod": {
"fromDate": "2026-02-01",
"toDate": "2026-02-28"
},
"entries": [
{
"personId": "8ab2ba37-3c37-485d-9af9-122d11c96bf9",
"salary": {
"amount": 500000,
"currency": "USD"
}
},
{
"personId": "ca49c55b-12c7-4085-8a0d-ebd006ed8002",
"salary": {
"amount": 375000,
"currency": "USD"
}
}
]
}
'{
"code": "invalid_request_body",
"message": "The request body provided is not valid",
"params": {
"field": "Value is invalid."
}
}Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Required when using a Platform API token. The tenant key identifying which business to operate on.
The unique identifier for the payroll
payroll date
Show child attributes
Show child attributes
Maximum time the quoted FX rates are valid (RFC 3339). If omitted, spot rates are used.
"2025-06-15T23:59:59Z"
Optional custom fee line items that supplement the standard per-seat subscription fees.
Show child attributes
Any custom data you want to store
Successful operation