---
title: "List scorecard candidate attributes"
method: GET
path: "/v3/scorecard_candidate_attributes"
tags: ["Scorecard Candidate Attributes"]
---

# List scorecard candidate attributes

`GET /v3/scorecard_candidate_attributes`

## Request

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

Scorecard candidate attributes are the per-scorecard ratings an interviewer captured on each focus attribute — what they thought of this candidate on each attribute on this scorecard. Each row pairs one `scorecard` with one `job_candidate_attribute` (the per-job attribute being rated) and carries the rating in `candidate_attribute_rating` plus an optional free-text `note`. Filter by `scorecard_ids` to pull every attribute rating on a given scorecard, or by `job_candidate_attribute_ids` to see how interviewers rated the same attribute across scorecards (the read pattern used by talent-matching and partner interview-intelligence integrations). Sibling to `/v3/scorecard_question_candidate_attributes`, which maps questions to attributes on the interview kit rather than capturing interviewer ratings.

## 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
- `scorecard_ids` integer[]
- `job_candidate_attribute_ids` integer[]
- `fields` string[]

## Response `200`

Successful

- object[]
  - `id` integer
  - `created_at` string, date-time
  - `updated_at` string, date-time
  - `scorecard_id` integer: Id of the scorecard this attribute rating belongs to. One row per (scorecard, attribute) pair — the interviewer rated this candidate on this attribute on this scorecard.
  - `candidate_attribute_rating` string: Interviewer's rating for the attribute on this scorecard. One of `definitely_not`, `no`, `yes`, `strong_yes`, `mixed`, or `no_decision`. `no_decision` is recorded when the row exists (e.g. a `note` was left) but no rating was selected.
  - `job_candidate_attribute_id` integer: Id of the job's `job_candidate_attribute` being rated (the per-job attribute catalogue entry on `/v3/job_candidate_attributes`). The attribute's display name and `candidate_attribute_type` live on that record.
  - `note` string, nullable: Free-text note the interviewer left for this attribute (e.g. a brief justification for the rating). `null` when no note was provided.
  - `value` string: Read-only alias of `candidate_attribute_rating`, in the same vocabulary the nested write path accepts (`candidate_attributes[].value` on `POST`/`PATCH /v3/scorecards`). A rating cleared with `value: null` reads back as `no_decision`.

---

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