---
title: "Create a job"
method: POST
path: "/jobs"
tags: ["Jobs"]
---

# Create a job

`POST /jobs`

## Request

- Base URL: `https://api.shopvox.com/v1`
- URL: `https://api.shopvox.com/v1/jobs`
- Auth: API key in query parameter `account_id` and API key in query parameter `authToken`
- TypeScript: <https://skmtc.dev/shopvox/apis/shopvox-public-api/docs/jobs/post.ts> (a function with typed inputs; its response is checked against the schema)

**Plan: Pro.**

## Request body

- JobWrite
  - `job` object, required
    - `name` string, required
    - `description` string
    - `company_id` string, uuid
    - `company_name` string
    - `contact_id` string, uuid
    - `contact_name` string
    - `po_number` string
    - `quantity` number
    - `due_date` string, date
    - `due_date_from` string, date
    - `auto_schedule` boolean
    - `workflow` string
    - `division_id` string, uuid
    - `production_manager` string
    - `project_manager` string
    - `sales_rep` string
    - `designer` string
    - `shipping_method` string
    - `design_details` string
    - `production_details` string
    - `shipping_details` string
    - `install_details` string
    - `billing_address_name` string
    - `billing_address_street` string
    - `billing_address_street1` string
    - `billing_address_city` string
    - `billing_address_state` string
    - `billing_address_zip` string
    - `billing_address_country` string
    - `shipping_address_name` string
    - `shipping_address_street` string
    - `shipping_address_street1` string
    - `shipping_address_city` string
    - `shipping_address_state` string
    - `shipping_address_zip` string
    - `shipping_address_country` string
    - `installing_address_name` string
    - `installing_address_street` string
    - `installing_address_street1` string
    - `installing_address_city` string
    - `installing_address_state` string
    - `installing_address_zip` string
    - `installing_address_country` string

## Response `200`

Created.

- Job: A production job. `steps`/`lineItems` are present when applicable. The **list** endpoint (`GET /jobs`) returns a slightly different projection: it adds a nested `steps[]` array and an `installDate` field, and its `lineItems[]` omit `uom`. get-a-job and create return the shape documented here.
  - `id` string, uuid
  - `active` boolean
  - `name` string
  - `description` string, nullable
  - `workflowState` string, nullable
  - `companyId` string, uuid, nullable
  - `contactId` string, uuid, nullable
  - `assignedToId` string, uuid, nullable
  - `productionManagerId` string, uuid, nullable
  - `salesRepId` string, uuid, nullable
  - `jobTemplateId` string, uuid, nullable
  - `orderId` string, uuid, nullable
  - `orderLineItemId` string, uuid, nullable
  - `orderNumber` string, nullable
  - `lineNumber` integer, nullable
  - `projectNumber` string, nullable
  - `priority` string, nullable
  - `quantity` number, nullable
  - `requireProofing` boolean, nullable
  - `hasOrder` boolean
  - `daysLeft` integer, nullable
  - `dueDate` string, date, nullable
  - `dueTime` string, nullable
  - `dueDateFrom` string, nullable
  - `dueDateTo` string, nullable
  - `dueDateTimeFrom` string, nullable
  - `dueDateTimeTo` string, nullable
  - `currentStageId` string, uuid, nullable
  - `currentStageName` string, nullable
  - `currentStepId` string, uuid, nullable
  - `currentStepName` string, nullable
  - `bomDetails` string, nullable
  - `designDetails` string, nullable
  - `productionDetails` string, nullable
  - `shippingDetails` string, nullable
  - `installDetails` string, nullable
  - `lastEvent` string, nullable
  - `lastEventAt` string, date-time, nullable
  - `currentProofUrl` string, nullable
  - `currentProofThumbnailUrl` string, nullable
  - `createdAt` string, date-time
  - `updatedAt` string, date-time
  - `divisionId` string, uuid, nullable
  - `division` NamedRef: Lightweight reference to a related record.
    - `id` string, uuid
    - `name` string
  - `company` NamedRef: Lightweight reference to a related record.
    - `id` string, uuid
    - `name` string
  - `contact` NamedRef: Lightweight reference to a related record.
    - `id` string, uuid
    - `name` string
  - `salesRep` Party: A person reference (sales rep, PM, designer) with initials.
    - `id` string, uuid
    - `name` string, nullable
    - `initials` string, nullable
  - `productionManager` Party: A person reference (sales rep, PM, designer) with initials.
    - `id` string, uuid
    - `name` string, nullable
    - `initials` string, nullable
  - `assignedTo` Party: A person reference (sales rep, PM, designer) with initials.
    - `id` string, uuid
    - `name` string, nullable
    - `initials` string, nullable
  - `projectManager` Party: A person reference (sales rep, PM, designer) with initials.
    - `id` string, uuid
    - `name` string, nullable
    - `initials` string, nullable
  - `designer` Party: A person reference (sales rep, PM, designer) with initials.
    - `id` string, uuid
    - `name` string, nullable
    - `initials` string, nullable
  - `lineItems` object[]
    - `id` string, uuid
    - `lineNumber` integer, nullable
    - `position` integer
    - `name` string, nullable
    - `description` string, nullable
    - `quantity` number, nullable
    - `workflowState` string, nullable
    - `uom` string, nullable

## Other responses

- `422`: Unprocessable entity - field errors keyed by attribute.

---

[API](https://skmtc.dev/shopvox/apis/shopvox-public-api.md) - [All operations](https://skmtc.dev/shopvox/apis/shopvox-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/shopvox/apis/shopvox-public-api/revisions/c02128f70b33?raw)
