Use the REST API to temporarily restrict which type of user can comment, open issues, or create pull requests in your public repositories.
You can use the REST API to temporarily restrict which type of user can comment, open issues, or create pull requests on your public repositories. 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 from interacting with your repositories.contributors_only, users who have not previously contributed and are not collaborators will be temporarily restricted from interacting with your repositories.collaborators_only, users who are not collaborators will be temporarily restricted from interacting with your repositories.Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. To set different interaction limits for individual repositories owned by the user, use the Repository interactions endpoints instead.
Note
Most endpoints use Authorization: Bearer <YOUR-TOKEN> and Accept: application/vnd.github+json headers, plus X-GitHub-Api-Version: 2026-03-10. Curl examples below omit these standard headers for brevity.
GET /user/interaction-limits
Shows which type of GitHub user can interact with your public repositories and when the restriction expires.
200 - Default response
204 - Response when there are no restrictions
Request:
curl -L \
-X GET \
https://api.github.com/user/interaction-limits
Response schema (Status: 200):
limit: required, string, enum: existing_users, contributors_only, collaborators_onlyorigin: required, stringexpires_at: required, string, format: date-timePUT /user/interaction-limits
Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user.
accept (string)application/vnd.github+json is recommended.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
422 - Validation failed, or the endpoint has been spammed.
Request:
curl -L \
-X PUT \
https://api.github.com/user/interaction-limits \
-d '{
"limit": "collaborators_only",
"expiry": "one_month"
}'
Response schema (Status: 200):
limit: required, string, enum: existing_users, contributors_only, collaborators_onlyorigin: required, stringexpires_at: required, string, format: date-timeDELETE /user/interaction-limits
Removes any interaction restrictions from your public repositories.
Request:
curl -L \
-X DELETE \
https://api.github.com/user/interaction-limits
Response schema (Status: 204):