Skip to main content
Die REST-API ist jetzt versioniert. Weitere Informationen findest du unter Informationen zur API-Versionsverwaltung.

REST API endpoints for stacked pull requests

Use the REST API to interact with stacked pull requests.

List pull request stacks

Lists pull request stacks in a repository.

Feinkörnige Zugriffstoken für "List pull request stacks"

Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:

Das differenzierte Token muss über den folgenden Berechtigungssatz verfügen.:

  • "Pull requests" repository permissions (read)

Dieser Endpunkt kann ohne Authentifizierung oder die zuvor erwähnten Berechtigungen verwendet werden, wenn nur öffentliche Ressourcen angefordert werden.

Parameter für "List pull request stacks"

Header
Name, Typ, BESCHREIBUNG
accept string

Setting to application/vnd.github+json is recommended.

Pfadparameter
Name, Typ, BESCHREIBUNG
owner string Erforderlich

The account owner of the repository. The name is not case sensitive.

repo string Erforderlich

The name of the repository without the .git extension. The name is not case sensitive.

Abfrageparameter
Name, Typ, BESCHREIBUNG
pull_request integer

Filter to the stack containing this repository pull request number.

per_page integer

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

Standard: 30

page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

Standard: 1

HTTP-Antwortstatuscodes für "List pull request stacks"

StatuscodeBESCHREIBUNG
200

OK

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Codebeispiele für "List pull request stacks"

Wenn Sie bei GHE.com auf GitHub zugreifen, ersetzen Sie api.github.com durch die dedizierte Unterdomäne Ihres Unternehmens unter api.SUBDOMAIN.ghe.com.

Anforderungsbeispiel

get/repos/{owner}/{repo}/stacks
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ https://api.github.com/repos/OWNER/REPO/stacks

Response

Status: 200
[ { "id": 9876543, "number": 42, "node_id": "S_kwDOABCDEF4AAAAA", "url": "https://api.github.com/repos/octocat/hello-world/stacks/42", "base": { "ref": "main" }, "pull_requests": [ { "number": 101, "state": "open", "draft": false, "merged_at": null, "head": { "ref": "user-model", "sha": "aaa1111aaa1111aaa1111aaa1111aaa1111aaa11" } }, { "number": 102, "state": "open", "draft": false, "merged_at": null, "head": { "ref": "user-api", "sha": "bbb2222bbb2222bbb2222bbb2222bbb2222bbb22" } } ], "open": true, "created_at": "2026-04-15T10:00:00Z" } ]

Create a pull request stack

Creates a stack from an ordered list of pull request numbers. Provide the pull request numbers from the bottom of the stack to the top. Each pull request's base ref must match the previous pull request's head ref.

Feinkörnige Zugriffstoken für "Create a pull request stack"

Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:

Das differenzierte Token muss über den folgenden Berechtigungssatz verfügen.:

  • "Pull requests" repository permissions (write)

Parameter für "Create a pull request stack"

Header
Name, Typ, BESCHREIBUNG
accept string

Setting to application/vnd.github+json is recommended.

Pfadparameter
Name, Typ, BESCHREIBUNG
owner string Erforderlich

The account owner of the repository. The name is not case sensitive.

repo string Erforderlich

The name of the repository without the .git extension. The name is not case sensitive.

Körperparameter
Name, Typ, BESCHREIBUNG
pull_requests array of integers Erforderlich

An ordered list of pull request numbers forming the stack from bottom to top.

HTTP-Antwortstatuscodes für "Create a pull request stack"

StatuscodeBESCHREIBUNG
201

Created

404

Resource not found

422

Validation failed. Returned when the request references pull requests that don't exist in the repository, or when the pull requests can't form a valid stack.

Codebeispiele für "Create a pull request stack"

Wenn Sie bei GHE.com auf GitHub zugreifen, ersetzen Sie api.github.com durch die dedizierte Unterdomäne Ihres Unternehmens unter api.SUBDOMAIN.ghe.com.

Anforderungsbeispiel

post/repos/{owner}/{repo}/stacks
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ https://api.github.com/repos/OWNER/REPO/stacks \ -d '{"pull_requests":[101,102,103]}'

Response

