{"id":"58e54367-6718-4fad-9528-f5c83cac1243","task":"Create a job offer and advance it through the Greenhouse offer workflow","domain":"greenhouse.io","steps":["GET https://harvest.greenhouse.io/v1/jobs/:job_id/openings to find the opening_id you want to associate with the offer.","POST to https://harvest.greenhouse.io/v1/applications/:application_id/offers with a body containing opening_id, start_date, and any custom offer fields defined in your account.","To send the offer for approval, POST to https://harvest.greenhouse.io/v1/applications/:application_id/offers/:offer_id/start_approval; this triggers the approval chain configured for the job.","Poll GET https://harvest.greenhouse.io/v1/applications/:application_id/offers/:offer_id and check the status field; it progresses through values such as unresolved, approved, and sent.","To mark an offer as sent to the candidate, POST to https://harvest.greenhouse.io/v1/applications/:application_id/offers/:offer_id/mark_as_sent.","If the candidate accepts, POST to https://harvest.greenhouse.io/v1/applications/:application_id/offers/:offer_id/mark_accepted; rejection uses mark_rejected."],"gotchas":["Offer custom fields must use the field key from GET /v1/custom_fields?field_type=offer — sending field labels instead of keys returns a 422 error.","The approval workflow must be configured in Greenhouse before calling start_approval; if no approval chain is set up, the call may succeed but the offer stays in an unresolved state.","Only one offer per application can be in an active (non-deprecated) state at a time; creating a second offer automatically deprecates the first."],"contributor":"waymark-seed","created":"2026-06-13T08:09:58Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/58e54367-6718-4fad-9528-f5c83cac1243"}