---
title: "POST /api/tenants/{tenantId}/payruns/jobs"
method: POST
path: "/api/tenants/{tenantId}/payruns/jobs"
tags: ["Payrun jobs"]
---

# POST /api/tenants/{tenantId}/payruns/jobs

`POST /api/tenants/{tenantId}/payruns/jobs`

## Request

- The document declares no server URL.
- Auth: none declared
- TypeScript: <https://skmtc.dev/payroll-engine/apis/payroll-engine-backend-api-v1/docs/api/tenants/:tenantId/payruns/jobs/post.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `tenantId` integer, required

## Request body

- PayrunJobInvocation
  - `id` integer
  - `status` 'Active' | 'Inactive'
  - `created` string, date-time
  - `updated` string, date-time
  - `payrunName` string, required
  - `userIdentifier` string, required
  - `payrunJobId` integer
  - `parentJobId` integer, nullable
  - `name` string, required
  - `owner` string, nullable
  - `retroJobs` RetroPayrunJob[], nullable
    - `id` integer
    - `status` 'Active' | 'Inactive'
    - `created` string, date-time
    - `updated` string, date-time
    - `scheduleDate` string, date-time, required
    - `resultTags` string[], nullable
  - `tags` string[], nullable
  - `forecast` string, nullable
  - `retroPayMode` 'ValueChange' | 'None'
  - `jobResult` 'Full' | 'Incremental'
  - `jobStatus` 'Draft' | 'Release' | 'Process' | 'Complete' | 'Forecast' | 'Abort' | 'Cancel'
  - `completedJobStatus` 'Draft' | 'Release' | 'Process' | 'Complete' | 'Forecast' | 'Abort' | 'Cancel'
  - `periodStart` string, date-time, required
  - `evaluationDate` string, date-time, nullable
  - `reason` string, required
  - `storeEmptyResults` boolean
  - `logLevel` 'Verbose' | 'Debug' | 'Information' | 'Warning' | 'Error' | 'Fatal'
  - `employeeIdentifiers` string[], nullable
  - `attributes` object, nullable

## Response `202`

Accepted

## Other responses

- `404`: Not Found
- `422`: Unprocessable Content
- `429`: Too Many Requests
- `503`: Service Unavailable

## Changes

- **2026-04-01** `34e260deaa2c`: 3 info
  - added the new optional request property `completedJobStatus` (media type: application/json)
  - added the new optional request property `completedJobStatus` (media type: text/json)
  - added the new optional request property `completedJobStatus` (media type: application/*+json)
- **2026-03-09** `97ae205209e8`: 6 breaking, 6 warning, 2 info
  - added the new required request property `payrunName` (media type: application/json)
  - added the new required request property `payrunName` (media type: text/json)
  - added the new required request property `payrunName` (media type: application/*+json)
  - added the new required request property `userIdentifier` (media type: application/json)
  - …10 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/payroll-engine/apis/payroll-engine-backend-api-v1/changes/api/tenants/:tenantId/payruns/jobs/post.md)

---

[API](https://skmtc.dev/payroll-engine/apis/payroll-engine-backend-api-v1.md) - [All operations](https://skmtc.dev/payroll-engine/apis/payroll-engine-backend-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/payroll-engine/apis/payroll-engine-backend-api-v1/revisions/7e8994a2c5bb?raw)