Status: 201
{ "id": 9876543, "number": 42, "node_id": "S_kwDOABCDEF4AAAAA", "url": "https://api.github.com/repos/octocat/hello-world/stacks/42", "base": { "ref": "main" }, "open": true, "created_at": "2026-04-15T10:00:00Z", "pull_requests": [ { "id": 100001, "node_id": "PR_kwDOABCDEF4AAAAA", "title": "Add user model", "state": "open", "merged_at": null, "draft": false, "html_url": "https://github.com/octocat/hello-world/pull/101", "user": { "login": "octocat", "id": 1, "node_id": "MDQ6VXNlcjE=", "avatar_url": "https://github.com/images/error/octocat_happy.gif", "gravatar_id": "", "url": "https://api.github.com/users/octocat", "html_url": "https://github.com/octocat", "followers_url": "https://api.github.com/users/octocat/followers", "following_url": "https://api.github.com/users/octocat/following{/other_user}", "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", "organizations_url": "https://api.github.com/users/octocat/orgs", "repos_url": "https://api.github.com/users/octocat/repos", "events_url": "https://api.github.com/users/octocat/events{/privacy}", "received_events_url": "https://api.github.com/users/octocat/received_events", "type": "User", "site_admin": false, "user_view_type": "public" }, "number": 101, "url": "https://api.github.com/repos/octocat/hello-world/pulls/101", "head": { "ref": "user-model", "sha": "aaa1111aaa1111aaa1111aaa1111aaa1111aaa11", "repo": { "id": 1296269, "url": "https://api.github.com/repos/octocat/hello-world", "name": "hello-world" } }, "base": { "ref": "main", "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", "repo": { "id": 1296269, "url": "https://api.github.com/repos/octocat/hello-world", "name": "hello-world" } } }, { "id": 100002, "node_id": "PR_kwDOABCDEF4AAAAB", "title": "Add user API", "state": "open", "merged_at": null, "draft": true, "html_url": "https://github.com/octocat/hello-world/pull/102", "user": { "login": "octocat", "id": 1, "node_id": "MDQ6VXNlcjE=", "avatar_url": "https://github.com/images/error/octocat_happy.gif", "gravatar_id": "", "url": "https://api.github.com/users/octocat", "html_url": "https://github.com/octocat", "followers_url": "https://api.github.com/users/octocat/followers", "following_url": "https://api.github.com/users/octocat/following{/other_user}", "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", "organizations_url": "https://api.github.com/users/octocat/orgs", "repos_url": "https://api.github.com/users/octocat/repos", "events_url": "https://api.github.com/users/octocat/events{/privacy}", "received_events_url": "https://api.github.com/users/octocat/received_events", "type": "User", "site_admin": false, "user_view_type": "public" }, "number": 102, "url": "https://api.github.com/repos/octocat/hello-world/pulls/102", "head": { "ref": "user-api", "sha": "bbb2222bbb2222bbb2222bbb2222bbb2222bbb22", "repo": { "id": 1296269, "url": "https://api.github.com/repos/octocat/hello-world", "name": "hello-world" } }, "base": { "ref": "user-model", "sha": "aaa1111aaa1111aaa1111aaa1111aaa1111aaa11", "repo": { "id": 1296269, "url": "https://api.github.com/repos/octocat/hello-world", "name": "hello-world" } } } ] }

Get a pull request stack

Gets a pull request stack by providing its stack number.

Feinkörnige Zugriffstoken für "Get a pull request stack"

Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:

Das differenzierte Token muss über den folgenden Berechtigungssatz verfügen.:

  • "Pull requests" repository permissions (read)

Dieser Endpunkt kann ohne Authentifizierung oder die zuvor erwähnten Berechtigungen verwendet werden, wenn nur öffentliche Ressourcen angefordert werden.

Parameter für "Get a pull request stack"

Header
Name, Typ, BESCHREIBUNG
accept string

Setting to application/vnd.github+json is recommended.

Pfadparameter
Name, Typ, BESCHREIBUNG
owner string Erforderlich

The account owner of the repository. The name is not case sensitive.

repo string Erforderlich

The name of the repository without the .git extension. The name is not case sensitive.

stack_number integer Erforderlich

The number that identifies the pull request stack.

HTTP-Antwortstatuscodes für "Get a pull request stack"

