---
title: "Publish Draft Compensation Level Groups"
method: POST
path: "/api/v1/pay-grades-and-bands/publish"
tags: ["Pay Grades & Bands", "Public API"]
---

# Publish Draft Compensation Level Groups

`POST /api/v1/pay-grades-and-bands/publish`

## Request

- Base URL: `https://companySubDomain.bamboohr.com`
- URL: `https://companySubDomain.bamboohr.com/api/v1/pay-grades-and-bands/publish`
- Auth: OAuth 2
  - Authorization code: `/authorize.php`
  - Token URL: `/token.php` scopes: `pay_grades_and_bands.write`
- TypeScript: <https://skmtc.dev/bamboohr/apis/bamboohr-api/docs/api/v1/pay-grades-and-bands/publish/post.ts> (a function with typed inputs; its response is checked against the schema)

Publishes the company draft compensation configuration, promoting every draft compensation level group, along with its levels, pay bands, and job-title assignments, to the live published set. Any previously published groups are marked historic in the same operation. This is a bodyless POST that takes no request body and always publishes the entire current draft. Build the draft first with Update Compensation Level Groups and Levels (`update-compensation-level-groups-and-levels`), Update Pay Bands (`update-pay-bands`), and Replace Job Title Level Assignments (`replace-job-title-level-assignments`), then publish. Publishing is rejected with a 400 when the draft has unresolved validation errors or warnings. When no draft exists the call is a no-op and still returns success. On success the response is the JSON object `{"status":"success"}`. Read the published result back with Get Published Levels and Bands (`get-published-levels-and-bands`).

OAuth Scopes: pay_grades_and_bands.write

## Response `200`

Draft compensation level groups published, or no draft existed and nothing changed. Returns the JSON object `{"status":"success"}`.

- object
  - `status` string

## Other responses

- `400`: The draft has unresolved validation errors or warnings and cannot be published.
- `403`: Insufficient permissions
- `500`: Internal server error

## Changes

- **2026-11-03** `922fc15f43a7`: 2 info
  - api operation id `22932a81ba129f22114ccdef397af933` removed and replaced with `publish-draft-compensation-level-groups`
  - api tag `Pay Grades & Bands` added

[Operation history](https://skmtc.dev/bamboohr/apis/bamboohr-api/changes/api/v1/pay-grades-and-bands/publish/post.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)
