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

# jobPosting.updateCompensation

`POST /jobPosting.updateCompensation`

Updates compensation for 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.

Pass a non-empty `compensationTiers` array to replace the posting's compensation and stop inheriting compensation from the parent job. Pass `null` to reset the posting to inherit compensation from the parent job.

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

## Request body

- JobPostingUpdateCompensationRequest
  - `jobPostingId` string, uuid, required — The unique id of the job posting to update
  - `compensationTiers` object[], nullable, required — The compensation tiers to set on the job posting. Pass `null` to reset the posting to inherit compensation from the parent job.
    - `title` string, nullable — A label that describes the entire range to applicants. Required when more than one tier is provided.
    - `additionalInformation` string, nullable — Supplementary information about the compensation
    - `components` object[], required — The individual components that make up this compensation range
      - `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
  - `includeUnpublishedJobPostings` boolean, nullable — When true, allows updating compensation for unpublished (draft) job postings. Required when updating a draft posting.

## Response `200`

Responses from the jobPosting.updateCompensation endpoint

- union
  - JobPostingUpdateCompensationSuccessResponse
    - `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)