StatuscodeBESCHREIBUNG
200

OK

404

Resource not found

Codebeispiele für "Get a pull request stack"

Wenn Sie bei GHE.com auf GitHub zugreifen, ersetzen Sie api.github.com durch die dedizierte Unterdomäne Ihres Unternehmens unter api.SUBDOMAIN.ghe.com.

Anforderungsbeispiel

get/repos/{owner}/{repo}/stacks/{stack_number}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ https://api.github.com/repos/OWNER/REPO/stacks/STACK_NUMBER

Response

Status: 200
{ "id": 9876543, "number": 42, "node_id": "S_kwDOABCDEF4AAAAA", "url": "https://api.github.com/repos/octocat/hello-world/stacks/42", "base": { "ref": "main" }, "open": true, "created_at": "2026-04-15T10:00:00Z", "pull_requests": [ { "id": 100001, "node_id": "PR_kwDOABCDEF4AAAAA", "title": "Add user model", "state": "open", "merged_at": null, "draft": false, "html_url": "https://github.com/octocat/hello-world/pull/101", "user": { "login": "octocat", "id": 1, "node_id": "MDQ6VXNlcjE=", "avatar_url": "https://github.com/images/error/octocat_happy.gif", "gravatar_id": "", "url": "https://api.github.com/users/octocat", "html_url": "https://github.com/octocat", "followers_url": "https://api.github.com/users/octocat/followers", "following_url": "https://api.github.com/users/octocat/following{/other_user}", "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", "organizations_url": "https://api.github.com/users/octocat/orgs", "repos_url": "https://api.github.com/users/octocat/repos", "events_url": "https://api.github.com/users/octocat/events{/privacy}", "received_events_url": "https://api.github.com/users/octocat/received_events", "type": "User", "site_admin": false, "user_view_type": "public" }, "number": 101, "url": "https://api.github.com/repos/octocat/hello-world/pulls/101", "head": { "ref": "user-model", "sha": "aaa1111aaa1111aaa1111aaa1111aaa1111aaa11", "repo": { "id": 1296269, "url": "https://api.github.com/repos/octocat/hello-world", "name": "hello-world" } }, "base": { "ref": "main", "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", "repo": { "id": 1296269, "url": "https://api.github.com/repos/octocat/hello-world", "name": "hello-world" } } }, { "id": 100002, "node_id": "PR_kwDOABCDEF4AAAAB", "title": "Add user API", "state": "open", "merged_at": null, "draft": true, "html_url": "https://github.com/octocat/hello-world/pull/102", "user": { "login": "octocat", "id": 1, "node_id": "MDQ6VXNlcjE=", "avatar_url": "https://github.com/images/error/octocat_happy.gif", "gravatar_id": "", "url": "https://api.github.com/users/octocat", "html_url": "https://github.com/octocat", "followers_url": "https://api.github.com/users/octocat/followers", "following_url": "https://api.github.com/users/octocat/following{/other_user}", "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", "organizations_url": "https://api.github.com/users/octocat/orgs", "repos_url": "https://api.github.com/users/octocat/repos", "events_url": "https://api.github.com/users/octocat/events{/privacy}", "received_events_url": "https://api.github.com/users/octocat/received_events", "type": "User", "site_admin": false, "user_view_type": "public" }, "number": 102, "url": "https://api.github.com/repos/octocat/hello-world/pulls/102", "head": { "ref": "user-api", "sha": "bbb2222bbb2222bbb2222bbb2222bbb2222bbb22", "repo": { "id": 1296269, "url": "https://api.github.com/repos/octocat/hello-world", "name": "hello-world" } }, "base": { "ref": "user-model", "sha": "aaa1111aaa1111aaa1111aaa1111aaa1111aaa11", "repo": { "id": 1296269, "url": "https://api.github.com/repos/octocat/hello-world", "name": "hello-world" } } } ] }

Add pull requests to a pull request stack

Appends an ordered list of pull request numbers onto the top of an existing stack. Provide only the pull requests you want to add, from the current top of the stack upward. The first new pull request's base ref must match the current top pull request's head ref.

Feinkörnige Zugriffstoken für "Add pull requests to a pull request stack"

Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:

Das differenzierte Token muss über den folgenden Berechtigungssatz verfügen.:

  • "Pull requests" repository permissions (write)

