---
title: "Company Job"
method: POST
path: "/companies/{companyId}/jobs"
tags: ["Company"]
---

# Company Job

`POST /companies/{companyId}/jobs`

## Request

- Base URL: `https://api.paychex.com`
- URL: `https://api.paychex.com/companies/{companyId}/jobs`
- Auth: none declared
- TypeScript: <https://skmtc.dev/paychex/apis/external-api/docs/companies/:companyId/jobs/post.ts> (a function with typed inputs; its response is checked against the schema)

Add a company level job. If a client has their job numbering structured in 2-3 separate 'segments', you may need to first do a GET on the jobsegements endpoint, so you can see how many segments and the character length of each segment, as well as the name of those segments, which you will need to have before you POST.

## Path parameters

- `companyId` string, required

## Request body

- JobResource: The state representation of Jobs within a company.
  - `jobId` string: The unique identifier associated with this job.
  - `jobCorrelationId` string: Id that you define which is used for error handling/responses.
  - `jobName` string: The name of the job.
  - `startDate` string, date-time: The start date associated with this job.
  - `endDate` string, date-time: The end date associated with this job.
  - `links` Link[]
    - `rel` string
    - `href` string
    - `hreflang` string
    - `media` string
    - `title` string
    - `type` string
    - `deprecation` string
    - `profile` string
    - `name` string
  - `jobNumber` JobSegmentsResource: Data elements of a Job Number to show the segments and number.For segmentation this can be up to 3 different segments.
    - `segment1` string: This is segment 1 or the number associated to the job when segmentation is not used.
    - `segment2` string: This is segment 2.
    - `segment3` string: This is segment 3.

## Response `200`

successful operation

- object
  - `content` JobResource: The state representation of Jobs within a company.
    - `jobId` string: The unique identifier associated with this job.
    - `jobCorrelationId` string: Id that you define which is used for error handling/responses.
    - `jobName` string: The name of the job.
    - `startDate` string, date-time: The start date associated with this job.
    - `endDate` string, date-time: The end date associated with this job.
    - `links` Link[]
      - `rel` string
      - `href` string
      - `hreflang` string
      - `media` string
      - `title` string
      - `type` string
      - `deprecation` string
      - `profile` string
      - `name` string
    - `jobNumber` JobSegmentsResource: Data elements of a Job Number to show the segments and number.For segmentation this can be up to 3 different segments.
      - `segment1` string: This is segment 1 or the number associated to the job when segmentation is not used.
      - `segment2` string: This is segment 2.
      - `segment3` string: This is segment 3.
  - `links` Link[]
    - `rel` string
    - `href` string
    - `hreflang` string
    - `media` string
    - `title` string
    - `type` string
    - `deprecation` string
    - `profile` string
    - `name` string

## Other responses

- `400`: Invalid resource or field,The request cannot be performed since the worker is in a state which does not allow this action(API-19)
- `403`: User doesn't have access to this endpoint (API-2), Client has been end dated (API-68)
- `404`: Invalid resource ID (API-7)
- `405`: Unsupported method type (API-59)
- `406`: Unsupported Accept header
- `500`: Internal Server Error.

---

[API](https://skmtc.dev/paychex/apis/external-api.md) - [All operations](https://skmtc.dev/paychex/apis/external-api/llms.txt) - [OpenAPI document](https://skmtc.dev/paychex/apis/external-api/revisions/07161d3e073f?raw)
