Payroll cycles
Read the current revision and evidence-backed state
Returns collecting, preview_ready, approved, finalized, filed, accepted or correction_required. A managed candidate includes the exact job/result-set identity and a result projection with native gross, employee/employer contributions, net before tax, PAS, net payable, employer cost, person wage-type details, warnings and blockers. Missing native amounts stay null; native DSN results are not exposed. Calculation/finalization and documents have separate statuses. filed/accepted are projected from Ops/Filing evidence, never partner declarations.
path Parameters
partnerIdtenantIdperiod^[0-9]{4}-(0[1-9]|1[… · requiredCurrent payroll month or M-1.
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Read the current revision and evidence-backed state › Responses
Current cycle revision
Create or replay a monthly payroll cycle
Creates revision 1 of the tenant/period logical resource. Replays are idempotent. Legal filing is not exposed to partners.
path Parameters
partnerIdtenantIdperiod^[0-9]{4}-(0[1-9]|1[… · requiredCurrent payroll month or M-1.
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Create or replay a monthly payroll cycle › Responses
Existing cycle returned
Get the exact legacy cycle payslip preview read URL
Returns a bounded private URL for the PDF frozen by /preview, with its period, revision, beneficiary, job, result set and checksum. documentStatus is preview before partner approval or approved_preview after approval; this legacy PDF is not a managed final document. When unavailable, 409 includes the cycle state, last preview blockers and nextAction. Read the cycle and prepare /preview after resolving blockers.
path Parameters
partnerIdtenantIdperiod^[0-9]{4}-(0[1-9]|1[… · requiredHeaders
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Get the exact legacy cycle payslip preview read URL › Responses
Exact legacy PDF preview URL and identity; download and verify the checksum
urlTemporary signed private PDF URL. Fetch without the partner API key; request this endpoint again after expiration.
documentStatuspreview is unapproved; approved_preview is the same legacy preview after approval. Neither is a managed final document.
period^[0-9]{4}-(0[1-9]|1[… · requiredrevisionemployeeIdpayrunJobIdpayslipChecksum^[0-9a-f]{64}$ · requiredSHA-256 of the exact PDF bytes.
resultSetIdSet monthly payroll variables
Persists an exact write intent before writing the mandate remuneration and planned payment date atomically to PayrollEngine. Ops accepts an exact yyyy-MM-dd calendar value and transports it unchanged; it does not apply a fiscal or social admissibility window. A first legacy write may omit it, but preview then reports date_de_versement_missing; once set it cannot be silently removed. A change after cutoff, approval or filing opens a new revision. An ambiguous downstream outcome blocks blind replay and is exposed for reconciliation. A PayrollEngine refusal is relayed explicitly.
path Parameters
partnerIdtenantIdperiod^[0-9]{4}-(0[1-9]|1[… · requiredHeaders
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
If-MatchSet monthly payroll variables › Request Body
remunerationMonthly mandate remuneration in euros; 0 is a legitimate payroll month.
dateDeVersement^[0-9]{4}-(0[1-9]|1[…Planned calendar payment date, explicitly confirmed for this payroll cycle and transported unchanged to PayrollEngine. Ops does not interpret its fiscal or social admissibility.
Set monthly payroll variables › Responses
Variables persisted or replayed
Evaluate preview readiness
Legacy readiness check. A cycle with a managed operation must use calculate and poll the exact operation; this route cannot select the latest unrelated native job.
path Parameters
partnerIdtenantIdperiodHeaders
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
If-MatchEvaluate preview readiness › Responses
Readiness evaluated; inspect state and preview.blockers
Approve and freeze the preview revision
Approve the exact persisted candidate under If-Match, then finalize its native job durably. Returns 202 and Location while finalization proceeds. Legacy approval remains available only for cycles with no managed operation.
path Parameters
partnerIdtenantIdperiodHeaders
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
If-MatchApprove and freeze the preview revision › Request Body
approvalKeycandidateIdExact persisted calculation candidate to approve
Approve and freeze the preview revision › Responses
Revision approved or identical replay returned
Calculate payroll cycle
Creates a durable calculation operation; 202 does not prove the result exists. Idempotency-Key and If-Match are required.
path Parameters
partnerIdtenantIdperiodHeaders
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
If-MatchIdempotency-KeyCalculate payroll cycle › Responses
Durable operation accepted; poll Location for outcome
Get payroll operation
Returns the exact persisted status, phase, candidate and reconciliation blocker. GET never sends a payroll command.
path Parameters
partnerIdtenantIdperiodoperationIdHeaders
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Get payroll operation › Responses
Successful response
Abandon an exact unapproved legacy Draft
Queues an audited, idempotent Abort of one exact native Draft without an Ops candidate. Poll the returned operation; no recalculation is admitted before confirmation. The adapter is disabled until Ops prerequisites are verified.
path Parameters
partnerIdtenantIdperiodjobIdHeaders
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
If-MatchAbandon an exact unapproved legacy Draft › Request Body
requestKeyreasonCodeAbandon an exact unapproved legacy Draft › Responses
Durable Abort operation accepted; poll Location
Abandon payroll candidate
Abandons the exact draft candidate using a durable native transition.
path Parameters
partnerIdtenantIdperiodHeaders
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
If-MatchAbandon payroll candidate › Request Body
candidateIdidempotencyKeyAbandon payroll candidate › Responses
Durable operation accepted; poll Location for outcome
Read an exact candidate document
Document identity includes revision, candidate and variant. Final requires a finalized candidate; PDF generation never recalculates payroll. Sandbox documents carry TEST — SANS VALEUR; draft documents also carry BROUILLON — À VALIDER.
path Parameters
partnerIdtenantIdperiodrevisioncandidateIdvariantHeaders
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Read an exact candidate document › Responses
Document state and bounded read URL when ready
Generate or retry an exact candidate document
Document identity includes revision, candidate and variant. Final requires a finalized candidate; PDF generation never recalculates payroll. Sandbox documents carry TEST — SANS VALEUR; draft documents also carry BROUILLON — À VALIDER.
path Parameters
partnerIdtenantIdperiodrevisioncandidateIdvariantHeaders
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Generate or retry an exact candidate document › Responses
Document state and bounded read URL when ready