---
title: "Merge a pull request"
method: POST
path: "/repos/{owner}/{repo}/pulls/{index}/merge"
tags: ["repository"]
---

# Merge a pull request

`POST /repos/{owner}/{repo}/pulls/{index}/merge`

## Path parameters

- `owner` string, required
- `repo` string, required
- `index` integer, required

## Request body

- MergePullRequestOption — MergePullRequestForm form for merging Pull Request
  - `delete_branch_after_merge` boolean
  - `do` 'merge' | 'rebase' | 'rebase-merge' | 'squash' | 'fast-forward-only' | 'manually-merged', required
  - `force_merge` boolean
  - `head_commit_id` string
  - `merge_commit_id` string
  - `merge_message_field` string
  - `merge_title_field` string
  - `merge_when_checks_succeed` boolean

## Response `200`

APIEmpty is an empty response

## Other responses

- `403` — APIForbiddenError is a forbidden error response
- `404` — APINotFound is a not found empty response
- `405` — APIEmpty is an empty response
- `409` — APIError is error format response
- `423` — APIRepoArchivedError is an error that is raised when an archived repo should be modified

---

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