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!
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Export Branch
Starts an export job for this resource
POST /repositories/{repositoryId}/branches/{branchId}/export
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
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')
Response
{
"type": "object",
"description": "Export Configuration",
"properties": {
"startDate": {
"type": "object",
"description": "Only include objects whose modification date is after this time (epoch millis). This is used for partial or rolling exports."
},
"endDate": {
"type": "object",
"description": "Only include objects whose modification date is before this time (epoch millis). This is used for partial or rolling exports."
},
"startChangeset": {
"type": "string",
"description": "Only include data that is relevant to changesets at or beyond the specified changeset."
},
"endChangeset": {
"type": "string",
"description": "Only include data that is relevant to changesets at or before the specified changeset."
},
"includeACLs": {
"type": "boolean",
"default": true,
"description": "Whether to include ACLs during export."
},
"includeTeams": {
"type": "boolean",
"default": true,
"description": "Whether to include Teams during export."
},
"includeActivities": {
"type": "boolean",
"default": true,
"description": "Whether to include Activities during export."
},
"includeBinaries": {
"type": "boolean",
"default": true,
"description": "Whether to include Binaries for data stores during export."
},
"includeAttachments": {
"type": "boolean",
"default": true,
"description": "Whether to include Attachments for Attachables during export."
},
"artifactDependencies": {
"type": "array",
"items": {
"type": "object"
}
},
"artifactIncludes": {
"type": "array",
"items": {
"type": "object"
}
},
"forceIncludes": {
"type": "boolean"
}
}
}
Export Changes
GET /repositories/{repositoryId}/branches/{branchId}/changes/export
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
id
true
string
view
false
string
Export Diff
GET /repositories/{repositoryId}/branches/{branchId}/diff/export
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
id
true
string
Find Branch Changes
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
The ID of the repository
branchId
true
string
The ID of the branch
id
true
string
The ID of the source branch. The target branch is the branch identified by the resource path.
view
false
string
A view to apply. The valid value is editorial.
filter
false
string
source
false
string
target
false
string
force
false
string
Generate Qnames
POST /repositories/{repositoryId}/branches/{branchId}/qnames/generate
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
Get Team
Retrieves a Team against the given branch
GET /repositories/{repositoryId}/branches/{branchId}/teams/{teamKey}
Grants an authority against the specified branch to a given user
POST /repositories/{repositoryId}/branches/{branchId}/authorities/{authorityId}/grant
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
authorityId
true
string
The ID or authority key for the authority
id
true
string
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Grant Authority to Team
Assigns an Authority to a Team for the given branch
POST /repositories/{repositoryId}/branches/{branchId}/teams/{teamKey}/authorities/{authorityId}/grant
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
teamKey
true
string
The key identifier for the team
authorityId
true
string
The ID or authority key for the authority
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Import Branch
Starts an import job for this resource
POST /repositories/{repositoryId}/branches/{branchId}/import
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
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')
Response
{
"type": "object",
"description": "Import Configuration",
"properties": {
"includeACLs": {
"type": "boolean",
"default": true,
"description": "Whether to include ACLs during import."
},
"includeTeams": {
"type": "boolean",
"default": true,
"description": "Whether to include Teams during import."
},
"includeActivities": {
"type": "boolean",
"default": true,
"description": "Whether to include Activities during import."
},
"includeBinaries": {
"type": "boolean",
"default": true,
"description": "Whether to include Binaries for data stores during import."
},
"includeAttachments": {
"type": "boolean",
"default": true,
"description": "Whether to include Attachments for Attachables during import."
},
"strategy": {
"type": "array",
"items": {
"type": "string"
},
"default": "CLONE",
"description": "Either CLONE or COPY_EVERYTHING. Use CLONE to keep the same IDs on import. Use COPY_EVERYTHING to generate all new IDs for all entries on every import."
},
"substitutions": {
"type": "string"
}
}
}
Index Search
GET /repositories/{repositoryId}/branches/{branchId}/search/index
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
Info Deployments
GET /repositories/{repositoryId}/branches/{branchId}/deployments/info
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
state
true
string
Invalidate Branch Changes
Invalidates any branch changes for the given branch
POST /repositories/{repositoryId}/branches/{branchId}/changes/invalidate
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
List Behaviors
GET /repositories/{repositoryId}/branches/{branchId}/behaviors
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
List Definitions
GET /repositories/{repositoryId}/branches/{branchId}/definitions
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
List Descendants
GET /repositories/{repositoryId}/branches/{branchId}/descendants
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
List Forks
GET /repositories/{repositoryId}/branches/{branchId}/forks
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
List Forms
GET /repositories/{repositoryId}/branches/{branchId}/forms
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
List Indexes
GET /repositories/{repositoryId}/branches/{branchId}/indexes
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
List Joins
GET /repositories/{repositoryId}/branches/{branchId}/joins
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
List Merge Conflict Branches
Gets the branches with which this branch has merge conflicts.
GET /repositories/{repositoryId}/branches/{branchId}/merges
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
mergeType
false
string
List Policies
GET /repositories/{repositoryId}/branches/{branchId}/policies
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
containerOnly
false
string
List 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
List Pull Sources
Finds the other branches from which a branch can safely pull from
GET /repositories/{repositoryId}/branches/{branchId}/pull/sources
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
all
false
string
List Schemas
GET /repositories/{repositoryId}/branches/{branchId}/schemas
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
List Snapshots
GET /repositories/{repositoryId}/snapshots
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
List Team Authorities
Retrieves a list of the authorities defined to be granted by a Team
GET /repositories/{repositoryId}/branches/{branchId}/teams/{teamKey}/authorities
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
The ID of the repository
branchId
true
string
The ID of the branch
id
true
string
The ID of the source branch. The target branch is the branch identified by the resource path.
Network Branches
POST /repositories/{repositoryId}/branches/network
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
workspace
true
string
Nodediffs History
GET /repositories/{repositoryId}/branches/{branchId}/history/nodediffs
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
root
false
string
tip
false
string
include_root
false
string
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
GET /repositories/{repositoryId}/branches/{branchId}/definitions/{qname}/children
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
qname
true
string
Read Conflicting Branche
GET /repositories/{repositoryId}/branches/{branchId}/conflicting
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
Read Definition
GET /repositories/{repositoryId}/branches/{branchId}/definitions/{qname}
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
qname
true
string
Read Document
GET /repositories/{repositoryId}/branches/{branchId}/search/index/documents/{docId}
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
docId
true
string
Read Info Branche
GET /repositories/{repositoryId}/branches/{branchId}/info
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
Read Qname
GET /repositories/{repositoryId}/branches/{branchId}/qnames/{qname}
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
qname
true
string
Read Schema
GET /repositories/{repositoryId}/branches/{branchId}/schemas/{qname}
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
qname
true
string
Read Snapshot
GET /repositories/{repositoryId}/snapshots/{snapshotId}
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
snapshotId
true
string
Read Tree Branche
GET /repositories/{repositoryId}/branches/{branchId}/tree
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
mode
false
string
archived
true
string
snapshots
true
string
releases
true
string
editorial
true
string
active
true
string
inactive
true
string
temporary
true
string
Rebase Branch
Rebases the branch to a different root changeset.
POST /repositories/{repositoryId}/branches/{branchId}/rebase/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
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
The ID of the repository
branchId
true
string
The ID of the branch
teamKey
true
string
The key identifier for the team
id
true
string
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Reset 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
The ID of the repository
branchId
true
string
The ID of the branch
id
true
string
Revert 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
The ID of the repository
branchId
true
string
The ID of the branch
id
true
string
Revert Changes
POST /repositories/{repositoryId}/branches/{branchId}/changes/revert
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
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
The ID of the repository
branchId
true
string
The ID of the branch
authorityId
true
string
The ID or authority key for the authority
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
The ID of the repository
branchId
true
string
The ID of the branch
teamKey
true
string
The key identifier for the team
authorityId
true
string
The ID or authority key for the authority
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Start Cherrypick
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
Start Copyfrom
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
Start Create
POST /repositories/{repositoryId}/branches/{branchId}/view/create/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
Start Create
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
Start Create
POST /repositories/{repositoryId}/branches/{branchId}/path/index/create/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
Start Create
POST /repositories/{repositoryId}/branches/{branchId}/search/index/create/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
Start Create
POST /repositories/{repositoryId}/branches/{branchId}/embeddings/index/create/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
Start Diff
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
The ID of the repository
branchId
true
string
The ID of the branch
id
true
string
The ID of the source branch. The target branch is the branch identified by the resource path.
Start Drop
POST /repositories/{repositoryId}/branches/{branchId}/embeddings/index/drop/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
Start Drop
POST /repositories/{repositoryId}/branches/{branchId}/search/index/drop/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
Start History
POST /repositories/{repositoryId}/branches/{branchId}/history/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
root
false
string
tip
false
string
include_root
false
string
view
false
string
Start Merge
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
The ID of the repository
branchId
true
string
The ID of the branch
id
true
string
The ID of the source branch. The target branch is the branch identified by the resource path.
dryRun
false
boolean
The merge runs as a background job. The response holds the job ID (_doc); poll the job to see when it completes and how the merge went.
Start Recreatefilenames
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
Start Repair
POST /repositories/{repositoryId}/branches/{branchId}/repair/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
commit
false
string
Start Snapshots
POST /repositories/{repositoryId}/snapshots/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
changeset
true
string
Start Validate
POST /repositories/{repositoryId}/branches/{branchId}/search/index/validate/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
repair
false
string
Start Validate
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
Start Validate
POST /repositories/{repositoryId}/branches/{branchId}/path/index/validate/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
repair
false
string
Start Verification
POST /repositories/{repositoryId}/branches/{branchId}/deployments/verification/start
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
state
true
string
Stats Diffs
POST /repositories/{repositoryId}/branches/{branchId}/diffs/stats
Parameters
Name
Required
Type
Description
repositoryId
true
string
The ID of the repository
branchId
true
string
The ID of the branch
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