Send an offer
curl --request POST \
--url https://api.hotfix.jobs/v1/employer/applications/{application_id}/offer \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"subject": "<string>",
"body": "<string>",
"pay": "<string>",
"start_date": "<string>",
"respond_by": "<string>",
"signature": true
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
subject: '<string>',
body: JSON.stringify('<string>'),
pay: '<string>',
start_date: '<string>',
respond_by: '<string>',
signature: true
})
};
fetch('https://api.hotfix.jobs/v1/employer/applications/{application_id}/offer', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.hotfix.jobs/v1/employer/applications/{application_id}/offer"
payload = {
"subject": "<string>",
"body": "<string>",
"pay": "<string>",
"start_date": "<string>",
"respond_by": "<string>",
"signature": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"offer": {
"id": "7d4e3c2b-1a09-8765-4321-0fedcba98765",
"status": "pending",
"subject": "Your offer for Staff engineer at Beacon",
"body": "Hi Ada,\n\nWe're excited to offer you the Staff engineer role at Beacon.\n\nYour pay will be $185,000 a year, and you'll start on November 2, 2026. The offer letter is attached.\n\nPlease let us know by October 23, 2026. If you have any questions first, just reply to this email.\n\nTo accept, reply to this email with \"I accept\" and your full name.",
"pay": "$185,000 a year",
"start_date": "2026-11-02",
"respond_by": "2026-10-23",
"sent_at": "2026-10-16T15:04:05+00:00",
"sent_by_user_id": "user_2abc",
"sent_by_name": "Maya Chen",
"reply": {
"received_at": "2026-10-17T09:12:00+00:00",
"from_address": "ada@example.com",
"excerpt": ""
},
"acceptance": null,
"has_signed_copy": false,
"signature_status": null,
"created_at": "2026-10-16T15:04:05+00:00"
},
"signing": true
}Offers
Send an offer
Email the candidate an offer through Hotfix, from your company’s address on Hotfix and as you: your company’s Offer email, or the subject and body you send, with the same letter attached as a PDF. The candidate accepts by replying. One open offer at a time.
With signature: true, the PDF also goes through SignWell for the candidate to sign and you to countersign, and the signed copy marks the offer accepted. 409 not_connected when your mailbox isn’t connected. Answers with the same body as Get the offer.
POST
/
v1
/
employer
/
applications
/
{application_id}
/
offer
Send an offer
curl --request POST \
--url https://api.hotfix.jobs/v1/employer/applications/{application_id}/offer \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"subject": "<string>",
"body": "<string>",
"pay": "<string>",
"start_date": "<string>",
"respond_by": "<string>",
"signature": true
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
subject: '<string>',
body: JSON.stringify('<string>'),
pay: '<string>',
start_date: '<string>',
respond_by: '<string>',
signature: true
})
};
fetch('https://api.hotfix.jobs/v1/employer/applications/{application_id}/offer', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.hotfix.jobs/v1/employer/applications/{application_id}/offer"
payload = {
"subject": "<string>",
"body": "<string>",
"pay": "<string>",
"start_date": "<string>",
"respond_by": "<string>",
"signature": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"offer": {
"id": "7d4e3c2b-1a09-8765-4321-0fedcba98765",
"status": "pending",
"subject": "Your offer for Staff engineer at Beacon",
"body": "Hi Ada,\n\nWe're excited to offer you the Staff engineer role at Beacon.\n\nYour pay will be $185,000 a year, and you'll start on November 2, 2026. The offer letter is attached.\n\nPlease let us know by October 23, 2026. If you have any questions first, just reply to this email.\n\nTo accept, reply to this email with \"I accept\" and your full name.",
"pay": "$185,000 a year",
"start_date": "2026-11-02",
"respond_by": "2026-10-23",
"sent_at": "2026-10-16T15:04:05+00:00",
"sent_by_user_id": "user_2abc",
"sent_by_name": "Maya Chen",
"reply": {
"received_at": "2026-10-17T09:12:00+00:00",
"from_address": "ada@example.com",
"excerpt": ""
},
"acceptance": null,
"has_signed_copy": false,
"signature_status": null,
"created_at": "2026-10-16T15:04:05+00:00"
},
"signing": true
}Authorizations
ApiKeyBearerAuth
Body
application/json