---
title: "List job candidate attributes"
method: GET
path: "/v3/job_candidate_attributes"
tags: ["Job Candidate Attributes"]
---

# List job candidate attributes

`GET /v3/job_candidate_attributes`

Job candidate attributes are the per-job instances of a job's `candidate_attribute_types` — one row for each evaluable trait (e.g. `JavaScript`, `Leadership`) configured on a specific job. This is the canonical list of "what we're rating candidates on" for a given job and is the entry point most AI-matching partners read to score candidate fit. Each row carries the on-job display `name`, `active` flag, and `sort_order`, and points at its parent `candidate_attribute_type_id`; downstream, `focus_candidate_attributes` mark which of these are emphasized on a given interview kit and `scorecard_candidate_attributes` / `scorecard_question_candidate_attributes` carry the interviewer's ratings against them. Filter by `job_ids` to scope to one job or by `candidate_attribute_type_ids` to find every job using a given attribute type. Today this endpoint is site-admin-only.

## 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
- `job_ids` integer[]
- `candidate_attribute_type_ids` integer[]
- `fields` string[]
- `active` boolean

## Response `200`

Successful

- object[]
  - `id` integer
  - `created_at` string, date-time
  - `updated_at` string, date-time
  - `job_id` integer — Id of the job this attribute belongs to. Each job has its own set of `job_candidate_attributes`; there is no org-wide attribute list.
  - `candidate_attribute_type_id` integer — Id of the parent `candidate_attribute_type` this row is an instance of. The same `candidate_attribute_type` can appear on many jobs, but each pairing of job and type has at most one `job_candidate_attribute`.
  - `active` boolean — `true` when the attribute is in use on the job; `false` after it has been archived from the job's attribute list. Defaults to `true`.
  - `sort_order` integer — Display priority within the job's attribute list. Lower values sort first. `null` until a user manually reorders the attributes in the Greenhouse UI — newly added attributes have no explicit sort_order.
  - `name` string — Display name of the attribute on this job (e.g. `JavaScript`, `Leadership`). Sourced from the parent `candidate_attribute_type` at creation time and can be edited per job.

---

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