Skip to content

Get the branching model for a repository

GET
/repositories/{workspace}/{repo_slug}/branching-model

Return the branching model as applied to the repository. This view is read-only. The branching model settings can be changed using the settings API.

The returned object:

  1. Always has a development property. development.branch contains the actual repository branch object that is considered to be the development branch. development.branch will not be present if it does not exist.
  2. Might have a production property. production will not be present when production is disabled. production.branch contains the actual branch object that is considered to be the production branch. production.branch will not be present if it does not exist.
  3. Always has a branch_types array which contains all enabled branch types.
repo_slug
required
string

This can either be the repository slug or the UUID of the repository, surrounded by curly-braces, for example: {repository UUID}.

workspace
required
string

This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example: {workspace UUID}.

The branching model object

Media type application/json
object
type
required
string
branch_types

The active branch types.

Array<object>
0 <= 4 items unique items
object
kind
required

The kind of branch.

string
Allowed values: feature bugfix release hotfix
prefix
required

The prefix for this branch type. A branch with this prefix will be classified as per kind. The prefix must be a valid prefix for a branch and must always exist. It cannot be blank, empty or null.

string
development
object
branch
object
type
required
string
links
object
self
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
commits
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
html
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
name

The name of the ref.

string
target
object
type
required
string
hash
string
/[0-9a-f]{7,}?/
date
string format: date-time
author
object
type
required
string
raw

The raw author value from the repository. This may be the only value available if the author does not match a user in Bitbucket.

string
user
object
type
required
string
links
Account Links

Links related to an Account.

object
avatar
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
key
additional properties
any
created_on
string format: date-time
display_name
string
uuid
string
committer
object
type
required
string
raw

The raw committer value from the repository. This may be the only value available if the committer does not match a user in Bitbucket.

string
user
object
type
required
string
links
Account Links

Links related to an Account.

object
avatar
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
key
additional properties
any
created_on
string format: date-time
display_name
string
uuid
string
message
string
summary
object
raw

The text as it was typed by a user.

string
markup

The type of markup language the raw content is to be interpreted in.

string
Allowed values: markdown creole plaintext
html

The user’s content rendered as HTML.

string
parents
Array<object> recursive
repository
object
type
required
string
links
object
self
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
html
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
avatar
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
pullrequests
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
commits
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
forks
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
watchers
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
downloads
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
clone
Array<object>
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
hooks
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
uuid

The repository’s immutable id. This can be used as a substitute for the slug segment in URLs. Doing this guarantees your URLs will survive renaming of the repository by its owner, or even transfer of the repository to a different user.

string
full_name

The concatenation of the repository owner’s username and the slugified name, e.g. “evzijst/interruptingcow”. This is the same string used in Bitbucket URLs.

string
is_private
boolean
parent
object recursive
scm
string
Allowed values: git
owner
object
type
required
string
links
Account Links

Links related to an Account.

object
avatar
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
key
additional properties
any
created_on
string format: date-time
display_name
string
uuid
string
name
string
description
string
created_on
string format: date-time
updated_on
string format: date-time
size
integer
language
string
has_issues

The issue tracker for this repository is enabled. Issue Tracker features are not supported for repositories in workspaces administered through admin.atlassian.com.

boolean
has_wiki

The wiki for this repository is enabled. Wiki features are not supported for repositories in workspaces administered through admin.atlassian.com.

boolean
fork_policy

Controls the rules for forking this repository.

  • allow_forks: unrestricted forking
  • no_public_forks: restrict forking to private forks (forks cannot be made public later)
  • no_forks: deny all forking
string
Allowed values: allow_forks no_public_forks no_forks
project
object
type
required
string
links
object
html
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
avatar
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
uuid

The project’s immutable id.

string
key

The project’s key.

string
owner
object
type
required
string
links
Account Links

Links related to an Account.

object
avatar
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
key
additional properties
any
created_on
string format: date-time
display_name
string
uuid
string
links
object
avatar
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
self
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
html
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
members
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
projects
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
repositories
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
name

