---
title: "List rejection details"
method: GET
path: "/v3/rejection_details"
tags: ["Rejection Details"]
---

# List rejection details

`GET /v3/rejection_details`

## Request

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

Rejection details are the per-application rejection records — one row per rejected application, capturing who rejected it, when, why (the rejection reason), the linked rejection note, and any answers to the organization's rejection question custom fields. A rejection detail exists only after an application has been rejected; non-rejected applications are not represented here. Filter with `application_ids` to pull rejection details for specific applications, or with `rejection_reason_ids` to slice by reason (useful for auto-rejection workflow reporting, e.g. spam or time-bound rejections). To patch a rejection's reason or custom field answers, fetch the rejection detail id from this endpoint and pass it to `PATCH /v3/rejection_details/{id}` — the path id is the rejection detail id, not the application id.

## 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
- `application_ids` integer[]
- `rejection_reason_ids` integer[]
- `fields` string[]
- `custom_field_option_id` integer

## Response `200`

Successful

- object[]
  - `id` integer
  - `created_at` string, date-time
  - `updated_at` string, date-time
  - `application_id` integer: Id of the application this rejection record belongs to. Rejection details exist only for rejected applications; there is one record per rejected application.
  - `rejected_by_id` integer, nullable: Id of the user who rejected the application. `null` for system-initiated rejections such as auto-rejection workflows.
  - `rejection_note_id` integer, nullable: Id of the note created on the application capturing the free-text rejection message, or `null` when no note was entered. The note body itself is not returned here — fetch it through `/v3/notes/{id}`.
  - `rejection_reason_id` integer, nullable: Id of the rejection reason selected for the application. References a `/v3/rejection_reasons` row scoped to the organization. `null` when the application was rejected without a reason.
  - `rejected_at` string, date-time, nullable: Timestamp the application was rejected, in ISO 8601. `null` only for legacy or partially backfilled rejection records.
  - `question_custom_fields` object, nullable

---

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