Use the REST API to temporarily restrict which type of user can comment, open issues, or create pull requests in a public repository.
Who can use this feature?People with owner or admin access to temporarily restrict which type of user can comment, open issues, or create pull requests in a public repository.
About repository interactionsPeople with owner or admin access can use the REST API to temporarily restrict which type of user can comment, open issues, or create pull requests in a public repository. When restrictions are enabled, only the specified type of GitHub user will be able to participate in interactions. Restrictions automatically expire after a defined duration. Here's more about the types of GitHub users:
existing_users
, new users with accounts less than 24 hours old who have not previously contributed and are not collaborators will be temporarily restricted in the repository.contributors_only
, users who have not previously contributed and are not collaborators will be temporarily restricted in the repository.collaborators_only
, users who are not collaborators will be temporarily restricted in the repository.If an interaction limit is enabled for the user or organization that owns the repository, the limit cannot be changed for the individual repository. Instead, use the User or Organization interactions endpoints to change the interaction limit.
Get interaction restrictions for a repository Code samples for "Get interaction restrictions for a repository"If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
get/repos/{owner}/{repo}/interaction-limits
Copy to clipboard curl request example
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/interaction-limits
Response
Status: 200
{ "limit": "collaborators_only", "origin": "repository", "expires_at": "2018-08-17T04:18:39Z" }
Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a 409 Conflict
response and will not be able to use this endpoint to change the interaction limit for a single repository.
This endpoint works with the following fine-grained token types:
The fine-grained token must have the following permission set:
accept
string
Setting to application/vnd.github+json
is recommended.
owner
string Required
The account owner of the repository. The name is not case sensitive.
repo
string Required
The name of the repository without the .git
extension. The name is not case sensitive.
limit
string Required
The type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect.
Can be one of: existing_users
, contributors_only
, collaborators_only
expiry
string
The duration of the interaction restriction. Default: one_day
.
Can be one of: one_day
, three_days
, one_week
, one_month
, six_months
200
OK
409
Conflict
Code samples for "Set interaction restrictions for a repository"If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
put/repos/{owner}/{repo}/interaction-limits
Copy to clipboard curl request example
curl -L \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/interaction-limits \ -d '{"limit":"collaborators_only","expiry":"one_day"}'
Response
Status: 200
{ "limit": "collaborators_only", "origin": "repository", "expires_at": "2018-08-17T04:18:39Z" }
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4