API referencePayroll

Run payroll

Pay every active employee the net amount configured for them. Creates a batch that **always** waits for approval, whatever the business's thresholds say. Employees on wallets and employees on bank accounts go out in the same run, on the rail that suits each. Running the same period twice is refused.

POST
/api/b/v1/payroll/runs

Pay every active employee the net amount configured for them.

Creates a batch that always waits for approval, whatever the business's thresholds say. Employees on wallets and employees on bank accounts go out in the same run, on the rail that suits each.

Running the same period twice is refused.

Authorization

OAuth2PasswordBearer
AuthorizationBearer <token>

In: header

admin_access_token?string|null

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Paying everyone active, once. IN-302.

The run is created for review rather than paid immediately: it collects every active employee in currency at the pay they hold now, and that set is fixed once created.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/b/v1/payroll/runs" \  -H "Content-Type: application/json" \  -d '{    "period": "2026-08",    "currency": "RWF"  }'
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "period": "string",  "currency": "string",  "status": "draft",  "employee_count": 0,  "total_net_minor": 0,  "batch_id": "4da22c97-b7d5-4e31-8c3a-03870ebc7b20",  "approval_id": "15af2260-72db-4fc4-b587-6b841d6a3d55",  "created_at": "2019-08-24T14:15:22Z",  "completed_at": "2019-08-24T14:15:22Z",  "notice": "Pays the net amount configured for each employee. No tax, social-security or other deduction is calculated."}