---
title: "hard reset branch"
method: PUT
path: "/repositories/{repository}/branches/{branch}/hard_reset"
tags: ["experimental"]
---

# hard reset branch

`PUT /repositories/{repository}/branches/{branch}/hard_reset`

## 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}/hard_reset`
- Auth: one of:
  - HTTP bearer
  - HTTP basic
  - API key in cookie `internal_auth_session`

Relocate branch to refer to ref.  Branch must not contain uncommitted data.

## Query parameters

- `ref` string, required
- `force` boolean

## Response `204`

reset successful

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Resource Not 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/hard_reset/put.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)
