---
title: "Add a part to a job"
method: POST
path: "/v1/jobs/{jobId}/parts"
tags: ["Jobs"]
---

# Add a part to a job

`POST /v1/jobs/{jobId}/parts`

## Request

- Base URL: `https://api.workwing.io`
- URL: `https://api.workwing.io/v1/jobs/{jobId}/parts`
- Auth: HTTP bearer

Records a part consumed on a job. unit_cost is optional; when omitted the cost is resolved from brand pricing / catalogue default.

## Path parameters

- `jobId` string, uuid, required

## Headers

- `Idempotency-Key` string, required

## Request body

- object
  - `part_id` string, uuid, required
  - `quantity` number
  - `unit_cost` number
  - `notes` string

## Response `201`

The recorded part

- object: The recorded part
  - `data` object, required
    - `id` string, uuid, required
    - `part_id` string, uuid, required
    - `quantity` number, required: Quantity used, to at most two decimal places
    - `unit_cost_at_use` number, nullable, required: Unit cost recorded when the part was added, to at most two decimal places. Null when no cost could be resolved.
    - `notes` string, nullable, required
    - `added_by_user_id` string, uuid, nullable, required
    - `added_at` string, date-time, required
    - `part_name` string, nullable, required: Null when the catalogue entry is not visible to this key
    - `part_sku` string, nullable, required
    - `part_unit_label` string, nullable, required
  - `meta` object, required
    - `request_id` string, required
    - `timestamp` string, date-time, required

---

[API](https://skmtc.dev/workwing/apis/workwing-api.md) · [All operations](https://skmtc.dev/workwing/apis/workwing-api/llms.txt) · [OpenAPI document](https://skmtc.dev/workwing/apis/workwing-api/revisions/54bb14368a35?raw)
