---
title: "jobPosting.update"
method: POST
path: "/jobPosting.update"
tags: ["Job Posting"]
---

# jobPosting.update

`POST /jobPosting.update`

Updates an existing job posting.

Set `includeUnpublishedJobPostings` to `true` when updating an unpublished (draft) job posting. This flag is required for draft postings; published postings can be updated without it.

**Note on updating the description**: When job description openings and closings are not suppressed, the `descriptionHtml` field returned in `jobPosting.info` may contain content that is not modifiable through the API. Only the content of the `descriptionParts.descriptionBody` field of the `jobPosting.info` endpoint is modifiable through this call. To completely customize the description, set both suppressDescriptionOpening and suppressDescriptionClosing to true.

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

## Request body

- JobPostingUpdateRequest
  - `jobPostingId` string, uuid, required — The unique id of the job posting to update
  - `title` string, nullable — A new title for the job posting
  - `workplaceType` 'OnSite' | 'Hybrid' | 'Remote', nullable — The type of workplace
  - `suppressDescriptionOpening` boolean, nullable — When true, the job description opening from the brand will be suppressed. descriptionOpening will be returned as null.
  - `suppressDescriptionClosing` boolean, nullable — When true, the job description closing from the brand will be suppressed. descriptionClosing will be returned as null.
  - `description` object, nullable — An HTML block of the job posting description
    - `type` 'text/html', required — The content type of the job posting description
    - `value` string, nullable, required — The HTML content of the job posting description
  - `includeUnpublishedJobPostings` boolean, nullable — When true, allows updating unpublished (draft) job postings. Required when updating a draft posting.

## Response `200`

Responses from the jobPosting.update endpoint

