Use the REST API to temporarily restrict which type of user can comment, open issues, or create pull requests in the organization's public repositories.
Organization owners can temporarily restrict which type of user can comment, open issues, or create pull requests in the organization's 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 in the organization.contributors_only, users who have not previously contributed and are not collaborators will be temporarily restricted in the organization.collaborators_only, users who are not collaborators will be temporarily restricted in the organization.Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. To set different interaction limits for individual repositories owned by the organization, 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 /orgs/{org}/interaction-limits
Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response.
accept (string)application/vnd.github+json is recommended.org (string) (required)Request:
curl -L \
-X GET \
https://api.github.com/orgs/ORG/interaction-limits
Response schema (Status: 200):
limit: required, string, enum: existing_users, contributors_only, collaborators_onlyorigin: required, stringexpires_at: required, string, format: date-timePUT /orgs/{org}/interaction-limits
Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization.
accept (string)application/vnd.github+json is recommended.org (string) (required)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/orgs/ORG/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 /orgs/{org}/interaction-limits
Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions.
accept (string)application/vnd.github+json is recommended.org (string) (required)Request:
curl -L \
-X DELETE \
https://api.github.com/orgs/ORG/interaction-limits
Response schema (Status: 204):
GET /orgs/{org}/interaction-limits/pulls/creation-cap
Gets the pull request creation cap configuration for an organization.
The cap limits the total number of open pull requests a user can have across all public
repositories in the organization at one time.
Only users with admin access to the organization can view the cap configuration.
accept (string)application/vnd.github+json is recommended.org (string) (required)200 - OK
403 - Forbidden
404 - Resource not found
405 - Method Not Allowed
Request:
curl -L \
-X GET \
https://api.github.com/orgs/ORG/interaction-limits/pulls/creation-cap
Response schema (Status: 200):
enabled: required, booleanmax_open_pull_requests: required, integer, minimum: 1, maximum: 1000include_drafts: booleanPATCH /orgs/{org}/interaction-limits/pulls/creation-cap
Updates the pull request creation cap for an organization. The cap limits the total number
of open pull requests a user can have across all public repositories in the organization
at one time.
Only users with admin access to the organization can configure the cap.
accept (string)application/vnd.github+json is recommended.org (string) (required)enabled (boolean) (required)
Whether the pull request creation cap is enabled
max_open_pull_requests (integer)
The maximum number of open pull requests a user can have at one time
include_drafts (boolean)
Whether draft pull requests count toward the pull request creation cap
200 - OK
403 - Forbidden
404 - Resource not found
405 - Method Not Allowed
422 - Validation failed, or the endpoint has been spammed.
Request:
curl -L \
-X PATCH \
https://api.github.com/orgs/ORG/interaction-limits/pulls/creation-cap \
-d '{
"enabled": true,
"max_open_pull_requests": 1,
"include_drafts": true
}'
Response schema (Status: 200):
Same response schema as Get pull request creation cap for an org.