curl --request POST \
--url https://rest.hotfix.jobs/v1/employer/applications/{application_id}/offer/preview \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"subject": "<string>",
"body": "<string>",
"pay": "<string>",
"start_date": "<string>",
"respond_by": "<string>"
}
'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>'
})
};
fetch('https://rest.hotfix.jobs/v1/employer/applications/{application_id}/offer/preview', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://rest.hotfix.jobs/v1/employer/applications/{application_id}/offer/preview"
payload = {
"subject": "<string>",
"body": "<string>",
"pay": "<string>",
"start_date": "<string>",
"respond_by": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)"<string>"preview_offer
The PDF create_offer would attach, for the same body. Nothing is saved or sent.
curl --request POST \
--url https://rest.hotfix.jobs/v1/employer/applications/{application_id}/offer/preview \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"subject": "<string>",
"body": "<string>",
"pay": "<string>",
"start_date": "<string>",
"respond_by": "<string>"
}
'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>'
})
};
fetch('https://rest.hotfix.jobs/v1/employer/applications/{application_id}/offer/preview', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://rest.hotfix.jobs/v1/employer/applications/{application_id}/offer/preview"
payload = {
"subject": "<string>",
"body": "<string>",
"pay": "<string>",
"start_date": "<string>",
"respond_by": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)"<string>"Authorizations
Company API key minted at Settings → API. Prefix hf_. Accepted on hiring data routes. Not accepted on MCP.
Path Parameters
Application UUID.
Body
Optional. The email's subject. Blank uses your Offer template's.
Optional. The letter in markdown, as you'd send it. Blank uses your Offer template. Tokens like {{first_name}} are filled; {{pay}}, {{start_date}}, and {{respond_by}} are filled from the fields below.
Optional. Pay as the letter should say it, like "$185,000 a year". Required when the letter has {{pay}}.
Optional. YYYY-MM-DD. Required when the letter has {{start_date}}; written out as November 2, 2026.
Optional. YYYY-MM-DD, the date you'd like an answer by. Required when the letter has {{respond_by}}. Text in the letter, not an expiry.
Response
Success
The response is of type file.