- union
  - JobPostingUpdateSuccessResponse
    - `success` true, required
    - `results` JobPosting, required
      - `id` string, uuid, required — The job posting's id
      - `title` string, required — The job posting's title
      - `descriptionPlain` string, required — A plaintext version of the job posting's description
      - `descriptionHtml` string, required — An HTML version of the job posting's description
      - `descriptionSocial` string, nullable, required — A shortened job posting description displayed when shared on social media
      - `descriptionParts` JobPostingDescriptionParts, required
        - `descriptionOpening` JobPostingDescriptionPart, required
          - `html` string, nullable, required — An HTML version of this description part
          - `plain` string, nullable, required — A plaintext version of this description part
        - `descriptionBody` JobPostingDescriptionPart, required
          - `html` string, nullable, required — An HTML version of this description part
          - `plain` string, nullable, required — A plaintext version of this description part
        - `descriptionClosing` JobPostingDescriptionPart, required
          - `html` string, nullable, required — An HTML version of this description part
          - `plain` string, nullable, required — A plaintext version of this description part
      - `departmentName` string, required — The name of the department associated with the job posting
      - `teamName` string, required — The name of the team associated with the job posting
      - `teamNameHierarchy` string[], required — The hierarchy of team names associated with the job posting
      - `jobId` string, uuid, required — The id of the job associated with the job posting
      - `locationName` string, required — The name of the primary location associated with the job posting
      - `locationAddress` string, nullable — The address of the primary location associated with the job posting
      - `locationIds` JobPostingLocationIds, required
        - `primaryLocationId` string, uuid, nullable, required — The primary location id for the job posting
        - `secondaryLocationIds` string[], required — The secondary location ids for the job posting
      - `linkedData` JobPostingLinkedData, required
        - `@context` string — The JSON-LD context
        - `@type` string — The JSON-LD type
        - `title` string — The job posting's title
        - `description` string — The job posting's description
        - `datePosted` string — The date the job posting was published
        - `employmentType` string — The employment type for the job posting
        - `hiringOrganization` object — The organization hiring for the job posting
          - `@type` string
          - `name` string
          - `sameAs` string
        - `identifier` object — The job posting's identifier
          - `@type` string
          - `name` string
          - `value` string
        - `jobLocation` object — The location of the job posting
          - `@type` string
          - `address` object
            - `@type` string
      - `publishedDate` string, date, nullable, required — The date the job posting was published
      - `applicationDeadline` string, date-time, nullable, required — The date and time when applications will no longer be accepted
      - `address` JobPostingAddress
        - `postalAddress` object — The postal address of the job posting
          - `addressCountry` string
          - `addressRegion` string
          - `addressLocality` string
          - `postalCode` string
          - `streetAddress` string
      - `isRemote` boolean, nullable, required — Whether or not the job posting location is remote
      - `workplaceType` 'OnSite' | 'Hybrid' | 'Remote', nullable, required — The type of workplace
      - `employmentType` string, required — The employment type for the job posting
      - `applicationFormDefinition` FormDefinition, required
        - `sections` FormDefinitionSection[], required — The sections in the form definition
          - `title` string, nullable — The section title
          - `descriptionHtml` string, nullable — The section description formatted as HTML
          - `descriptionPlain` string, nullable — The section description as plain text
          - `fields` FormDefinitionFieldEntry[], required — The fields in this form section
            - `isRequired` boolean, required — Whether this form field is required
            - `descriptionHtml` string, nullable — The field description formatted as HTML
            - `descriptionPlain` string, nullable — The field description as plain text
            - `field` FormDefinitionField, required
              - …
      - `surveyFormDefinitions` SurveyFormDefinition[], required — Additional survey forms collected alongside the application form
        - `id` string, uuid, required — The unique identifier for the survey form definition
        - `title` string, required — The title of the survey form definition
        - `isArchived` boolean, required — Whether the survey form definition is archived
        - `formDefinition` FormDefinition, required
          - `sections` FormDefinitionSection[], required — The sections in the form definition
            - `title` string, nullable — The section title
            - `descriptionHtml` string, nullable — The section description formatted as HTML
            - `descriptionPlain` string, nullable — The section description as plain text
            - `fields` FormDefinitionFieldEntry[], required — The fields in this form section
              - …
        - `surveyType` 'EEOC' | 'Diversity' | 'CandidateExperience' | 'CandidateDataConsent' | 'Questionnaire' | 'QualityOfHire' | 'HiringManagerExperience', required — The type of survey
      - `isListed` boolean, required — Whether or not the job posting is listed
      - `suppressDescriptionOpening` boolean, required — Whether the job description opening from the brand is suppressed
      - `suppressDescriptionClosing` boolean, required — Whether the job description closing from the brand is suppressed
      - `externalLink` string, uri, nullable, required — The external link to the job posting, or null for internal job boards
      - `applyLink` string, uri, required — The link to apply to the job posting
      - `compensation` JobPostingCompensation, required
        - `compensationTierSummary` string, nullable, required — A summary of all valid compensation tiers for the job posting
        - `summaryComponents` JobPostingCompensationComponent[], required — The summary compensation components for the job posting
          - `summary` string, required — A human-readable summary of the compensation component
          - `label` string, nullable — A human-readable label for the compensation component
          - `compensationType` string, required — The type of compensation
          - `interval` string, required — The compensation interval
          - `currencyCode` string, nullable, required — The ISO currency code for monetary compensation
          - `minValue` number, nullable, required — The minimum value for the compensation component
          - `maxValue` number, nullable, required — The maximum value for the compensation component
        - `compensationTiers` JobPostingCompensationTier[], required — The compensation ranges that can be offered to applicants for this posting
          - `id` string, uuid, required — The unique identifier for the compensation tier
          - `tierSummary` string, nullable, required — A human-readable summary of the compensation tier
          - `title` string, nullable, required — The compensation tier title
          - `additionalInformation` string, nullable, required — Additional information about the compensation tier
          - `components` object[], required — The compensation components in this tier
            - `summary` string, required — A human-readable summary of the compensation component
            - `label` string, nullable — A human-readable label for the compensation component
            - `compensationType` string, required — The type of compensation
            - `interval` string, required — The compensation interval
            - `currencyCode` string, nullable, required — The ISO currency code for monetary compensation
            - `minValue` number, nullable, required — The minimum value for the compensation component
            - `maxValue` number, nullable, required — The maximum value for the compensation component
            - `id` string, uuid, required — The component id
        - `shouldDisplayCompensation` boolean, required — Whether compensation should be shown to applicants for this job posting
      - `updatedAt` string, date-time, required — The date and time when the job posting was last updated
      - `applicationLimitCalloutHtml` string, nullable, required — An HTML communication shown to applicants about application limits
      - `job` object, nullable — The expanded job associated with the job posting
  - 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)
