apicheats.dev github/llms.txt Raw .md
PUT

PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge-async — GitHub API

GitHub token (required); https://api.github.com

GitHub API

Merge a pull request asynchronously

Base URL
https://api.github.com
Auth
Authorization: Bearer <GITHUB_API_KEY>
Last verified
2026-10-20 · upstream hash matched
Actions Try in browser→
Agents: curl -H "Accept: text/markdown" this URL
→ 388 tokens · Vary: Accept

Critical gotchas

GitHub recommends an Accept: application/vnd.github+json header and an explicit X-GitHub-Api-Version header.

Fine-grained tokens only authorize repositories and permissions selected when the token is created.

cURL

curl -X PUT 'https://api.github.com/repos/example-owner/example-repo/pulls/10/merge-async' \  -H "Authorization: Bearer $GITHUB_TOKEN" \  -H 'Accept: application/vnd.github+json' \  -H 'X-GitHub-Api-Version: 2026-03-10' \  -H 'Content-Type: application/json' \  -d '{}'

Parameters

Name In Type Required Description
owner path string Yes The account owner of the repository. The name is not case sensitive.
repo path string Yes The name of the repository without the `.git` extension. The name is not case sensitive.
pull_number path integer Yes The number that identifies the pull request.
commit_title body string No Title for the automatic commit message. Only supported for direct merges.
commit_message body string No Extra detail to append to automatic commit message. Only supported for direct merges.
sha body string No SHA that pull request head must match to allow merge. If not provided, the current head of the PR at the time of the request will be used; if the PR is pushed in between the merge being requested and being executed, the merge will be cancelled.
merge_method body string No The merge method to use for a direct merge. Only supported for direct merges.
merge_action body string No The action that will be taken to merge the pull request. `direct_merge` merges the pull request directly without using a merge queue; `merge_queue` adds the pull request to a merge queue; `default` uses a merge queue if one is configured for the target branch, or merges directly otherwise. If omitted, defaults to `default`.
bypass_rules body boolean No Whether to bypass repository rules that the authenticated actor is permitted to bypass.

Response 200 OK

{
  "status": "pending",
  "details": {
    "message": "string",
    "uuid": "string",
    "merge_method": "default",
    "merge_action": "default",
    "expected_head_sha": "string",
    "bypass_rules": false
  }
}
Get a free GitHub API key → sponsored

Affiliate link - we may earn a commission, at no extra cost to you.