---
title: "Create Run Pull Request"
method: POST
path: "/api/v1/runs/{id}/pull_request"
tags: ["Runs"]
---

# Create Run Pull Request

`POST /api/v1/runs/{id}/pull_request`

Creates a pull request for a completed run on GitHub and persists the record on the server.

## Path parameters

- `id` string, required

## Request body

- CreateRunPullRequestRequest — Request body for creating a run pull request.
  - `force` boolean, required — Create the pull request even if the run did not finish with succeeded or partially_succeeded.
  - `model` string, nullable — Optional model override for generating the pull request description.

## Response `200`

Pull request created

- PullRequestLink — Minimal GitHub pull request link associated with a run.
  - `owner` string, required
  - `repo` string, required
  - `number` integer, required
  - `html_url` string, uri, required — Computed GitHub web URL for the pull request.

## Other responses

- `400` — Pull request creation does not apply to this run
- `404` — Run not found
- `409` — Pull request already exists for this run. Clients can GET /runs/{id}/pull_request to retrieve the stored record.
- `502` — GitHub rejected the pull request creation request
- `503` — GitHub integration is unavailable on the server

---

[API](https://skmtc.dev/fabro-sh/apis/fabro-run-api.md) · [All operations](https://skmtc.dev/fabro-sh/apis/fabro-run-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/fabro-sh/fabro-run-api/revisions/57aaacdfd18e/schema)
