---
title: "create commit"
method: POST
path: "/repositories/{repository}/branches/{branch}/commits"
tags: ["commits"]
---

# create commit

`POST /repositories/{repository}/branches/{branch}/commits`

## Query parameters

- `source_metarange` string

## Request body

- CommitCreation
  - `message` string, required
  - `metadata` object
  - `date` integer — set date to override creation date in the commit (Unix Epoch in seconds)
  - `allow_empty` boolean — sets whether a commit can contain no changes
  - `force` boolean

## Response `201`

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` — Resource Conflicts With Target
- `412` — Precondition Failed
- `429` — too many requests
- `default` — Internal Server Error

---

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