> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gorules.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get merge preview

> Previews the result of merging a branch into main, including any conflicts.



## OpenAPI

````yaml /openapi/brms.json get /api/projects/{projectId}/branches/{branchId}/merge-preview
openapi: 3.0.3
info:
  title: GoRules BRMS
  version: local
servers: []
security: []
tags:
  - name: AI
    description: >-
      AI-powered assistant for interactive conversations and decision logic
      generation
  - name: Audit log
    description: Track and export organisation activity logs for compliance and monitoring
  - name: Branches
    description: >-
      Manage feature branches for collaborative decision development with
      commits and merging
  - name: Change requests
    description: Review and approve changes before merging or deploying to environments
  - name: Cloud
    description: Cloud-specific endpoints for organisation and client management
  - name: Decision
    description: Evaluate and simulate decision graphs with trace and performance data
  - name: Deployment workflows
    description: Manage deployment workflow runs and job approvals
  - name: Deployments
    description: Configure cloud storage providers for release deployments
  - name: Document
    description: Manage decision documents, versions, and file operations within projects
  - name: Environment
    description: >-
      Configure deployment environments with approval workflows and access
      tokens
  - name: Group
    description: Manage permission groups for project-level access control
  - name: Infrastructure
    description: Health check and infrastructure status endpoints
  - name: Integration
    description: Configure external integrations for HTTP requests and data sources
  - name: Invitation
    description: Manage organisation invitations for new members
  - name: Member
    description: Manage project membership and group assignments
  - name: Organisation
    description: Manage organisation settings, preferences, and licensing
  - name: Personal access token
    description: Create and manage personal access tokens for API authentication
  - name: Profile
    description: Manage current user profile settings
  - name: Project
    description: Create and manage projects with approval workflows
  - name: Release
    description: >-
      Package, version, and deploy decision documents. Learn more about
      [Releases](https://gorules.io/developers/brms/multi-environment)
  - name: Roles
    description: Define custom roles with permissions for organisation-wide access control
  - name: Security
    description: Manage project access tokens for API authentication
  - name: Templates
    description: Browse and apply project templates for quick onboarding
  - name: Test events
    description: Manage test events for decision evaluation and testing
  - name: User
    description: Manage organisation users, invitations, and service accounts
paths:
  /api/projects/{projectId}/branches/{branchId}/merge-preview:
    get:
      tags:
        - Branches
      summary: Get merge preview
      description: >-
        Previews the result of merging a branch into main, including any
        conflicts.
      operationId: getMergePreview
      parameters:
        - schema:
            type: string
            format: uuid
          in: path
          name: projectId
          required: true
          description: Project ID
        - schema:
            anyOf:
              - type: string
                format: uuid
              - type: string
                enum:
                  - main
          in: path
          name: branchId
          required: true
          description: Branch ID or "main" for the default branch
      responses:
        '200':
          description: Merge preview result
          content:
            application/json:
              schema:
                type: object
                properties:
                  canMerge:
                    type: boolean
                    description: Whether the branch can be merged without conflicts
                  isUpToDate:
                    type: boolean
                    description: Whether the branch is up to date with main
                  needsRebase:
                    type: boolean
                    description: Whether the branch needs to be rebased
                  changes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - added
                            - deleted
                            - modified
                            - renamed
                          description: Type of change
                        file:
                          description: File for added/deleted changes
                        from:
                          description: Original file for modified/renamed changes
                        to:
                          description: New file for modified/renamed changes
                      required:
                        - type
                      description: File system change
                    description: List of file changes that would result from merge
                  conflicts:
                    type: array
                    items:
                      type: object
                      properties:
                        reason:
                          type: string
                          enum:
                            - modify/modify
                            - delete/modify
                            - add/add
                            - directory/file
                          description: Reason for the conflict
                        path:
                          type: string
                          description: File path where conflict occurred
                        base:
                          description: Base version of the file
                        ours:
                          description: Our version of the file
                        theirs:
                          description: Their version of the file
                        deleted:
                          type: string
                          enum:
                            - ours
                            - theirs
                          description: Which side deleted the file
                        modified:
                          description: Modified version of the file
                      required:
                        - reason
                        - path
                      description: Merge conflict
                    description: List of merge conflicts
                  stats:
                    type: object
                    properties:
                      filesAdded:
                        type: number
                        description: Number of files added
                      filesDeleted:
                        type: number
                        description: Number of files deleted
                      filesModified:
                        type: number
                        description: Number of files modified
                      filesRenamed:
                        type: number
                        description: Number of files renamed
                      totalChanges:
                        type: number
                        description: Total number of changes
                    required:
                      - filesAdded
                      - filesDeleted
                      - filesModified
                      - totalChanges
                    description: Change statistics
                  message:
                    type: string
                    description: Human-readable merge status message
                required:
                  - canMerge
                  - isUpToDate
                  - needsRebase
                  - changes
                  - conflicts
                  - stats
                  - message
                description: Merge preview result
      security:
        - personalAccessToken: []
        - internalAuth: []
components:
  securitySchemes:
    personalAccessToken:
      type: http
      scheme: bearer
      description: Personal access token is obtained through your profile
    internalAuth:
      type: http
      scheme: internal
      description: Cannot be used directly

````