Create merge

Merges an open pull request by FAST-FORWARDING base to head, and answers the proposal in its merged state with the revision base now points at.

POST /v1/git/repos/{name}/pulls/{number}/merge

Addresshttps://api.hanzo.ai/v1/git/repos/{name}/pulls/{number}/merge
MethodPOST
Operationpost_git_repos_by_name_pulls_by_number_merge
AuthAuthorization: Bearer $HANZO_API_KEY

Merges an open pull request by FAST-FORWARDING base to head, and answers the proposal in its merged state with the revision base now points at.

It merges only when base is already an ancestor of head — the case where head contains every commit base has, so moving the branch loses nothing and invents nothing. When base has moved on independently, this REFUSES with 409 and says so: a real three-way merge is not implemented here, and reporting one would claim a result these bytes do not produce. Rebase head onto base and merge again.

The move is judged by the same ref policy a git push of it would face, and fires the same build and notify reactions, so merging is not a way around either. Merging an already-merged proposal is a 409.

Request

2 fields.

FieldInTypeRequiredDescription
namepathstringyesName is the repo, from the :name path segment.
numberpathintegeryesNumber is the proposal's per-repo number, from the :number path segment.

Response

StatusBodyMeaning
200git.pullViewok
defaultproblem-detailsrefused

200 body — 11 fields.

FieldInTypeAlwaysDescription
authorbodystring—Author is the user who opened it; empty for a caller with no user.
basebodystring—Base is the branch the work is proposed into.
bodybodystring—Body is the longer description; empty when none was given.
createdAtbodystring—CreatedAt is RFC 3339 UTC.
headbodystring—Head is the branch holding the work.
mergedRevbodystring—MergedRev is what base points at now that the merge landed.
numberbodyinteger (int64)—Number is the proposal's per-repo handle, dense from 1.
repobodystring—Repo is the repository the proposal belongs to.
statebodystring—State is "open" or "merged".
titlebodystring—Title is the one-line summary.
updatedAtbodystring—UpdatedAt is RFC 3339 UTC.

Failure carries the platform error shape — see Errors.

Examples

hanzo git repos pulls merge <name> 1
import { Configuration, GitApi } from 'hanzoai';

const api = new GitApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.postGitReposByNamePullsByNumberMerge({ name: 'name', number: 'number' });
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import GitApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = GitApi(client).post_git_repos_by_name_pulls_by_number_merge(name='name', number='number')
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.GitAPI.PostGitReposByNamePullsByNumberMerge(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::apis::{configuration::Configuration, git_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = git_api::post_git_repos_by_name_pulls_by_number_merge(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.GitApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new GitApi(client).postGitReposByNamePullsByNumberMerge();
curl -X POST https://api.hanzo.ai/v1/git/repos/<name>/pulls/1/merge \
  -H "Authorization: Bearer $HANZO_API_KEY"

MCP reaches git through the git tool, which names its 38 operations with its own verbs — this one among them, under a name only MCP declares. describe explains any of them:

curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "describe",
         "arguments": {
           "op": "list_git_keys"
         }
       }
     }'

Git API · All Hanzo APIs · Interactive reference

Was this page useful?