Oxen Merge API
The Merge API from Oxen — 1 operation(s) for merge.
The Merge API from Oxen — 1 operation(s) for merge.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/oxen-merge-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: oxen Ai Merge API
version: 0.243.1
servers:
- url: https://hub.oxen.ai
variables: {}
security: []
tags:
- name: Merge
paths:
/api/repos/{namespace}/{repo_name}/merge/{base_head}:
get:
description: Check if two branches can be merged and list any conflicts.
operationId: show
parameters:
- description: Namespace of the repository
example: ox
in: path
name: namespace
required: true
schema:
type: string
- description: Name of the repository
example: satellite-images
in: path
name: repo_name
required: true
schema:
type: string
- description: The base and head revisions separated by '..'
example: main..feature/add-labels
in: path
name: base_head
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MergeableResponse'
description: Merge status returned successfully
'404':
description: Repository or one of the revisions not found
summary: Check if branches are mergeable
tags:
- Merge
post:
description: Merge the head branch into the base branch, creating a merge commit.
operationId: merge
parameters:
- description: Namespace of the repository
example: ox
in: path
name: namespace
required: true
schema:
type: string
- description: Name of the repository
example: satellite-images
in: path
name: repo_name
required: true
schema:
type: string
- description: The base and head revisions separated by '..'
example: main..feature/add-labels
in: path
name: base_head
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
email: bessie@oxen.ai
name: bessie
schema:
properties:
email:
type: string
name:
type: string
required:
- email
- name
type: object
description: 'Author for the merge commit (the user initiating the merge). Required: name and email must both be present and non-empty.'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MergeSuccessResponse'
description: Branches merged successfully
'400':
description: Missing merge author (name and email)
'404':
description: Repository or one of the revisions not found
'409':
content:
application/json:
schema:
$ref: '#/components/schemas/StatusMessage'
description: Merge conflict
summary: Merge branches
tags:
- Merge
components:
schemas:
Commit:
example:
author: ox
email: ox@example.com
id: a1b2c3d4e5f67890abcdef1234567890
message: Refactor data loading pipeline.
parent_ids:
- f1e2d3c4b5a67890fedcba9876543210
timestamp: '2025-01-01T10:00:00Z'
properties:
author:
type: string
email:
type: string
id:
type: string
message:
type: string
parent_ids:
items:
type: string
type: array
timestamp:
format: date-time
type: string
required:
- id
- parent_ids
- message
- author
- email
- timestamp
type: object
Mergeable:
properties:
commits:
items:
$ref: '#/components/schemas/Commit'
type: array
conflicts:
items:
$ref: '#/components/schemas/MergeConflictFile'
type: array
is_mergeable:
type: boolean
required:
- is_mergeable
- conflicts
- commits
type: object
StatusMessage:
properties:
oxen_version:
type:
- string
- 'null'
status:
type: string
status_message:
type: string
required:
- status
- status_message
type: object
MergeSuccessResponse:
allOf:
- $ref: '#/components/schemas/StatusMessage'
- properties:
commits:
$ref: '#/components/schemas/MergeResult'
required:
- commits
type: object
MergeableResponse:
allOf:
- $ref: '#/components/schemas/StatusMessage'
- $ref: '#/components/schemas/Mergeable'
MergeResult:
properties:
base:
$ref: '#/components/schemas/Commit'
head:
$ref: '#/components/schemas/Commit'
merge:
$ref: '#/components/schemas/Commit'
required:
- head
- base
- merge
type: object
MergeConflictFile:
properties:
path:
type: string
required:
- path
type: object
securitySchemes:
authorization:
scheme: bearer
type: http