Update pull

Update pull content fields and optional refs.

Endpoints

PUT /api/v1/teams/{team_slug}/repos/{repo_slug}/pulls/{number}
PUT /api/v1/users/{username}/repos/{repo_slug}/pulls/{number}
Authenticated

Request

JSON body (all optional):

  • title
  • body
  • source_ref
  • target_ref

Changing refs has stricter permissions than editing title/body.

Usage

curl --request PUT \
  --header "Authorization: Bearer $GHIT_API_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{"title":"Feature x (updated)","body":"Updated description."}' \
  "$GHIT_API_URL/v1/teams/platform/repos/website/pulls/42"

Success

200 OK with the updated pull record.

{
  "uuid": "...",
  "number": 42,
  "title": "Feature x (updated)",
  "body": "Updated description.",
  "status": "open",
  "updated_at": "2026-03-09T13:00:00Z"
}

Errors

  • 400 Bad Request when pull is merged (repo_pull_merged_read_only).
  • 403 Forbidden when caller lacks content or ref write access.
  • 404 Not Found when repo or pull number is not found.
  • 409 Conflict for invalid same-repo ref combinations.

Common auth errors are documented on the API overview page.