Parameter für "Add pull requests to a pull request stack"

Header
Name, Typ, BESCHREIBUNG
accept string

Setting to application/vnd.github+json is recommended.

Pfadparameter
Name, Typ, BESCHREIBUNG
owner string Erforderlich

The account owner of the repository. The name is not case sensitive.

repo string Erforderlich

The name of the repository without the .git extension. The name is not case sensitive.

stack_number integer Erforderlich

The number that identifies the pull request stack.

Körperparameter
Name, Typ, BESCHREIBUNG
pull_requests array of integers Erforderlich

An ordered list of pull request numbers to append to the stack, from the current top upward.

HTTP-Antwortstatuscodes für "Add pull requests to a pull request stack"

StatuscodeBESCHREIBUNG
200

OK

404

Resource not found

409

Conflict. Returned when the stack is being modified by another request.

422

Validation failed. Returned when the request references pull requests that don't exist in the repository, or when the pull requests can't be appended to the stack.

Codebeispiele für "Add pull requests to a pull request stack"

Wenn Sie bei GHE.com auf GitHub zugreifen, ersetzen Sie api.github.com durch die dedizierte Unterdomäne Ihres Unternehmens unter api.SUBDOMAIN.ghe.com.

Anforderungsbeispiel

post/repos/{owner}/{repo}/stacks/{stack_number}/add
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ https://api.github.com/repos/OWNER/REPO/stacks/STACK_NUMBER/add \ -d '{"pull_requests":[104,102]}'

Response

Status: 200
{ "id": 9876543, "number": 42, "node_id": "S_kwDOABCDEF4AAAAA", "url": "https://api.github.com/repos/octocat/hello-world/stacks/42", "base": { "ref": "main" }, "open": true, "created_at": "2026-04-15T10:00:00Z", "pull_requests": [ { "id": 100001, "node_id": "PR_kwDOABCDEF4AAAAA", "title": "Add user model", "state": "open", "merged_at": null, "draft": false, "html_url": "https://github.com/octocat/hello-world/pull/101", "user": { "login": "octocat", "id": 1, "node_id": "MDQ6VXNlcjE=", "avatar_url": "https://github.com/images/error/octocat_happy.gif", "gravatar_id": "", "url": "https://api.github.com/users/octocat", "html_url": "https://github.com/octocat", "followers_url": "https://api.github.com/users/octocat/followers", "following_url": "https://api.github.com/users/octocat/following{/other_user}", "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", "organizations_url": "https://api.github.com/users/octocat/orgs", "repos_url": "https://api.github.com/users/octocat/repos", "events_url": "https://api.github.com/users/octocat/events{/privacy}", "received_events_url": "https://api.github.com/users/octocat/received_events", "type": "User", "site_admin": false, "user_view_type": "public" }, "number": 101, "url": "https://api.github.com/repos/octocat/hello-world/pulls/101", "head": { "ref": "user-model", "sha": "aaa1111aaa1111aaa1111aaa1111aaa1111aaa11", "repo": { "id": 1296269, "url": "https://api.github.com/repos/octocat/hello-world", "name": "hello-world" } }, "base": { "ref": "main", "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", "repo": { "id": 1296269, "url": "https://api.github.com/repos/octocat/hello-world", "name": "hello-world" } } }, { "id": 100002, "node_id": "PR_kwDOABCDEF4AAAAB", "title": "Add user API", "state": "open", "merged_at": null, "draft": true, "html_url": "https://github.com/octocat/hello-world/pull/102", "user": { "login": "octocat", "id": 1, "node_id": "MDQ6VXNlcjE=", "avatar_url": "https://github.com/images/error/octocat_happy.gif", "gravatar_id": "", "url": "https://api.github.com/users/octocat", "html_url": "https://github.com/octocat", "followers_url": "https://api.github.com/users/octocat/followers", "following_url": "https://api.github.com/users/octocat/following{/other_user}", "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", "organizations_url": "https://api.github.com/users/octocat/orgs", "repos_url": "https://api.github.com/users/octocat/repos", "events_url": "https://api.github.com/users/octocat/events{/privacy}", "received_events_url": "https://api.github.com/users/octocat/received_events", "type": "User", "site_admin": false, "user_view_type": "public" }, "number": 102, "url": "https://api.github.com/repos/octocat/hello-world/pulls/102", "head": { "ref": "user-api", "sha": "bbb2222bbb2222bbb2222bbb2222bbb2222bbb22", "repo": { "id": 1296269, "url": "https://api.github.com/repos/octocat/hello-world", "name": "hello-world" } }, "base": { "ref": "user-model", "sha": "aaa1111aaa1111aaa1111aaa1111aaa1111aaa11", "repo": { "id": 1296269, "url": "https://api.github.com/repos/octocat/hello-world", "name": "hello-world" } } } ] }

