Skip to main content
POST
/
api
/
v1
/
payroll
/
payroll
/
runs
/
retro
cURL
curl -sS -X POST "$FLUIDE_BASE_URL/api/v1/payroll/payroll/runs/retro" \
  -H "Authorization: Bearer $FLUIDE_ACCESS_TOKEN" \
  -H "X-Fluide-Api-Key: $FLUIDE_API_KEY" \
  -H "X-Fluide-Client-Id: fluide-developer" \
  -H "Content-Type: application/json" \
  -d '{}'
{
  "organizationId": "<string>",
  "companyId": "<string>",
  "title": "<string>",
  "periodMonth": 123,
  "periodYear": 123,
  "countryCode": "<string>",
  "idempotencyKey": "<string>",
  "totalGross": 123,
  "totalDeductions": 123,
  "totalNet": 123,
  "currency": "<string>",
  "totalsByCurrency": {},
  "processedBy": "<string>",
  "processedAt": "2023-11-07T05:31:56Z",
  "lockedAt": "2023-11-07T05:31:56Z",
  "submittedAt": "2023-11-07T05:31:56Z",
  "approvedAt": "2023-11-07T05:31:56Z",
  "rejectedAt": "2023-11-07T05:31:56Z",
  "validatedAt": "2023-11-07T05:31:56Z",
  "ruleSnapshotId": "<string>",
  "calculationFingerprint": "<string>",
  "includedEmployeeIds": [
    "<string>"
  ],
  "payrollCycleId": "<string>",
  "isOffCycle": true,
  "periodStart": "<string>",
  "periodEnd": "<string>",
  "payDate": "<string>",
  "runType": {},
  "offCycleReason": "<string>",
  "retroEffectiveDate": "<string>",
  "retroReason": "<string>",
  "referencePayrollRunId": "<string>",
  "settlementSnapshot": {},
  "taxRemittanceDocumentUrl": "<string>",
  "taxRemittanceArtifactId": "<string>",
  "payslips": [
    {
      "payrollRunId": "<string>",
      "payrollRun": "<unknown>",
      "employeeId": "<string>",
      "employee": {},
      "basicSalary": 123,
      "allowances": {},
      "deductions": {},
      "grossPay": 123,
      "netPay": 123,
      "currency": "<string>",
      "payoutCurrency": "<string>",
      "employerLegalName": "<string>",
      "disbursementQueuedAt": "2023-11-07T05:31:56Z",
      "disbursementReference": "<string>",
      "disbursementError": "<string>",
      "documentPublicUrl": "<string>",
      "documentContentHash": "<string>",
      "documentArtifactId": "<string>",
      "documentReadyAt": "2023-11-07T05:31:56Z",
      "id": "<string>",
      "createdAt": "2023-11-07T05:31:56Z",
      "updatedAt": "2023-11-07T05:31:56Z",
      "deletedAt": "2023-11-07T05:31:56Z"
    }
  ],
  "id": "<string>",
  "createdAt": "2023-11-07T05:31:56Z",
  "updatedAt": "2023-11-07T05:31:56Z",
  "deletedAt": "2023-11-07T05:31:56Z"
}

Authorizations

Authorization
string
header
required

Access token JWT. Use as Authorization: Bearer . In the API playground, paste the JWT only.

X-Fluide-Api-Key
string
header
default:fl_dev_your_key
required

Developer API key (fl_dev_...). Required on every API call with a machine access token.

X-Fluide-Client-Id
string
header
default:fluide-developer
required

First-party client audience. Must match the fluide_client_id claim on the JWT. Use fluide-developer for Connect.

Body

application/json
companyId
string<uuid>
required

Company ID (from FluideAuth)

month
number
required

Payroll period month (1-12)

Required range: 1 <= x <= 12
Example:

3

year
number
required

Payroll period year

Example:

2026

retroEffectiveDate
string
required

Date the correction is effective from (ISO date)

Example:

"2026-03-01"

retroReason
string
required

Reason for retroactive adjustment

Maximum string length: 255
Example:

"Salary back-pay"

referencePayrollRunId
string<uuid>

Prior payroll run to diff against; defaults to latest processed run for the period

periodStart
string

Inclusive period start (ISO date)

periodEnd
string

Inclusive period end (ISO date)

payDate
string

Pay date (ISO date); defaults to period end

employeeIds
string<uuid>[]
Minimum array length: 1
clientIdempotencyKey
string

Client idempotency key for safe retries

Maximum string length: 128

Response

Successful response