---
title: "Create Labor Item"
method: POST
path: "/costing/{job_uid}/labor_items"
---

# Create Labor Item

`POST /costing/{job_uid}/labor_items`

## Request

- Base URL: `https://dc-region.zuperpro.com/api`
- URL: `https://dc-region.zuperpro.com/api/costing/{job_uid}/labor_items`
- Auth: API key in header `x-api-key`

Creates a job-cost line item for a user/service/labor-code combination. Requires `company_policy.labor_costing_enabled`. Blocked (400) if the company has Job Timelog enabled — in that mode, labor items are managed automatically from timelogs instead of created manually. `duration`/`cost`/`labor_charge` are auto-computed when omitted (duration from the linked labor service's quantity; labor_charge from the user's hourly rate plus the labor code's markup/burden rate; cost from duration × labor_charge). Creating a labor item auto-assigns the user+team to the job if not already assigned.

## Path parameters

- `job_uid` string, required

## Request body

- object
  - `labor_item` object, required
    - `user_uid` string, required
    - `team_uid` string, nullable
    - `product_uid` string, nullable: Must reference a Product with product_type LABOR.
    - `labor_code_uid` string
    - `duration` number: Hours. Auto-computed if omitted.
    - `cost` number: Auto-computed as duration * labor_charge if omitted.
    - `labor_charge` number: Auto-computed from the user's hourly rate plus labor code markup/burden if omitted.
    - `is_billable` boolean

## Response `200`

200

- object
  - `type` string
  - `title` string
  - `message` string
  - `data` object
    - `labor_code_uid` string: Despite the field name, this is actually the created labor_item_uid — a known naming artifact in the API response, documented here to match real behavior.

## Other responses

- `400`: 400

## Changes

- **2026-11-03** `3c21bc232e16`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/zuper/apis/zuper-pro-api/changes/costing/:job_uid/labor_items/post.md)

---

[API](https://skmtc.dev/zuper/apis/zuper-pro-api.md) - [All operations](https://skmtc.dev/zuper/apis/zuper-pro-api/llms.txt) - [OpenAPI document](https://skmtc.dev/zuper/apis/zuper-pro-api/revisions/3c21bc232e16?raw)
