---
title: "Create scorecard candidate attribute"
method: POST
path: "/v3/scorecard_candidate_attributes"
tags: ["Scorecard Candidate Attributes"]
---

# Create scorecard candidate attribute

`POST /v3/scorecard_candidate_attributes`

Record an interviewer's rating on one focus attribute of one scorecard. Both `scorecard_id` and `job_candidate_attribute_id` are required, and the referenced `job_candidate_attribute` must be a focus attribute on the scorecard's interview kit; submitted scorecards reject new ratings. A row may carry only a `note` with no `candidate_attribute_rating` (rating defaults to `no_decision`).

## Request body

- object
  - `scorecard_id` integer, required — Id of the scorecard this attribute rating attaches to. The scorecard's interview kit must include the referenced `job_candidate_attribute` as a focus attribute, and submitted scorecards cannot have new attribute ratings added.
  - `candidate_attribute_rating` 'definitely_not' | 'no' | 'yes' | 'strong_yes' | 'mixed' | 'no_decision' — Rating to record for this attribute. One of `definitely_not`, `no`, `yes`, `strong_yes`, `mixed`, or `no_decision`. Omit to leave the attribute unrated (e.g. when only a `note` is being captured).
  - `job_candidate_attribute_id` integer, required — Id of the job's `job_candidate_attribute` (from `/v3/job_candidate_attributes`) being rated. Must be a focus attribute on the scorecard's interview kit.
  - `note` string — Optional free-text note explaining the rating.

## Response `201`

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.

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