---
title: "Replay the changes from the given commit on the branch"
method: POST
path: "/repositories/{repository}/branches/{branch}/cherry-pick"
tags: ["branches"]
---

# Replay the changes from the given commit on the branch

`POST /repositories/{repository}/branches/{branch}/cherry-pick`

## Request

- Base URL: `/api/v1` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/api/v1/repositories/{repository}/branches/{branch}/cherry-pick`
- Auth: one of:
  - HTTP bearer
  - HTTP basic
  - API key in cookie `internal_auth_session`

## Request body

- CherryPickCreation
  - `ref` string, required: the commit to cherry-pick, given by a ref
  - `parent_number` integer: When cherry-picking a merge commit, the parent number (starting from 1) with which to perform the diff. The default branch is parent 1.
  - `commit_overrides` CommitOverrides
    - `message` string: replace the commit message
    - `metadata` object: replace the metadata of the commit
  - `force` boolean

## Response `201`

the cherry-pick commit

- Commit
  - `id` string, required
  - `parents` string[], required
  - `committer` string, required
  - `message` string, required
  - `creation_date` integer, required: Unix Epoch in seconds
  - `meta_range_id` string, required
  - `metadata` object
  - `generation` integer
  - `version` integer

## Other responses

- `400`: Validation Error
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Resource Not Found
- `409`: Conflict Found
- `429`: too many requests
- `default`: Internal Server Error

## Changes

- **2025-07-29** `27799ffec9a5`: 2 info
  - added the non-success response with the status `429`
  - removed the non-success response with the status `420`
- **2024-09-17** `3b10653a8013`: 2 info
  - added the non-success response with the status `420`
  - removed the non-success response with the status `429`

[Operation history](https://skmtc.dev/treeverse/apis/lakefs-api/changes/repositories/:repository/branches/:branch/cherry-pick/post.md)

---

[API](https://skmtc.dev/treeverse/apis/lakefs-api.md) - [All operations](https://skmtc.dev/treeverse/apis/lakefs-api/llms.txt) - [OpenAPI document](https://skmtc.dev/treeverse/apis/lakefs-api/revisions/10a3acbbb1fd?raw)
