Skip to main content

User interactions

The User interactions API allows you to temporarily restrict which type of user can comment, open issues, or create pull requests on your public repositories.

About the User interactions API

The User interactions API allows you 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 Enterprise Cloud user will be able to participate in interactions. Restrictions automatically expire after a defined duration. Here's more about the types of GitHub Enterprise Cloud users:

  • Existing users: When you limit interactions to 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: When you limit interactions to contributors_only, users who have not previously contributed and are not collaborators will be temporarily restricted from interacting with your repositories.
  • Collaborators only: When you limit interactions to 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.

Get interaction restrictions for your public repositories

Shows which type of GitHub user can interact with your public repositories and when the restriction expires.

HTTP response status codes

Status codeDescription
200

Default response

204

Response when there are no restrictions

Code samples

get/user/interaction-limits
curl \ -H "Accept: application/vnd.github.v3+json" \ -H "Authorization: token <TOKEN>" \ https://api.github.com/user/interaction-limits

Default response

Status: 200
{ "limit": "collaborators_only", "origin": "organization", "expires_at": "2018-08-17T04:18:39Z" }

Set interaction restrictions for your public repositories

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.

Parameters

Headers
Name, Type, Description
acceptstring

Setting to application/vnd.github.v3+json is recommended.

Body parameters
Name, Type, Description
limitstringRequired

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

expirystring

The duration of the interaction restriction. Default: one_day.

Can be one of: one_day, three_days, one_week, one_month, six_months

HTTP response status codes

Status codeDescription
200

OK

422

Validation failed

Code samples

put/user/interaction-limits
curl \ -X PUT \ -H "Accept: application/vnd.github.v3+json" \ -H "Authorization: token <TOKEN>" \ https://api.github.com/user/interaction-limits

Response

Status: 200
{ "limit": "collaborators_only", "origin": "user", "expires_at": "2018-08-17T04:18:39Z" }

Remove interaction restrictions from your public repositories

Removes any interaction restrictions from your public repositories.

HTTP response status codes

Status codeDescription
204

No Content

Code samples

delete/user/interaction-limits
curl \ -X DELETE \ -H "Accept: application/vnd.github.v3+json" \ -H "Authorization: token <TOKEN>" \ https://api.github.com/user/interaction-limits

Response

Status: 204