---
title: "Merge branch"
method: POST
path: "/api/projects/{projectId}/branches/{branchId}/merge"
tags: ["Branches"]
---

# Merge branch

`POST /api/projects/{projectId}/branches/{branchId}/merge`

Merges a branch into main, or creates a change request if approval is required.

## Path parameters

- `projectId` string, uuid, required
- `branchId` union, required
  - string, uuid
  - 'main'

## Request body

- object, nullable
  - `message` string, required — Merge commit message
  - `resolutions` object[] — Conflict resolutions
    - `path` string, required
    - `resolution` 'useLeft' | 'useRight' | 'manual', required
    - `content` unknown
    - `hash` string

## Response `200`

Merge result

- object — Merge result
  - `success` boolean, required — Whether the operation was successful
  - `requiresApproval` boolean, required — Whether approval is required for the merge
  - `changeRequestId` string, uuid — ID of created change request
  - `mergeCommitId` string, uuid — ID of the merge commit
  - `message` string, required — Human-readable result message
  - `changes` object[] — List of merged changes
    - `type` 'added' | 'deleted' | 'modified' | 'renamed', required — Type of change
    - `file` unknown
    - `from` unknown
    - `to` unknown
  - `stats` object — Change statistics
    - `filesAdded` number, required — Number of files added
    - `filesDeleted` number, required — Number of files deleted
    - `filesModified` number, required — Number of files modified
    - `filesRenamed` number — Number of files renamed
    - `totalChanges` number, required — Total number of changes

---

[API](https://skmtc.dev/gorules/apis/gorules-agent-api.md) · [All operations](https://skmtc.dev/gorules/apis/gorules-agent-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/gorules/gorules-agent-api/revisions/52c0773fcd80/schema)
