Payroll
Locks a payroll
Creates a new payroll run entry in locked state
POST
/
payroll
/
{payrollConfigId}
/
{year}
/
{period}
/
lock
Locks a payroll
curl --request POST \
--url https://api.sandbox.flowpayroll.ai/v1/payroll/{payrollConfigId}/{year}/{period}/lock \
--header 'X-Auth-Token: <api-key>'{
"message": {
"text": "<string>",
"token": "<string>",
"tokenArguments": [
{
"name": "<string>",
"value": "<string>"
}
]
},
"content": {
"data": {
"organisationId": "LOAD_TEST",
"payrollConfigId": "01JNR9P81W74HYCN35X1EEFDZE",
"paymentDate": "2024-05-06",
"year": 2024,
"period": "2",
"frequency": "Monthly",
"periodStartDate": "2024-05-06",
"periodEndDate": "2024-06-05",
"payPeriodStartDate": "2024-05-01",
"payPeriodEndDate": "2024-05-31",
"status": "Completed",
"lockStatus": "Locked",
"totalEmployees": 10,
"totalSucceeded": 10,
"totalFailed": 0,
"createdBy": "System",
"createdDate": "2025-03-21T14:17:16.126Z",
"updatedBy": "System",
"updatedDate": "2025-03-21T14:17:19.320Z",
"completedDate": "2025-03-21T14:17:19.320Z",
"lockedBy": "System",
"lockedDate": "<string>",
"hmrcDetails": {
"fullPaymentSubmissionReportDetails": {
"hmrcFpsSubmissionId": null,
"hmrcFpsSubmissionDate": null,
"hmrcFpsReportStatus": "NotSent",
"correlationId": "1234567890",
"errors": [
"Error 1",
"Error 2"
],
"submissionBody": "<string>",
"submissionResponse": "<string>",
"previewS3Key": null,
"submissionDownloadUrl": null,
"previewDownloadUrl": null
}
},
"totalBalances": {
"baseValues": {
"gross": 306,
"grossTaxable": 306,
"grossNi": 306,
"grossForEmployerNi": 306,
"grossForEmployerClass1ANi": 306,
"grossPensionable": 306,
"grossForCourtOrders": 306,
"tax": 45.2,
"ni": 25.3,
"pension": 0,
"employerNi": 35.4,
"employerClass1ANi": 35.4,
"employerPension": 0,
"studentLoan": 0,
"postgraduateLoan": 0,
"net": 235.5,
"netDeductions": 0,
"totalPayable": 235.5,
"totalEmployerCost": 306,
"niBand": {},
"statutory": {
"SSP": 0,
"SMP": 0
},
"pensionContributionsByType": {
"NetPayArrangement": 0,
"ReliefAtSource": 0,
"SalarySacrifice": 0
}
},
"statutoryPaymentsReclaims": {
"SSP": {
"amount": 100,
"type": "StatutorySickPay"
},
"SMP": {
"amount": 150,
"type": "StatutoryMaternityPay"
}
}
}
},
"metadata": {
"dateFormat": "yyyy-MM-dd",
"dateTimeFormat": "yyyy-MM-ddTHH:mm:ss.fffZ",
"paginationToken": "<string>"
}
},
"validationIssues": [
{
"field": "<string>",
"reason": "<string>",
"reasonToken": "<string>",
"reasonTokenArguments": [
{
"name": "<string>",
"value": "<string>"
}
]
}
],
"messageToken": "<string>"
}Documentation Index
Fetch the complete documentation index at: https://docs.flowpayroll.ai/llms.txt
Use this file to discover all available pages before exploring further.
Authorizations
Access token obtained from OAuth2 client credentials flow
Path Parameters
The payroll config id
The year in format yyyy
The period of the pay run (1, 2, 3... etc)
Was this page helpful?
Create the next payroll run for a given payroll configuration
Previous
Finalise year-end for a payroll configuration
Next
⌘I
Locks a payroll
curl --request POST \
--url https://api.sandbox.flowpayroll.ai/v1/payroll/{payrollConfigId}/{year}/{period}/lock \
--header 'X-Auth-Token: <api-key>'{
"message": {
"text": "<string>",
"token": "<string>",
"tokenArguments": [
{
"name": "<string>",
"value": "<string>"
}
]
},
"content": {
"data": {
"organisationId": "LOAD_TEST",
"payrollConfigId": "01JNR9P81W74HYCN35X1EEFDZE",
"paymentDate": "2024-05-06",
"year": 2024,
"period": "2",
"frequency": "Monthly",
"periodStartDate": "2024-05-06",
"periodEndDate": "2024-06-05",
"payPeriodStartDate": "2024-05-01",
"payPeriodEndDate": "2024-05-31",
"status": "Completed",
"lockStatus": "Locked",
"totalEmployees": 10,
"totalSucceeded": 10,
"totalFailed": 0,
"createdBy": "System",
"createdDate": "2025-03-21T14:17:16.126Z",
"updatedBy": "System",
"updatedDate": "2025-03-21T14:17:19.320Z",
"completedDate": "2025-03-21T14:17:19.320Z",
"lockedBy": "System",
"lockedDate": "<string>",
"hmrcDetails": {
"fullPaymentSubmissionReportDetails": {
"hmrcFpsSubmissionId": null,
"hmrcFpsSubmissionDate": null,
"hmrcFpsReportStatus": "NotSent",
"correlationId": "1234567890",
"errors": [
"Error 1",
"Error 2"
],
"submissionBody": "<string>",
"submissionResponse": "<string>",
"previewS3Key": null,
"submissionDownloadUrl": null,
"previewDownloadUrl": null
}
},
"totalBalances": {
"baseValues": {
"gross": 306,
"grossTaxable": 306,
"grossNi": 306,
"grossForEmployerNi": 306,
"grossForEmployerClass1ANi": 306,
"grossPensionable": 306,
"grossForCourtOrders": 306,
"tax": 45.2,
"ni": 25.3,
"pension": 0,
"employerNi": 35.4,
"employerClass1ANi": 35.4,
"employerPension": 0,
"studentLoan": 0,
"postgraduateLoan": 0,
"net": 235.5,
"netDeductions": 0,
"totalPayable": 235.5,
"totalEmployerCost": 306,
"niBand": {},
"statutory": {
"SSP": 0,
"SMP": 0
},
"pensionContributionsByType": {
"NetPayArrangement": 0,
"ReliefAtSource": 0,
"SalarySacrifice": 0
}
},
"statutoryPaymentsReclaims": {
"SSP": {
"amount": 100,
"type": "StatutorySickPay"
},
"SMP": {
"amount": 150,
"type": "StatutoryMaternityPay"
}
}
}
},
"metadata": {
"dateFormat": "yyyy-MM-dd",
"dateTimeFormat": "yyyy-MM-ddTHH:mm:ss.fffZ",
"paginationToken": "<string>"
}
},
"validationIssues": [
{
"field": "<string>",
"reason": "<string>",
"reasonToken": "<string>",
"reasonTokenArguments": [
{
"name": "<string>",
"value": "<string>"
}
]
}
],
"messageToken": "<string>"
}