---
title: "Update pull request"
method: POST
path: "/v1/replica/{id}/pull-requests/update"
tags: ["Pull requests"]
---

# Update pull request

`POST /v1/replica/{id}/pull-requests/update`

## Request

- Base URL: `https://api.replicas.dev`
- URL: `https://api.replicas.dev/v1/replica/{id}/pull-requests/update`
- Auth: HTTP bearer

Closes, approves, converts to draft, or marks ready a GitHub pull request the replica opened. Approving uses your GitHub account, so it needs a personal API key with GitHub connected.

## Path parameters

- `id` string, uuid, required

## Headers

- `X-Replicas-Api-Version` '2026-10-07'

## Request body

- UpdateWorkspacePullRequestRequest
  - `pr_url` string, uri, required
  - `action` 'approve' | 'close' | 'convert_to_draft' | 'mark_ready_for_review', required: The direct GitHub pull request action to perform.

## Response `200`

Success

- SuccessResponse: Generic success response.
  - `success` boolean, required

## Other responses

- `400`: Bad request - Missing or invalid parameters
- `401`: Unauthorized - Invalid or missing API key
- `403`: Forbidden - The authenticated account cannot access this resource
- `404`: Resource not found
- `409`: Conflict - Resource already exists or operation conflicts with current state
- `412`: GitHub account not connected
- `500`: Internal server error

---

[API](https://skmtc.dev/replicas/apis/replicas-api.md) - [All operations](https://skmtc.dev/replicas/apis/replicas-api/llms.txt) - [OpenAPI document](https://skmtc.dev/replicas/apis/replicas-api/revisions/2703ac1c9cb7?raw)
