Docs / Jobs
edit_job_posting
Change one of your job postings.
This action can change or spend something, and when it does it happens right away. Read “Good to know” first.
What you give it
| Input | What it is | Where to get it |
|---|---|---|
jobIdneeded | A job id. The job posting id (from list_job_postings). | Run list_job_postings and use jobPostings[].id from its answer.7 more places to get it
|
jobTitleoptional | A group of fields. What goes inside
| You write it. |
companyoptional | A group of fields. What goes inside
| You write it. |
workplaceoptional | One of: ON_SITE, HYBRID, REMOTE. | You write it. |
locationoptional | A search filter id. LinkedIn's id for the place (lookup_search_ids type LOCATION). | run lookup_search_ids with type LOCATION, and use matches[].id from its answer. |
descriptionoptional | Text, up to 25000 characters. The job description. HTML tags may be used to structure it. | You write it. |
employmentStatusoptional | One of: FULL_TIME, PART_TIME, CONTRACT, TEMPORARY, OTHER, VOLUNTEER, INTERNSHIP. | You write it. |
autoRejectionTemplateoptional | Text. Message sent automatically to applicants who do not pass the screening questions. | You write it. |
screeningQuestionsoptional | A list (a group of fields). Questions applicants must answer.What goes inside
| You write it. |
applyMethodoptional | A group of fields. How people apply: on LinkedIn (applications are emailed to notificationEmail) or on an external site.What goes inside
| You write it. |
recruiteroptional | A group of fields. Recruiter job postings only. To create one LinkedIn requires project, functions, industries, seniority and applyMethod.What goes inside
| You write it. |
connectionIdoptional | A connection id. Which of your LinkedIn accounts to act from (its id from list_linkedin_accounts). Omit to use your first live one. | Run list_linkedin_accounts and use accounts[].id from its answer.15 more places to get it
|
Call it
curl -X POST https://api.heyreagent.com/v1/actions/edit_job_posting \
-H "Authorization: Bearer YOUR_KEY" \
-H "content-type: application/json" \
-d '{"jobId":"PASTE_JOB_ID_HERE","description":"What the job is about."}'The same call in JavaScript
const response = await fetch("https://api.heyreagent.com/v1/actions/edit_job_posting", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_KEY",
"content-type": "application/json",
},
body: JSON.stringify({
"jobId": "PASTE_JOB_ID_HERE",
"description": "What the job is about."
}),
});
const answer = await response.json();
console.log(answer);The same call in Python
import requests
response = requests.post(
"https://api.heyreagent.com/v1/actions/edit_job_posting",
headers={"Authorization": "Bearer YOUR_KEY"},
json={
"jobId": "PASTE_JOB_ID_HERE",
"description": "What the job is about.",
},
)
print(response.json())The same call in n8n
Add an HTTP Request node and fill it in like this:
| Method | POST |
| URL | https://api.heyreagent.com/v1/actions/edit_job_posting |
| Send Headers | On. Name Authorization, Value Bearer YOUR_KEY |
| Send Body | On. Body Content Type JSON, Specify Body Using JSON, then paste the body below |
{
"jobId": "PASTE_JOB_ID_HERE",
"description": "What the job is about."
}Put your own key where it says YOUR_KEY. Put your own value where it says PASTE_…_HERE: the table above says where each one comes from. New here? Start with your first call.
What you get back
When it worked, the answer is { "ok": true, "result": { … } }. Inside result:
edited | |
jobId | A job id. Other actions take it. |
from | the account it ran on |
usedToday | number |
dailyLimit | number |
A field that does not apply to an answer is left out, or is null.
When it did not work, the answer is { "ok": false, "error": "…", "message": "…" }. What each error means.
In Claude or ChatGPT
Once connected, ask in your own words. The assistant sees this action as a tool with the same name, edit_job_posting, and the same inputs.