---
title: "Update scorecard"
method: PATCH
path: "/v3/scorecards/{id}"
tags: ["Scorecards"]
---

# Update scorecard

`PATCH /v3/scorecards/{id}`

Patch an existing scorecard. The body replaces values wholesale on the fields it includes — sending a new `notes` value overwrites the previous one rather than appending. Set `status` to `complete` to submit a draft scorecard (this stamps `submitted_at` and ends the edit window for non-admin users). Editing submitted scorecards is governed by the organization's scorecard-edit permissions: Site Admins can edit any time, while Job Admins are bound by the 30-day edit window.

## Path parameters

- `id` integer, required

## Request body

- object
  - `interviewer_id` integer, required — Id of the Greenhouse user this scorecard is assigned to (the interviewer being scored against).
  - `interviewed_at` string, date-time, required — Timestamp the interview took place, in ISO 8601.
  - `notes` string — Free-text "key takeaways" (pros, cons, follow-ups). Replaces the existing value wholesale.
  - `candidate_rating` 'strong_no' | 'no' | 'yes' | 'strong_yes' | 'no_decision' — Overall recommendation. One of `strong_no` ("Definitely Not"), `no`, `yes`, `strong_yes`, or `no_decision`.
  - `private_notes` string — Free-text private notes; only readers with the "see private notes" permission see these. Replaces the existing value wholesale.
  - `status` 'draft' | 'complete' — Lifecycle status. Move a `draft` to `complete` to submit (Greenhouse stamps `submitted_at` on transition). Site Admins can edit submitted scorecards at any time; Job Admins are bound by the organization's scorecard-edit window.
  - `public_notes` string — Free-text "note to other interviewers". Replaces the existing value wholesale.
  - `submitter_id` integer, required — Id of the user submitting (or last editing) the scorecard. Usually matches `interviewer_id`.

## Response `200`

Successful

- object
  - `id` integer
  - `created_at` string, date-time
  - `updated_at` string, date-time
  - `interview_kit_id` integer — Id of the interview kit this scorecard was filled out against. The kit determines the questions, focus attributes, and rating scale on the scorecard. The kit also identifies which interview slot on the job's interview plan produced this scorecard.
  - `interviewer_id` integer — Id of the Greenhouse user who participated in the interview and to whom this scorecard is assigned. Each interviewer on a multi-interviewer interview gets their own scorecard.
  - `interviewed_at` string, date-time, nullable — Timestamp the interview took place, in ISO 8601. Mirrors the underlying interview's scheduled time and is set when the scorecard is created (manual scorecards may set this independently).
  - `notes` string, nullable — Free-text "key takeaways" the interviewer recorded on the scorecard (pros, cons, follow-ups). Plain text with `@`-mentions rendered as user names; use `notes_with_tags` for the version where mentions are tagged for downstream parsing.
  - `notes_with_tags` string, nullable — `notes` 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.
  - `submitter_id` integer — Id of the Greenhouse user who actually submitted the scorecard. Usually the same as `interviewer_id`, but differs when an admin submits a scorecard on another interviewer's behalf.
  - `candidate_rating` string — Interviewer's overall recommendation on whether the candidate passed the interview. One of `strong_no` ("Definitely Not" in the UI), `no`, `yes`, `strong_yes`, or `no_decision`. `no_decision` is recorded when the interviewer submitted the scorecard without choosing a recommendation.
  - `private_notes` string, nullable — Free-text private notes visible only to users with the "see private notes" permission. Plain text with `@`-mentions rendered as user names; use `private_notes_with_tags` for the tagged version.
  - `private_notes_with_tags` string, nullable — `private_notes` with `@`-mentions rendered as embedded user tags instead of plain user names.
  - `status` 'draft' | 'complete' — Lifecycle status of the scorecard. `draft` is in-progress and not yet submitted; `complete` is submitted (and `submitted_at` is set). Only complete scorecards count toward interview completion and downstream analysis.
  - `public_notes` string, nullable — Free-text "note to other interviewers" the interviewer leaves for the rest of the hiring team. Plain text with `@`-mentions rendered as user names; use `public_notes_with_tags` for the tagged version.
  - `public_notes_with_tags` string, nullable — `public_notes` with `@`-mentions rendered as embedded user tags instead of plain user names.
  - `application_id` integer — Id of the application this scorecard belongs to. Use it to look up the candidate via the applications endpoint.
  - `submitted_at` string, date-time, nullable — Timestamp the scorecard was submitted (moved from `draft` to `complete`), in ISO 8601. `null` while `status` is `draft`. The delta between `interviewed_at` and `submitted_at` is a common "time to submit scorecard" measure.

## Other responses

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

---

[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)
