A branch is a workspace for your content. Each repository supports one or more branches. You basically create all of your content items in a branch. This includes articles, blog posts, new items, documents, Office files, PDFs, etc. You name it. They go into a branch.
You can have as many branches as you want. Each branch is a completely isolated workspace. Thus, you can create your own branch for your own projects. You can work on those projects and when you're happy with it, you can share it with the rest of the team.
Or, you can create a branch and invite a bunch of people to work with you. They're your own workspaces. You can play with them however you want.
Changesets and Branches
You can think of a branch in the same way as you might think of the tree of a branch. Like that old Maple tree in the backyard when you were a kid. Remember that tree? You used to climb it. Then one day, you fell out of it and now, pretty much, that's all you hear about when you go home for family reunions.
Anyway, yeah, so a branch is like a tree branch. Each tree branch stems from a previous branch. And branches are made up of changesets.
A changeset is a bit like a layer from a transparency. When you write content into a branch, it goes onto a new changeset. Every time you make a change, like when you update something or delete something, it also goes onto a new changeset. And so, in this way, branches grow in length.
Branches also maintain a "tip" view which is the sum total of all changes, creates, updates and deletes that you make while working with the branch. Thus, at all times, the full "changeset history" of everything you've done is maintained but so is a "tip" view that gives you a real-time view of what is effectively a top-most version of all your content.
Note
Drop in one of our language drivers to accelerate your development. Here are links to some of our popular Cookbooks to help you get started!
Merges a source branch into a target branch. The source branch is specified using the 'id' parameter. The target branch is the branch identified by the resource path.
Merges a source branch into a target branch. The source branch is specified using the 'id' parameter. The target branch is the branch identified by the resource path.
POST /repositories/{repositoryId}/branches/{branchId}/merge
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
The ID of the branch
id
true
string
Response
{}
Network
POST /repositories/{repositoryId}/branches/network
Parameters
Name
Required
Type
Description
repositoryId
true
string
workspace
true
string
Response
{}
Nodediffs
GET /repositories/{repositoryId}/branches/{branchId}/history/nodediffs
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
root
false
string
tip
false
string
include_root
false
string
Response
{}
Policies
GET /repositories/{repositoryId}/branches/{branchId}/policies
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
containerOnly
false
string
Response
{}
Promote
POST /repositories/{repositoryId}/branches/{branchId}/admin/promote
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
The ID of the branch
Response
{}
Properties
GET /repositories/{repositoryId}/branches/{branchId}/properties
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
excludeSystem
true
boolean
Response
{}
Queries for Branch
Queries for instances of type Branch
POST /repositories/{repositoryId}/branches/query
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
sort
false
object
Defines how to sort fields in the result set
skip
false
number
Skips the result set cursor ahead the specified number of records
limit
false
number
Specifies the number of records to be handed back in the result set
POST /repositories/{repositoryId}/branches/{branchId}/rebase/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
The ID of the branch
id
true
string
Response
{}
Refreshtype
POST /repositories/{repositoryId}/branches/{branchId}/admin/refreshtype
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
type
true
string
Response
{}
Remove Team Member
Remove a principal from a team's membership list
POST /repositories/{repositoryId}/branches/{branchId}/teams/{teamKey}/members/remove
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
teamKey
true
string
id
true
string
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Repair
POST /repositories/{repositoryId}/admin/dictionary/repair
Parameters
Name
Required
Type
Description
repositoryId
true
string
delete
false
string
Response
{}
Repair
POST /repositories/{repositoryId}/branches/{branchId}/admin/dictionary/repair
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
Response
{}
Repair
POST /repositories/{repositoryId}/b/{branchId}/admin/dictionary/repair
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
Response
{}
Repairkb
POST /repositories/{repositoryId}/branches/{branchId}/admin/repairkb
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
The ID of the branch
refresh
false
string
Response
{}
Reset
POST /repositories/{repositoryId}/branches/{branchId}/admin/reset
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
Response
{}
Resets the branch to a given prior changeset. This moves the branch head back to the given changeset and deletes the changesets that would otherwise now be dangling. The prior changeset must exist on the branch.
Resets the branch to a given prior changeset. This moves the branch head back to the given changeset and deletes the changesets that would otherwise now be dangling. The prior changeset must exist on the branch.
POST /repositories/{repositoryId}/branches/{branchId}/reset/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
The ID of the branch
id
true
string
Response
{}
Revert
POST /repositories/{repositoryId}/branches/{branchId}/changes/revert
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
Response
{}
Revert
POST /repositories/{repositoryId}/b/{branchId}/changes/revert
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
Response
{}
Reverts the branch to a given prior changeset. This creates a new changeset whose contents restore the state from a previous changeset. The delta between the prior changeset and the tip is calculated and content operations are performed to effectively restore the prior tip state. The prior changeset must exist on the branch.
Reverts the branch to a given prior changeset. This creates a new changeset whose contents restore the state from a previous changeset. The delta between the prior changeset and the tip is calculated and content operations are performed to effectively restore the prior tip state. The prior changeset must exist on the branch.
POST /repositories/{repositoryId}/branches/{branchId}/revert/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
The ID of the branch
id
true
string
Response
{}
Revoke Authority
Revokes an authority against the specified branch from a given user
POST /repositories/{repositoryId}/branches/{branchId}/authorities/{authorityId}/revoke
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
authorityId
true
string
id
true
string
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Revoke Authority from Team
Revokes an Authority from a Team for the given branch
POST /repositories/{repositoryId}/branches/{branchId}/teams/{teamKey}/authorities/{authorityId}/revoke
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
teamKey
true
string
authorityId
true
string
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Schemas
GET /repositories/{repositoryId}/branches/{branchId}/schemas
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
Response
{}
Schemas
GET /repositories/{repositoryId}/b/{branchId}/schemas
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
Response
{}
Snapshots
POST /repositories/{repositoryId}/snapshots
Parameters
Name
Required
Type
Description
repositoryId
true
string
changeset
true
string
Response
{}
Snapshots
GET /repositories/{repositoryId}/snapshots
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
Response
{}
Start
POST /repositories/{repositoryId}/branches/{branchId}/search/index/validate/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
repair
false
string
Response
{}
Start
POST /repositories/{repositoryId}/branches/{branchId}/repair/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
commit
false
string
Response
{}
Start
POST /repositories/{repositoryId}/branches/{branchId}/nodes/recreatefilenames/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
Response
{}
Start
POST /repositories/{repositoryId}/branches/{branchId}/search/index/create/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
Response
{}
Start
POST /repositories/{repositoryId}/branches/{branchId}/view/create/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
Response
{}
Start
POST /repositories/{repositoryId}/branches/create/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branch
true
string
changeset
false
string
Response
{}
Start
POST /repositories/{repositoryId}/branches/{branchId}/path/index/create/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
Response
{}
Start
POST /repositories/{repositoryId}/snapshots/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
changeset
true
string
Response
{}
Start
POST /repositories/{repositoryId}/branches/{branchId}/nodes/validate/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
Response
{}
Start
POST /repositories/{repositoryId}/branches/{branchId}/embeddings/index/drop/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
Response
{}
Start
POST /repositories/{repositoryId}/branches/{branchId}/cherrypick/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
Response
{}
Start
POST /repositories/{repositoryId}/branches/{branchId}/deployments/verification/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
state
true
string
Response
{}
Start
POST /repositories/{repositoryId}/branches/{branchId}/search/index/drop/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
Response
{}
Start
POST /repositories/{repositoryId}/branches/{branchId}/history/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
root
false
string
tip
false
string
include_root
false
string
view
false
string
Response
{}
Start
POST /repositories/{repositoryId}/branches/{branchId}/embeddings/index/create/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
Response
{}
Start
POST /repositories/{repositoryId}/branches/{branchId}/copyfrom/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
id
true
string
Response
{}
Start
POST /repositories/{repositoryId}/branches/{branchId}/path/index/validate/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
repair
false
string
Response
{}
Starts a job to find all the changes made in one branch that would be applied during a merge. The source branch is specified using the 'id' parameter. The target branch is the branch identified by the resource path. A view can be applied using the 'view' parameter (valid value is 'editorial').
Starts a job to find all the changes made in one branch that would be applied during a merge. The source branch is specified using the 'id' parameter. The target branch is the branch identified by the resource path. A view can be applied using the 'view' parameter (valid value is 'editorial').
POST /repositories/{repositoryId}/branches/{branchId}/changes/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
id
true
string
view
false
string
filter
false
string
source
false
string
target
false
string
force
false
string
Response
{}
Starts an export job for this resource
Starts an export job for this resource
POST /repositories/{repositoryId}/branches/{branchId}/export
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
groupId
false
string
The Group ID to be assigned to the exported archive
artifactId
false
string
The Artifact ID to be assigned to the exported archive
versionId
false
string
The Version ID to be assigned to the exported archive
vaultId
false
string
The ID of the vault where the exported archive should be saved
schedule
false
string
Whether to run the job immediately or in the background (either 'synchronous' or 'asynchronous')
Starts the diff-ing of a source and target branch. The source branch is specified using the 'id' parameter. The target branch is the branch identified by the resource path.
Starts the diff-ing of a source and target branch. The source branch is specified using the 'id' parameter. The target branch is the branch identified by the resource path.
POST /repositories/{repositoryId}/branches/{branchId}/diff/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
id
true
string
Response
{}
Starts the merging of a source branch into a target branch. The source branch is specified using the 'id' parameter. The target branch is the branch identified by the resource path.
Starts the merging of a source branch into a target branch. The source branch is specified using the 'id' parameter. The target branch is the branch identified by the resource path.
POST /repositories/{repositoryId}/branches/{branchId}/merge/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
branchId
true
string
The ID of the branch
id
true
string
dryRun
false
boolean
Response
{}
Summarize Access Policy
Retrieves an access policy summary for a Team on the given branch
GET /repositories/{repositoryId}/branches/{branchId}/teams/{teamKey}/access/policies/summary