---
title: "Edit a job posting"
method: POST
path: "/v1/actions/edit_job_posting"
tags: ["Jobs"]
---

# Edit a job posting

`POST /v1/actions/edit_job_posting`

## Request

- Base URL: `https://api.heyreagent.com`
- URL: `https://api.heyreagent.com/v1/actions/edit_job_posting`
- Auth: HTTP bearer

Change one of your job postings.

Docs: https://heyreagent.com/docs/actions/edit_job_posting

## Request body

- object
  - `jobId` string, required: The job posting id (from list_job_postings).
  - `jobTitle` object
    - `id` string: LinkedIn's id for the job title (lookup_search_ids type JOB_TITLE).
    - `text` string: The job title as free text, when LinkedIn has no id for it.
  - `company` object
    - `id` string: LinkedIn's id for the company (lookup_search_ids type COMPANY).
    - `text` string: The company as free text, when LinkedIn has no id for it.
  - `workplace` 'ON_SITE' | 'HYBRID' | 'REMOTE'
  - `location` string: LinkedIn's id for the place (lookup_search_ids type LOCATION).
  - `description` string: The job description. HTML tags may be used to structure it.
  - `employmentStatus` 'FULL_TIME' | 'PART_TIME' | 'CONTRACT' | 'TEMPORARY' | 'OTHER' | 'VOLUNTEER' | 'INTERNSHIP'
  - `autoRejectionTemplate` string: Message sent automatically to applicants who do not pass the screening questions.
  - `screeningQuestions` object[]: Questions applicants must answer.
    - `question` string, required
    - `answerType` string, required: The kind of answer, e.g. numeric or multiple_choices.
    - `position` number
    - `mustMatch` boolean
    - `minExpectation` number
    - `maxExpectation` number
    - `choices` string[]
    - `expectedChoices` string[]
  - `applyMethod` object: How people apply: on LinkedIn (applications are emailed to notificationEmail) or on an external site.
    - `type` 'linkedin', required
    - `notificationEmail` string, email, required
    - `url` string, uri, required
  - `recruiter` object: Recruiter job postings only. To create one LinkedIn requires project, functions, industries, seniority and applyMethod.
    - `project` object: create: the hiring project — { id } of an existing one or { name } for a new one.
    - `projectId` string: edit: the hiring project the posting belongs to.
    - `functions` string[]: Job function ids (lookup_search_ids type JOB_FUNCTION).
    - `industries` string[]: Industry ids (lookup_search_ids type INDUSTRY).
    - `skills` string[]: Skill ids (lookup_search_ids type SKILL).
    - `seniority` 'INTERNSHIP' | 'ENTRY_LEVEL' | 'ASSOCIATE' | 'MID_SENIOR_LEVEL' | 'DIRECTOR' | 'EXECUTIVE' | 'NOT_APPLICABLE'
    - `includePosterInfo` boolean
    - `trackingPixelUrl` string, uri
    - `companyJobId` string
    - `applyMethod` object
    - `salary` object
    - `additionalCompensation` object
    - `autoArchiveApplicants` object
    - `sendRejectionNotification` boolean
  - `connectionId` string: Which of your LinkedIn accounts to act from (its id from list_linkedin_accounts). Omit to use your first live one.

## Response `200`

It worked. Inside result: edited, jobId, from, usedToday, dailyLimit.

- Worked
  - `ok` true, required
  - `result` object, required: What was asked for. A field that does not apply is left out, or is null.

## Other responses

- `default`: It did not work. The message says why, in plain English.

---

[API](https://skmtc.dev/heyreagent/apis/heyreagent-api.md) · [All operations](https://skmtc.dev/heyreagent/apis/heyreagent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/heyreagent/apis/heyreagent-api/revisions/917360c5f841?raw)