The name of the project.

string
description
string
is_private

Indicates whether the project is publicly accessible, or whether it is private to the team and consequently only visible to team members. Note that private projects cannot contain public repositories.

boolean
created_on
string format: date-time
updated_on
string format: date-time
has_publicly_visible_repos

Indicates whether the project contains publicly visible repositories. Note that private projects cannot contain public repositories.

boolean
mainbranch
object recursive
participants
Array
0
object
type
required
string
user
object
type
required
string
links
Account Links

Links related to an Account.

object
avatar
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
key
additional properties
any
created_on
string format: date-time
display_name
string
uuid
string
role
string
Allowed values: PARTICIPANT REVIEWER
approved
boolean
state
string
Allowed values: approved changes_requested
participated_on

The ISO8601 timestamp of the participant’s action. For approvers, this is the time of their approval. For commenters and pull request reviewers who are not approvers, this is the time they last commented, or null if they have not commented.

string format: date-time
merge_strategies

Available merge strategies for pull requests targeting this branch.

Array<string>
Allowed values: merge_commit squash fast_forward squash_fast_forward rebase_fast_forward rebase_merge
default_merge_strategy

The default merge strategy for pull requests targeting this branch.

string
name
required

Name of the target branch. Will be listed here even when the target branch does not exist. Will be null if targeting the main branch and the repository is empty.

string
use_mainbranch
required

Indicates if the setting points at an explicit branch (false) or tracks the main branch (true).

boolean
production
object
branch
object
type
required
string
links
object
self
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
commits
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
html
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
name

The name of the ref.

string
target
object
type
required
string
hash
string
/[0-9a-f]{7,}?/
date
string format: date-time
author
object
type
required
string
raw

The raw author value from the repository. This may be the only value available if the author does not match a user in Bitbucket.

string
user
object
type
required
string
links
Account Links

Links related to an Account.

object
avatar
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
key
additional properties
any
created_on
string format: date-time
display_name
string
uuid
string
committer
object
type
required
string
raw

The raw committer value from the repository. This may be the only value available if the committer does not match a user in Bitbucket.

string
user
object
type
required
string
links
Account Links

Links related to an Account.

object
avatar
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
key
additional properties
any
created_on
string format: date-time
display_name
string
uuid
string
message
string
summary
object
raw

The text as it was typed by a user.

string
markup

The type of markup language the raw content is to be interpreted in.

string
Allowed values: markdown creole plaintext
html

The user’s content rendered as HTML.

string
parents
Array<object> recursive
repository
object
type
required
string
links
object
self
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
html
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
avatar
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
pullrequests
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
commits
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
forks
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
watchers
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
downloads
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
clone
Array<object>
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
hooks
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
uuid

The repository’s immutable id. This can be used as a substitute for the slug segment in URLs. Doing this guarantees your URLs will survive renaming of the repository by its owner, or even transfer of the repository to a different user.

string
full_name

The concatenation of the repository owner’s username and the slugified name, e.g. “evzijst/interruptingcow”. This is the same string used in Bitbucket URLs.

string
is_private
boolean
parent
object recursive
scm
string
Allowed values: git
owner
object
type
required
string
links
Account Links

Links related to an Account.

object
avatar
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
key
additional properties
any
created_on
string format: date-time
display_name
string
uuid
string
name
string
description
string
created_on
string format: date-time
updated_on
string format: date-time
size
integer
language
string
has_issues

The issue tracker for this repository is enabled. Issue Tracker features are not supported for repositories in workspaces administered through admin.atlassian.com.

boolean
has_wiki

The wiki for this repository is enabled. Wiki features are not supported for repositories in workspaces administered through admin.atlassian.com.

boolean
fork_policy

Controls the rules for forking this repository.

  • allow_forks: unrestricted forking
  • no_public_forks: restrict forking to private forks (forks cannot be made public later)
  • no_forks: deny all forking
string
Allowed values: allow_forks no_public_forks no_forks
project
object
type
required
string
links
object
html
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
avatar
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
uuid

