---
title: "Update approval flow"
method: PUT
path: "/api/v1/compensation/planning_cycles/{id}/approvals/{templateId}"
tags: ["Compensation Planning", "Public API"]
---

# Update approval flow

`PUT /api/v1/compensation/planning_cycles/{id}/approvals/{templateId}`

## Request

- Base URL: `https://companySubDomain.bamboohr.com`
- URL: `https://companySubDomain.bamboohr.com/api/v1/compensation/planning_cycles/{id}/approvals/{templateId}`
- Auth: OAuth 2
  - Authorization code: `/authorize.php`
  - Token URL: `/token.php` scopes: `planning_cycles.write`
- TypeScript: <https://skmtc.dev/bamboohr/apis/bamboohr-api/docs/api/v1/compensation/planning_cycles/:id/approvals/:templateId/put.ts> (a function with typed inputs; its response is checked against the schema)

Update an approval flow for a compensation planning cycle. Allows modifying recommenders and approvers for a specific approval flow template.

OAuth Scopes: planning_cycles.write

## Path parameters

- `id` integer, required
- `templateId` string, required

## Query parameters

- `groupBy` string

## Request body

- object
  - `assignees` string[], required: Array of internal employee IDs for assignees
  - `flowData` object, required: Flow data for the approval

## Response `200`

Updated approval flows for the cycle

- object

## Other responses

- `400`: Bad request
- `403`: Forbidden
- `404`: Not found
- `500`: Internal server error

## Changes

- **2026-11-03** `922fc15f43a7`: 1 info
  - api operation id `cf87b8e09a001b6fb81dfce6c20ab9e3` removed and replaced with `573e90a0536ad1df96fd8ea5180b4981`

[Operation history](https://skmtc.dev/bamboohr/apis/bamboohr-api/changes/api/v1/compensation/planning_cycles/:id/approvals/:templateId/put.md)

---

[API](https://skmtc.dev/bamboohr/apis/bamboohr-api.md) - [All operations](https://skmtc.dev/bamboohr/apis/bamboohr-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bamboohr/apis/bamboohr-api/revisions/922fc15f43a7?raw)
