---
title: "Update job note"
method: PATCH
path: "/v3/job_notes/{id}"
tags: ["Job Notes"]
---

# Update job note

`PATCH /v3/job_notes/{id}`

## Request

- Base URL: `https://harvest.greenhouse.io`
- URL: `https://harvest.greenhouse.io/v3/job_notes/{id}`
- Auth: one of:
  - OAuth 2
    - Authorization code: `https://auth.greenhouse.io/authorize`
    - Client credentials
    - Token URL: `https://auth.greenhouse.io/token` scopes: `harvest:job_notes:update`
  - HTTP bearer

Update an existing job note. Any subset of `body`, `visibility`, `job_id`, or `user_id` may be supplied; fields that are omitted are left unchanged. Changing `visibility` immediately tightens or loosens who can read the note.

## Path parameters

- `id` integer, required

## Request body

- object
  - `job_id` integer
  - `user_id` integer
  - `body` string
  - `visibility` 'admin_only_visible' | 'privately_visible'

## Response `200`

Successful

- object
  - `id` integer
  - `created_at` string, date-time
  - `updated_at` string, date-time
  - `job_id` integer: Id of the job this note is attached to. Job notes are always anchored to a single job and are not shared across jobs.
  - `user_id` integer: Id of the Greenhouse user who authored the note.
  - `body` string, nullable: Free-text body of the note. Newline characters are stored verbatim and rendered as line breaks in the Greenhouse UI.
  - `visibility` 'admin_only_visible' | 'privately_visible' | 'null', nullable: Who can see this note. `admin_only_visible` is restricted to users with Job Admin or higher access on the job; `privately_visible` is further restricted to users with the "view and create private job notes" permission on the job.

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `422`: Unprocessable Content

---

[API](https://skmtc.dev/greenhouse/apis/harvest-api.md) - [All operations](https://skmtc.dev/greenhouse/apis/harvest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/greenhouse/apis/harvest-api/revisions/822822e3f771?raw)
