---
title: "Complete compensation planning cycle"
method: PUT
path: "/api/v1/compensation/planning_cycles/{id}/complete"
tags: ["Compensation Planning", "Public API"]
---

# Complete compensation planning cycle

`PUT /api/v1/compensation/planning_cycles/{id}/complete`

Complete a compensation planning cycle and finalize employee compensation records.

OAuth Scopes: planning_cycles.write

## Path parameters

- `id` integer, required

## Response `200`

Cycle completed successfully

- object
  - `cycleId` integer
  - `updatedEmployeesCount` integer
  - `cycleClosedEmailError` string, nullable — Present when cycle completed successfully but sending closed-cycle emails failed
  - `errors` object[]
    - `employeeId` string — The internal employee ID of the employee with the completion error.
    - `message` string

## Other responses

- `403` — Insufficient permissions
- `404` — Resource not found
- `409` — Cycle cannot be completed
- `422` — Employees with pay rate errors
- `500` — Internal server error

---

[API](https://skmtc.net/bamboohr/apis/bamboohr-api.md) · [All operations](https://skmtc.net/bamboohr/apis/bamboohr-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bamboohr/bamboohr-api/revisions/19ebf391a399/schema)
