---
title: "create pull request"
method: POST
path: "/repositories/{repository}/pulls"
tags: ["pulls", "experimental"]
---

# create pull request

`POST /repositories/{repository}/pulls`

## Request body

- PullRequestCreation
  - `title` string, required
  - `description` string
  - `source_branch` string, required
  - `destination_branch` string, required

## Response `201`

pull request created

- PullRequestCreationResponse
  - `id` string, required — ID of the pull request

## Other responses

- `400` — Validation Error
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Resource Not Found
- `409` — Resource Conflicts With Target
- `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-26** `2aadf9e72077` — 1 info
  - the request property `description` became optional
- **2024-09-24** `d505856f9857` — 1 breaking, 1 info
  - removed the media type `text/html` for the response with the status `201`
  - added the media type `application/json` for the response with the status `201`
- **2024-09-17** `3b10653a8013` — 2 breaking, 3 info
  - the request property `description` became required
  - removed the media type `application/json` for the response with the status `201`
  - added the media type `text/html` for the response with the status `201`
  - added the non-success response with the status `420`
  - …1 more

[Change history](https://skmtc.dev/treeverse/apis/lakefs-api/changes/repositories/:repository/pulls/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-service-production.skmtc.workers.dev/v1/apis/treeverse/lakefs-api/revisions/4617f80bee61/schema)
