---
title: "Create a job stock"
method: POST
path: "/v1/jobs/{jobId}/stock"
tags: ["Jobs"]
---

# Create a job stock

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

Create a new job stock. Job stock cannot be created for a job with cancelled status (required scope jobs:write)

## Path parameters

- `jobId` integer, required

## Headers

- `Customer-Id` integer, required

## Request body

- CreateJobStockModel — Represents a model that holds information about creating a job stock
  - `stockDetailsId` integer — The identifier of the type of stock associated with the planned stock usage on the job. Only one job stock can be created per stock detail if stock item id is null
  - `stockItemId` integer, nullable — The identifier of the specific stock item associated with the planned stock usage on the job. Must be null when stock detail is consumable. Only one job stock can be created per stock item
  - `action` 'noMovement' | 'broughtAndLeft' | 'broughtAndTakenBack' | 'onSiteAndTakenBack' | 'onSiteAndLeft' | 'usedInStock' — Represents the actions that can be performed on a job stock<p>Possible values:</p><ul><li><b>noMovement</b>: No movement. Can not use when job is completed or cancelled</li><li><b>broughtAndLeft</b>: Brought to job and left at location. Can not use when job is completed or cancelled. When this action is selected, the drop off contact id will be set to the job contact id automatically</li><li><b>broughtAndTakenBack</b>: Brought to job and taken back. Can not use when job is completed or cancelled</li><li><b>onSiteAndTakenBack</b>: Taken from job location. Can not use when job is completed or cancelled. When this action is selected, the pickup contact id will be set to the job contact id automatically</li><li><b>onSiteAndLeft</b>: Already on site and left at location. Can not use when job is cancelled</li><li><b>usedInStock</b>: Used on equipment. Can not use when job is completed or cancelled</li></ul>
  - `quantityPlanned` number, double, nullable — The anticipated quantity of stock units that will be used on a job. Must be null or 1 when stock detail is not consumable. Can't be null when stock detail is consumable
  - `pickupContactId` integer, nullable — The identifier for the contact at the pickup location during the planned stock usage
  - `dropOffContactId` integer, nullable — The identifier for contact at the drop-off location during the planned stock usage
  - `isDeliveredToBeSold` boolean — A flag indicating whether the stock is delivered to be sold
  - `isEquipmentAtDropOff` boolean — A flag indicating whether the stock equipment is at the drop-off location

## Response `201`

Created

- PostResponseInt64 — Represents a response for a POST request, containing the ID of the newly created record
  - `id` integer — Identifier of the newly created record

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `404` — Not Found
- `422` — Unprocessable Content
- `500` — Internal Server Error

---

[API](https://skmtc.net/bigchange/apis/bigchange-dx.md) · [All operations](https://skmtc.net/bigchange/apis/bigchange-dx/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bigchange/bigchange-dx/revisions/916e669fc527/schema)
