The name of the branch.
Set user access restrictions
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people.
Type | Description |
---|---|
array |
Usernames for people who can have push access. Note: The list of users, apps, and teams in total is limited to 100 items. |
Path Parameters
Body
application/json
Body
One Of
users parameter
Response
application/json
Response
Response
Simple User
Example:octocat
Example:1
Example:MDQ6VXNlcjE=
Example:https://github.com/images/error/octocat_happy.gif
Example:41d064eb2195891e12d0413f63227ea7
Example:https://api.github.com/users/octocat
Example:https://github.com/octocat
Example:https://api.github.com/users/octocat/followers
Example:https://api.github.com/users/octocat/following{/other_user}
Example:https://api.github.com/users/octocat/gists{/gist_id}
Example:https://api.github.com/users/octocat/starred{/owner}{/repo}
Example:https://api.github.com/users/octocat/subscriptions
Example:https://api.github.com/users/octocat/orgs
Example:https://api.github.com/users/octocat/repos
Example:https://api.github.com/users/octocat/events{/privacy}
Example:https://api.github.com/users/octocat/received_events
Example:User
Example:"2020-07-09T00:17:55Z"
Path Parameters
Body
Remove user access restrictions
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s products in the GitHub Help documentation.
Removes the ability of a user to push to this branch.
Type | Description |
---|---|
array |
Usernames of the people who should no longer have push access. Note: The list of users, apps, and teams in total is limited to 100 items. |
Path Parameters
The name of the branch.
Body
application/json
Body
One Of
users parameter
Response
application/json
Response
Response
Simple User
Example:octocat
Example:1
Example:MDQ6VXNlcjE=
Example:https://github.com/images/error/octocat_happy.gif
Example:41d064eb2195891e12d0413f63227ea7
Example:https://api.github.com/users/octocat
Example:https://github.com/octocat
Example:https://api.github.com/users/octocat/followers
Example:https://api.github.com/users/octocat/following{/other_user}
Example:https://api.github.com/users/octocat/gists{/gist_id}
Example:https://api.github.com/users/octocat/starred{/owner}{/repo}
Example:https://api.github.com/users/octocat/subscriptions
Example:https://api.github.com/users/octocat/orgs
Example:https://api.github.com/users/octocat/repos
Example:https://api.github.com/users/octocat/events{/privacy}
Example:https://api.github.com/users/octocat/received_events
Example:User
Example:"2020-07-09T00:17:55Z"
Path Parameters
Body
List repository collaborators
For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners.
Team members will include the members of child teams.
You must authenticate using an access token with the read:org
and repo
scopes with push access to use this
endpoint. GitHub Apps must have the members
organization permission and metadata
repository permission to use this
endpoint.
Query Parameters
Filter collaborators returned by their affiliation. Can be one of:
* outside
: All outside collaborators of an organization-owned repository.
* direct
: All collaborators with permissions to an organization-owned repository, regardless of organization membership status.
* all
: All collaborators the authenticated user can see.
Allowed values:outsidedirectall
Default:all
Results per page (max 100)
Default:30
Page number of the results to fetch.
Default:1
Path Parameters
Response
application/json
Response
Response
Collaborator
Example:octocat
Example:1
Example:MDQ6VXNlcjE=
Example:https://github.com/images/error/octocat_happy.gif
Example:41d064eb2195891e12d0413f63227ea7
Example:https://api.github.com/users/octocat
Example:https://github.com/octocat
Example:https://api.github.com/users/octocat/followers
Example:https://api.github.com/users/octocat/following{/other_user}
Example:https://api.github.com/users/octocat/gists{/gist_id}
Example:https://api.github.com/users/octocat/starred{/owner}{/repo}
Example:https://api.github.com/users/octocat/subscriptions
Example:https://api.github.com/users/octocat/orgs
Example:https://api.github.com/users/octocat/repos
Example:https://api.github.com/users/octocat/events{/privacy}
Example:https://api.github.com/users/octocat/received_events
Example:User
Show Child Parameters
Path Parameters
Query Parameters
Check if a user is a repository collaborator
For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners.
Team members will include the members of child teams.
You must authenticate using an access token with the read:org
and repo
scopes with push access to use this
endpoint. GitHub Apps must have the members
organization permission and metadata
repository permission to use this
endpoint.
Path Parameters
Response
Response
Response if user is a collaborator
Path Parameters
Add a repository collaborator
This endpoint triggers notifications. Creating content too quickly using this endpoint may result in secondary rate limiting. See “Secondary rate limits” and “Dealing with secondary rate limits” for details.
For more information on permission levels, see “Repository permission levels for an organization”. There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the permission being given must be equal to or higher than the org base permission. Otherwise, the request will fail with:
Cannot assign {member} permission of {role name}
Note that, if you choose not to pass any parameters, you’ll need to set Content-Length
to zero when calling out to this endpoint. For more information, see “HTTP verbs.”
The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the repository invitations API endpoints.
Rate limits
You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository.
Path Parameters
Body
application/json
Body
The permission to grant the collaborator. Only valid on organization-owned repositories. Can be one of:
* pull
- can pull, but not push to or administer this repository.
* push
- can pull and push, but not administer this repository.
* admin
- can pull, push and administer this repository.
* maintain
- Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
* triage
- Recommended for contributors who need to proactively manage issues and pull requests without write access.
Allowed values:pullpushadminmaintaintriage
Default:push
Example:"push"
Response
application/json
Response
Response when a new invitation is created
Repository Invitation
Repository invitations let you manage who you collaborate with.
Unique identifier of the repository invitation.
Example:42
Minimal Repository
Show Child Parameters
Simple User
Show Child Parameters
Simple User
Show Child Parameters
The permission associated with the invitation.
Allowed values:readwriteadmintriagemaintain
Example:read
Example:2016-06-13T14:52:50-05:00
Whether or not the invitation has expired
URL for the repository invitation
Example:https://api.github.com/user/repository-invitations/1
Example:https://github.com/octocat/Hello-World/invitations