Remove pull requests from a pull request stack

Removes the unmerged pull requests from a stack. Pull requests that cannot be unstacked (for example, those that are queued for merge) are left in place. When pull requests remain in the stack, the updated stack is returned with a 200. When no pull requests remain, the stack is dissolved and a 204 is returned.

Feinkörnige Zugriffstoken für "Remove pull requests from a pull request stack"

Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:

Das differenzierte Token muss über den folgenden Berechtigungssatz verfügen.:

  • "Pull requests" repository permissions (write)

Parameter für "Remove pull requests from a pull request stack"

Header
Name, Typ, BESCHREIBUNG
accept string

Setting to application/vnd.github+json is recommended.

Pfadparameter
Name, Typ, BESCHREIBUNG
owner string Erforderlich

The account owner of the repository. The name is not case sensitive.

repo string Erforderlich

The name of the repository without the .git extension. The name is not case sensitive.

stack_number integer Erforderlich

The number that identifies the pull request stack.

HTTP-Antwortstatuscodes für "Remove pull requests from a pull request stack"

StatuscodeBESCHREIBUNG
200

OK

204

A header with no content is returned.

404

Resource not found

409

Conflict. Returned when the stack is being modified by another request.

422

Validation failed. Returned when the stack can't be unstacked because every pull request in it is locked and cannot be removed.

Codebeispiele für "Remove pull requests from a pull request stack"

Wenn Sie bei GHE.com auf GitHub zugreifen, ersetzen Sie api.github.com durch die dedizierte Unterdomäne Ihres Unternehmens unter api.SUBDOMAIN.ghe.com.

Anforderungsbeispiel

post/repos/{owner}/{repo}/stacks/{stack_number}/unstack
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ https://api.github.com/repos/OWNER/REPO/stacks/STACK_NUMBER/unstack

Response

Status: 200
{ "id": 9876543, "number": 42, "node_id": "S_kwDOABCDEF4AAAAA", "url": "https://api.github.com/repos/octocat/hello-world/stacks/42", "base": { "ref": "main" }, "open": true, "created_at": "2026-04-15T10:00:00Z", "pull_requests": [ { "id": 100001, "node_id": "PR_kwDOABCDEF4AAAAA", "title": "Add user model", "state": "open", "merged_at": null, "draft": false, "html_url": "https://github.com/octocat/hello-world/pull/101", "user": { "login": "octocat", "id": 1, "node_id": "MDQ6VXNlcjE=", "avatar_url": "https://github.com/images/error/octocat_happy.gif", "gravatar_id": "", "url": "https://api.github.com/users/octocat", "html_url": "https://github.com/octocat", "followers_url": "https://api.github.com/users/octocat/followers", "following_url": "https://api.github.com/users/octocat/following{/other_user}", "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", "organizations_url": "https://api.github.com/users/octocat/orgs", "repos_url": "https://api.github.com/users/octocat/repos", "events_url": "https://api.github.com/users/octocat/events{/privacy}", "received_events_url": "https://api.github.com/users/octocat/received_events", "type": "User", "site_admin": false, "user_view_type": "public" }, "number": 101, "url": "https://api.github.com/repos/octocat/hello-world/pulls/101", "head": { "ref": "user-model", "sha": "aaa1111aaa1111aaa1111aaa1111aaa1111aaa11", "repo": { "id": 1296269, "url": "https://api.github.com/repos/octocat/hello-world", "name": "hello-world" } }, "base": { "ref": "main", "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", "repo": { "id": 1296269, "url": "https://api.github.com/repos/octocat/hello-world", "name": "hello-world" } } } ] }