---
title: "Create a pull request stack"
method: POST
path: "/repos/{owner}/{repo}/stacks"
tags: ["pulls"]
---

# Create a pull request stack

`POST /repos/{owner}/{repo}/stacks`

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.

## Path parameters

- `owner` string, required
- `repo` string, required

## Request body

- object
  - `pull_requests` integer[], required — An ordered list of pull request numbers forming the stack from bottom to top.

## Response `201`

Response

- object
  - `id` integer, required
  - `number` integer, required
  - `node_id` string, required
  - `url` string, uri, required
  - `base` object, required
    - `ref` string, required
  - `open` boolean, required — Whether the stack has any open pull request. False when all pull requests are merged or closed.
  - `created_at` string, date-time, required
  - `pull_requests` PullRequestStackPullRequest[], required
    - `id` integer, required
    - `number` integer, required
    - `url` string, required
    - `head` object, required
      - `ref` string, required
      - `sha` string, required
      - `repo` object, required
        - `id` integer, required
        - `url` string, required
        - `name` string, required
    - `base` object, required
      - `ref` string, required
      - `sha` string, required
      - `repo` object, required
        - `id` integer, required
        - `url` string, required
        - `name` string, required
    - `node_id` string, required
    - `title` string, required
    - `state` 'open' | 'closed', required
    - `merged_at` string, date-time, nullable, required
    - `draft` boolean, required
    - `html_url` string, uri, required
    - `user` NullableSimpleUser, nullable, required — A GitHub user.
      - `name` string, nullable
      - `email` string, nullable
      - `login` string, required
      - `id` integer, required
      - `node_id` string, required
      - `avatar_url` string, uri, required
      - `gravatar_id` string, nullable, required
      - `url` string, uri, required
      - `html_url` string, uri, required
      - `followers_url` string, uri, required
      - `following_url` string, required
      - `gists_url` string, required
      - `starred_url` string, required
      - `subscriptions_url` string, uri, required
      - `organizations_url` string, uri, required
      - `repos_url` string, uri, required
      - `events_url` string, required
      - `received_events_url` string, uri, required
      - `type` string, required
      - `site_admin` boolean, required
      - `starred_at` string
      - `user_view_type` string

## Other responses

- `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.

---

[API](https://skmtc.net/github/apis/github-v3-rest-api-2.md) · [All operations](https://skmtc.net/github/apis/github-v3-rest-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/github/github-v3-rest-api-2/versions/8ae6d0c8716e/schema)
