Patch fields on an existing offer. Only the keys included in the request body are modified; omitted keys are left untouched. Updates to starts_on, the offer's opening_id, or version-triggering custom fields create a new offer version for the same application rather than mutating the prior row — fetch the updated offer with current_only=true to find the new current version. The date-typed created_at, sent_on, and resolved_at fields are intended for backfilling offers managed outside Greenhouse; resolved_at updates are normalized to noon UTC on the supplied date. custom_fields entries set values for the offer's offer custom fields (including compensation components); only fields configured on the application's hiring plan apply. Offers carry private compensation data, so writing them is gated separately from the harvest:offers:update scope: when the access token includes a sub claim, the Site Admin it names must also hold the "See private notes, private fields, salary info, manage offers, request approval, and approve jobs/offers" advanced permission, or the request is rejected with 403 Forbidden. Tokens issued without a sub claim act as your integration user and are not subject to it.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
401Unauthorized
403Forbidden
422Unprocessable Content