---
title: "Request approvals"
method: POST
path: "/v3/approval_flows/{id}/request_approvals"
tags: ["Approval Flows"]
---

# Request approvals

`POST /v3/approval_flows/{id}/request_approvals`

## Request

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

Start an existing `pending` approval flow by emailing its initial approver(s) and recording who requested the approvals. This is the V3 equivalent of the in-app "Request Approval" button: until it is called, an approval flow's approver groups exist but no one is asked to approve. The flow must be startable — every group already populated, no resolved approvers yet, and (for `offer_candidate` flows) an `offer_id` set — otherwise the call returns 422. Pass `requested_by_user_id` to record someone other than the calling user as the requester; the same user is shown as the sender on the approval emails. Returns 204 with no body.

## Path parameters

- `id` integer, required

## Request body

- object

## Response `204`

Successful (No Content)

## Other responses

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

---

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