Create a new offer on an existing application. application_id is always required; starts_on and custom_fields (compensation components plus any offer custom fields configured on the hiring plan) are optional in the schema, but organization configuration may require more: offer custom fields marked as required must be provided in custom_fields (a 422 response names the missing fields), and starts_on must be provided when the Start Date field is marked required. Discover the organization's offer fields — including required and name_key — via GET /v3/custom_fields?field_type=offer&active=true. The new offer is created with status=Created at version=1. If the application already has an offer, the submission is applied to the same offer chain rather than creating a competing record: a new version is created — and the prior version marked Deprecated — only when a version-triggering field changes, namely starts_on (when your organization enables offer versioning on start-date changes) or a compensation/offer custom field configured to trigger a new version; otherwise the current offer is updated in place. Approval flows configured for the hiring plan are attached automatically — partners must drive the approval through /v3/approval_flows before the offer can be sent to the candidate.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
401Unauthorized
403Forbidden
422Unprocessable Content