---
title: "Create a bank payroll"
method: POST
path: "/v1/banking/bank_payrolls/"
tags: ["Bank payroll"]
---

# Create a bank payroll

`POST /v1/banking/bank_payrolls/`

Creates an empty bank payroll in `draft` state. The request body takes a
`name`, the `sender_id` (UUID of the source `bank_account`), the `online`
flag (`true` for same-day payrolls, `false` for deferred), and an optional
`payment_date` (required when `online` is `false`). 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:
`validate` → `preauthorize` → `authorize`.
See [Tutorial: Emit a payroll and reconcile it](https://docs.cardda.com/docs/tutorials-emit-payroll).

## Parameters

- `#/paths/~1v1~1banking~1bank_keys/get/parameters/0` — unresolved $ref

## Request body

- BankPayrollCreate
  - `name` string, required
  - `sender_id` string, uuid, required — The id of the bank account involved
  - `online` boolean, required — If true, the payroll will enroll as "En línea", else it will enroll as "Diferida".
  - `payment_date` string — The date on which the payroll will be paid. This is necessary for payrolls that are enrolled as "Diferida".

## Response `201`

New bank payroll

- object
  - `id` string, uuid, required
  - `sender_id` string, uuid, required
  - `name` string, required
  - `status` 'draft' | 'enrolled' | 'enroll_failed' | 'pending_validation' | 'preauthorized' | 'approved' | 'declined' | 'deleted', required
  - `transition` 'enroll' | 'preauthorize' | 'authorize' | 'delete', nullable, required
  - `created_at` string, date-time
  - `updated_at` string, date-time

## Other responses

- `401` — Unauthorized — missing or invalid bearer token, or `company-id` header not set.
- `422` — Unprocessable entity — validation errors (e.g. recipient not enrolled, currency mismatch).

---

[API](https://skmtc.dev/cardda/apis/banking-api.md) · [All operations](https://skmtc.dev/cardda/apis/banking-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/cardda/banking-api/revisions/ff1aeb3fda8b/schema)
