post
https://api.cardda.com/v1/banking/bank_payrolls/
Creates an empty bank payroll in draft state. The request body takes a
name and the sender_id (UUID of the source bank_account), plus the
optional online flag (true — the default — for same-day payrolls,
false for deferred), payment_date (required when online is false)
and category.
Line items are not part of this request — attach them by creating each
transaction via POST /v1/banking/bank_transactions with the new payroll's
id passed as bank_payroll_id.
Once the line items are in place, walk the lifecycle:
POST /v1/banking/bank_payrolls/{id}/enroll— mandatory first step;
requiresstatus: draft, no transition in flight, and at least one
attached transaction. The call answers200while the payroll is still
transition: enroll; the bank settles it asynchronously into either
enrolledorpending_validation(the branch step 2 covers), or
enroll_failed. Poll the show endpoint for the landing state.POST /v1/banking/bank_payrolls/{id}/validate— conditional branch,
only when enrollment left the payroll inpending_validation(recipients
the bank still needs validated). Requirestokenand
verification_code.POST /v1/banking/bank_payrolls/{id}/preauthorize— requires
status: enrolled.POST /v1/banking/bank_payrolls/{id}/authorize— final step; the payroll
endsapprovedordeclined.
Recent Requests
Log in to see full request history
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Loading…
401Unauthorized — missing or invalid bearer token, company-id header not
set, or sender_id names an account your user does not manage.
