---
title: "List notes"
method: GET
path: "/v3/notes"
tags: ["Notes"]
---

# List notes

`GET /v3/notes`

Notes are free-form entries on a candidate's profile — candidate notes, logged emails, system activity, interview feedback, and other entries that appear in the candidate activity feed. Each note is anchored to a candidate and optionally to a specific application. This endpoint returns every note type, including read-only entries (interview notes, scorecard-linked feedback, LinkedIn messages, touchpoints) that cannot be created through `POST /v3/notes`. For interview feedback and scorecard takeaways, use the Scorecards endpoints instead — they expose the structured form data, while this endpoint only exposes the underlying note body.

## Query parameters

- `cursor` string
- `per_page` integer
- `ids` integer[]
- `created_at` object
  - `gte` string, date-time
  - `lte` string, date-time
  - `gt` string, date-time
  - `lt` string, date-time
- `updated_at` object
  - `gte` string, date-time
  - `lte` string, date-time
  - `gt` string, date-time
  - `lt` string, date-time
- `candidate_ids` integer[]
- `user_ids` integer[]
- `application_ids` integer[]
- `fields` string[]
- `type` 'NOTE' | 'ACTIVITY' | 'INTERVIEW' | 'EMAIL' | 'FOLLOW_UP' | 'TAKE_HOME_TEST' | 'LINKEDIN_NOTE' | 'LINKEDIN_INMAIL' | 'AVAILABILITY_REQUEST' | 'MIGRATION_ERROR' | 'TOUCHPOINT' | 'FORM' | 'FEEDBACK'
- `visibility` 'admin_only_visible' | 'privately_visible' | 'publicly_visible'

## Response `200`

Successful

- object[]
  - `id` integer
  - `created_at` string, date-time
  - `updated_at` string, date-time
  - `candidate_id` integer, nullable — Id of the candidate this note is attached to. Notes are always anchored to a candidate; `application_id` is an optional second anchor for application-scoped notes.
  - `application_id` integer, nullable — Id of the application this note is attached to, when the note was authored against a specific application (for example a stage transition or a feedback note). `null` for candidate-level notes that are not tied to any single application.
  - `body` string, nullable — Free-text body of the note. `@`-mentions are rendered as plain user names; use `body_with_tags` for the version that preserves mention markup. Newline characters are stored verbatim and rendered as line breaks in the Greenhouse UI.
  - `subject` string, nullable — Subject line on the note. Always populated for `EMAIL` notes; usually `null` for other types.
  - `type` 'NOTE' | 'ACTIVITY' | 'INTERVIEW' | 'EMAIL' | 'FOLLOW_UP' | 'TAKE_HOME_TEST' | 'LINKEDIN_NOTE' | 'LINKEDIN_INMAIL' | 'AVAILABILITY_REQUEST' | 'MIGRATION_ERROR' | 'TOUCHPOINT' | 'FORM' | 'FEEDBACK' — Note classification. `NOTE` and `EMAIL` are user-authored candidate notes and logged emails; `ACTIVITY` covers system-generated activity feed entries plus partner-logged activities. Other values (`INTERVIEW`, `FEEDBACK`, `TOUCHPOINT`, `FOLLOW_UP`, `TAKE_HOME_TEST`, `LINKEDIN_NOTE`, `LINKEDIN_INMAIL`, `AVAILABILITY_REQUEST`, `FORM`, `MIGRATION_ERROR`) identify notes produced by specific Greenhouse features and are read-only via this API.
  - `user_id` integer, nullable — Id of the Greenhouse user who authored the note. `null` for notes generated by the system rather than a specific user.
  - `email_from` string, nullable — Comma-separated list of `From` addresses on the logged email. Only populated when `type` is `EMAIL`.
  - `email_to` string, nullable — Comma-separated list of `To` addresses on the logged email. Only populated when `type` is `EMAIL`.
  - `email_cc` string[], nullable — `Cc` addresses on the logged email, one entry per recipient. Only populated when `type` is `EMAIL`.
  - `import_hash` string, nullable — Stable de-duplication key set when the note was created by a bulk import or migration. `null` for notes authored through the UI or Harvest. Use it to detect re-runs of the same import.
  - `body_with_tags` string, nullable — `body` with `@`-mentions rendered as embedded user tags (e.g. `@[User Name](user:123)`) instead of plain user names, for partners that need to resolve mentioned users.
  - `visibility` 'admin_only_visible' | 'privately_visible' | 'publicly_visible' | 'null', nullable — Who can see this note. `publicly_visible` is visible to anyone with access to the candidate, `privately_visible` is restricted to users with the "see private notes" permission, and `admin_only_visible` is restricted to Job Admins and Site Admins. Defaults to `admin_only_visible` on create.
  - `email_attachment_file_names` string, nullable — File names of attachments on the logged email, when the source captured them. Only populated when `type` is `EMAIL`.

---

[API](https://skmtc.dev/greenhouse/apis/auth-api.md) · [All operations](https://skmtc.dev/greenhouse/apis/auth-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/greenhouse/auth-api/revisions/9517a2e54640/schema)
