---
title: "job.setStatus"
method: POST
path: "/job.setStatus"
tags: ["Job"]
---

# job.setStatus

`POST /job.setStatus`

Sets the status of a job.

**Requires the [`jobsWrite`](authentication#permissions-jobsetstatus) permission.**

## Request body

- JobSetStatusRequest
  - `jobId` string, uuid, required — The unique id of the job to set the status of
  - `status` 'Draft' | 'Open' | 'Closed' | 'Archived', required

## Response `200`

Responses from the job.setStatus endpoint

- union
  - JobSetStatusSuccessResponse
    - `success` true, required
    - `results` Job, required
      - `id` string, uuid, required — The job's unique identifier
      - `title` string, required — The title of the job
      - `confidential` boolean, required — Whether the job is confidential
      - `status` 'Draft' | 'Open' | 'Closed' | 'Archived', required
      - `employmentType` 'FullTime' | 'PartTime' | 'Intern' | 'Contract' | 'Temporary', required — The employment type for the job
      - `locationId` string, uuid — The id of the location associated with the job
      - `departmentId` string, uuid — The id of the department or team associated with the job
      - `defaultInterviewPlanId` string, uuid — The id of the default interview plan for this job. A job cannot be opened without a default interview plan.
      - `interviewPlanIds` string[] — The ids of all interview plans associated with the job
      - `jobPostingIds` string[] — The ids of all job postings associated with the job
      - `customRequisitionId` string, nullable — The custom requisition id for the job
      - `brandId` string, uuid, required — The id of the brand to use for this job
      - `hiringTeam` JobHiringTeamRole[], required — The hiring team for the job
        - `userId` string, uuid, required — The unique identifier for the user
        - `firstName` string, required — The user's first name
        - `lastName` string, required — The user's last name
        - `email` string, email, required — The user's email address
        - `role` string, required — The user's role on the job's hiring team
      - `openings` Opening[] — The openings linked to this job. Only included when the `openings` expand parameter is provided.
        - `id` string, uuid, required — The unique identifier for the opening
        - `openedAt` string, date-time, nullable, required — The timestamp when the opening was opened
        - `closedAt` string, date-time, nullable, required — The timestamp when the opening was closed
        - `isArchived` boolean, required — Whether the opening is archived
        - `closeReasonId` string, uuid, nullable, required — The unique identifier for the close reason
        - `archivedAt` string, date-time, nullable, required — The timestamp when the opening was archived
        - `openingState` 'Draft' | 'Approved' | 'Open' | 'Closed' | 'Filled', required — The current state of the opening
        - `latestVersion` OpeningVersion, required
          - `id` string, uuid, required — The unique identifier for the opening version
          - `identifier` string, required — The human-readable opening identifier
          - `description` string, nullable, required — The opening description
          - `authorId` string, uuid, nullable, required — The unique identifier for the author
          - `createdAt` string, date-time, required — The timestamp when the opening version was created
          - `targetHireDate` string, nullable, required — The target hire date for the opening
          - `targetStartDate` string, nullable, required — The target start date for the opening
          - `isBackfill` boolean, required — Whether the opening is a backfill
          - `employmentType` 'FullTime' | 'PartTime' | 'Intern' | 'Contract' | 'Temporary', required — The employment type for the opening
          - `teamId` string, uuid, nullable, required — The unique identifier for the team
          - `jobIds` string[], required — The unique identifiers for jobs linked to the opening
          - `locationIds` string[], required — The unique identifiers for locations linked to the opening
          - `hiringTeam` OpeningHiringTeamRole[], required — The hiring team roles assigned to the opening
            - `userId` string, uuid, required — The unique identifier for the user
            - `firstName` string, required — The user's first name
            - `lastName` string, required — The user's last name
            - `email` string, email, required — The user's email address
            - `role` string, required — The user's role on the opening hiring team
          - `customFields` OpeningCustomField[], required — Custom fields associated with the opening
            - `id` string, uuid, required — The unique identifier for the custom field definition
            - `isPrivate` boolean — Whether the custom field is private and requires additional permissions
            - `title` string, required — The title of the custom field
            - `valueLabel` union — The label of the custom field value for select fields
              - …
            - `value` union, required — The value of the custom field
              - …
      - `location` Location
        - `id` string, uuid, required — The unique identifier for the location
        - `name` string, required — The name of the location
        - `externalName` string, nullable, required — An alternate candidate-facing name for this location used on job boards and in the API
        - `isArchived` boolean, required — Whether the location is archived
        - `isRemote` boolean, nullable, required — Deprecated. Use workplaceType instead.
        - `address` object, nullable, required — The address for the location
          - `postalAddress` object, required — The postal address for the location
            - `addressCountry` string — The country for the location address
            - `addressRegion` string — The region for the location address
            - `addressLocality` string — The locality for the location address
            - `postalCode` string — The postal code for the location address
            - `streetAddress` string — The street address for the location
        - `parentLocationId` string, uuid, nullable, required — The unique identifier for the parent location hierarchy, if any
        - `type` 'Location' | 'LocationHierarchy', required — The type of the location component
        - `workplaceType` 'OnSite' | 'Hybrid' | 'Remote', nullable, required — The type of workplace
        - `extraData` object, nullable, required — Structured key-value information for your own use and reference. Do not store personally identifiable information in this field.
      - `compensation` JobCompensation
        - `compensationTiers` JobCompensationTier[], required — The compensation ranges that can be offered to applicants for this job
          - `id` string, uuid, required — The compensation tier's unique id
          - `title` string, nullable, required — A label that describes the entire range to applicants
          - `additionalInformation` string, nullable, required — Supplementary information about the compensation
          - `components` JobCompensationTierComponent[], required — The individual components that make up this compensation range
            - `id` string, uuid, required — The component's unique id
            - `summary` string, required — The summary of this component as shown on Ashby-hosted job boards
            - `compensationType` 'Salary' | 'EquityPercentage' | 'EquityCashValue' | 'Bonus' | 'Commission', required — The type of compensation this component represents
            - `interval` 'NONE' | '1 TIME' | '1 HOUR' | '1 DAY' | '1 WEEK' | '2 WEEK' | '1 MONTH' | '2 MONTH' | '1 YEAR' | '6 MONTH' | '0.5 MONTH' | '3 MONTH', required — The frequency at which this compensation is given
            - `label` string, nullable — An optional label that describes this compensation range to applicants
            - `currencyCode` string, nullable — For non `EquityPercentage` components, the ISO 4217 currency code of the compensation range
            - `minValue` number, nullable — The lower end of the compensation range
            - `maxValue` number, nullable — The higher end of the compensation range
          - `tierSummary` string, nullable, required — A summary of the tier's components in the same format shown on job boards
      - `customFields` JobCustomField[] — Custom field values associated with the job
        - `id` string, uuid, required — The unique identifier for the custom field definition
        - `isPrivate` boolean, required — Whether the custom field is private
        - `title` string, required — The title of the custom field
        - `value` union, required — The value of the custom field
          - boolean
          - number
          - string
          - string[]
          - object
            - `value` number, required — The currency amount
            - `currencyCode` string, required — The currency code
          - object
            - `type` string, required — The range type
            - `minValue` number, required — The minimum value
            - `maxValue` number, required — The maximum value
          - object
            - `type` string, required — The compensation range type
            - `minValue` number, required — The minimum compensation value
            - `maxValue` number, required — The maximum compensation value
            - `currencyCode` string, required — The currency code
            - `interval` string, required — The compensation interval
          - object
            - `country` string — The country of the location
            - `region` string — The region of the location
            - `city` string — The city of the location
        - `valueLabel` union — The human-readable label for select custom field values
          - string
          - string[]
      - `author` User
        - `id` string, uuid, required — The unique identifier for the user
        - `firstName` string, required — The user's first name
        - `lastName` string, required — The user's last name
        - `email` string, email, nullable, required — The user's email address
        - `globalRole` 'Organization Admin' | 'Elevated Access' | 'Limited Access' | 'External Recruiter', required — The user's global role in the organization
        - `isEnabled` boolean, required — Whether the user is enabled (not deactivated)
        - `updatedAt` string, required — The timestamp when the user was last updated (ISO 8601 format)
        - `managerId` string, uuid — The unique identifier for the user's manager
        - `customFields` CustomField[] — Custom fields associated with the user (only included when requested)
          - `id` string, uuid, required — The unique identifier for the custom field definition
          - `isPrivate` boolean, required — Whether the custom field is private
          - `title` string, required — The title of the custom field
          - `value` union, required — The value of the custom field
            - boolean
            - number
            - string
            - string[]
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
          - `valueLabel` union — The label of the custom field value. This is only present for value select custom fields.
            - string
            - string[]
      - `createdAt` string, required — The timestamp when the job was created
      - `updatedAt` string, required — The timestamp when the job was last updated
      - `openedAt` string, nullable — The timestamp when the job was opened
      - `closedAt` string, nullable — The timestamp when the job was closed
  - ErrorResponse
    - `success` false, required
    - `errors` ErrorDetail[], required
      - `message` string, required
      - `parameter` string

---

[API](https://skmtc.net/ashbyhq/apis/ashby-api.md) · [All operations](https://skmtc.net/ashbyhq/apis/ashby-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ashbyhq/ashby-api/revisions/778b919dc743/schema)