The project’s immutable id.

string
key

The project’s key.

string
owner
object
type
required
string
links
Account Links

Links related to an Account.

object
avatar
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
key
additional properties
any
created_on
string format: date-time
display_name
string
uuid
string
links
object
avatar
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
self
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
html
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
members
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
projects
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
repositories
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
name

The name of the project.

string
description
string
is_private

Indicates whether the project is publicly accessible, or whether it is private to the team and consequently only visible to team members. Note that private projects cannot contain public repositories.

boolean
created_on
string format: date-time
updated_on
string format: date-time
has_publicly_visible_repos

Indicates whether the project contains publicly visible repositories. Note that private projects cannot contain public repositories.

boolean
mainbranch
object recursive
participants
Array
0
object
type
required
string
user
object
type
required
string
links
Account Links

Links related to an Account.

object
avatar
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
key
additional properties
any
created_on
string format: date-time
display_name
string
uuid
string
role
string
Allowed values: PARTICIPANT REVIEWER
approved
boolean
state
string
Allowed values: approved changes_requested
participated_on

The ISO8601 timestamp of the participant’s action. For approvers, this is the time of their approval. For commenters and pull request reviewers who are not approvers, this is the time they last commented, or null if they have not commented.

string format: date-time
merge_strategies

Available merge strategies for pull requests targeting this branch.

Array<string>
Allowed values: merge_commit squash fast_forward squash_fast_forward rebase_fast_forward rebase_merge
default_merge_strategy

The default merge strategy for pull requests targeting this branch.

string
name
required

Name of the target branch. Will be listed here even when the target branch does not exist. Will be null if targeting the main branch and the repository is empty.

string
use_mainbranch
required

Indicates if the setting points at an explicit branch (false) or tracks the main branch (true).

boolean
Examples
Example response
{
"development": {
"name": "master",
"branch": {
"type": "branch",
"name": "master",
"target": {
"hash": "16dffcb0de1b22e249db6799532074cf32efe80f"
}
},
"use_mainbranch": true
},
"production": {
"name": "production",
"branch": {
"type": "branch",
"name": "production",
"target": {
"hash": "16dffcb0de1b22e249db6799532074cf32efe80f"
}
},
"use_mainbranch": false
},
"branch_types": [
{
"kind": "release",
"prefix": "release/"
},
{
"kind": "hotfix",
"prefix": "hotfix/"
},
{
"kind": "feature",
"prefix": "feature/"
},
{
"kind": "bugfix",
"prefix": "bugfix/"
}
],
"type": "branching_model",
"links": {
"self": {
"href": "https://api.bitbucket.org/.../branching-model"
}
}
}

If the request was not authenticated

Media type application/json
Error

Base type for most resource objects. It defines the common type element that identifies an object’s type. It also identifies the element as Swagger’s discriminator.

object
type
required
string
error
object
message
required
string
detail
string
data

Optional structured data that is endpoint-specific.

object
key
additional properties
any
key
additional properties
any
Example generated
{
"type": "example",
"error": {
"message": "example",
"detail": "example",
"data": {}
}
}

If the authenticated user does not have read access to the repository

Media type application/json
Error

Base type for most resource objects. It defines the common type element that identifies an object’s type. It also identifies the element as Swagger’s discriminator.

object
type
required
string
error
object
message
required
string
detail
string
data

Optional structured data that is endpoint-specific.

object
key
additional properties
any
key
additional properties
any
Example generated
{
"type": "example",
"error": {
"message": "example",
"detail": "example",
"data": {}
}
}

If the repository does not exist

Media type application/json
Error

Base type for most resource objects. It defines the common type element that identifies an object’s type. It also identifies the element as Swagger’s discriminator.

object
type
required
string
error
object
message
required
string
detail
string
data

Optional structured data that is endpoint-specific.

object
key
additional properties
any
key
additional properties
any
Example generated
{
"type": "example",
"error": {
"message": "example",
"detail": "example",
"data": {}
}
}