Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.
The REST API is now versioned. For more information, see "About API versioning."

Interações de repositório

Use a API REST para restringir temporariamente o tipo de usuário que pode comentar, abrir problemas ou criar solicitações de pull em um repositório público.

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.

Sobre as interações de repositório

As pessoas com acesso de proprietário ou administrador podem usar a API REST para restringir temporariamente qual tipo de usuário pode comentar, abrir problemas ou criar solicitações de pull em um repositório público. Quando as restrições são habilitadas, apenas o tipo especificado de usuário de GitHub poderá participar das interações. As restrições expiram automaticamente após uma duração definida. Veja mais sobre os tipos de usuários de GitHub:

  • Usuários existentes: quando você limita as interações a existing_users, os novos usuários que têm contas com menos de 24 horas, que ainda não contribuíram e que não são colaboradores ficarão temporariamente restritos in the respository.
  • Somente colaboradores: quando você limitar as interações aos contributors_only, os usuários que ainda não contribuíram e que não são colaboradores ficarão temporariamente restritos in the respository.
  • Somente colaboradores: quando você limita as interações com collaborators_only, os usuários que não são colaboradores são temporariamente restringidos de interagir in the respository.

Se um limite de interação for habilitado para o usuário ou organização proprietária do repositório, o limite não poderá ser alterado para o repositório individual. Em vez disso, use os pontos de extremidade de interações de Usuário ou Organização para alterar o limite de interação.

Get interaction restrictions for a repository

Works with GitHub Apps

Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response.

Parameters for "Get interaction restrictions for a repository"

Headers
Name, Type, Description
acceptstring

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

Path parameters
Name, Type, Description
ownerstringRequired

The account owner of the repository. The name is not case sensitive.

repostringRequired

The name of the repository. The name is not case sensitive.

HTTP response status codes for "Get interaction restrictions for a repository"

Status codeDescription
200

OK

Code samples for "Get interaction restrictions for a repository"

get/repos/{owner}/{repo}/interaction-limits
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" }

Set interaction restrictions for a repository

Works with GitHub Apps

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.

Parameters for "Set interaction restrictions for a repository"

Headers
Name, Type, Description
acceptstring

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

Path parameters
Name, Type, Description
ownerstringRequired

The account owner of the repository. The name is not case sensitive.

repostringRequired

The name of the repository. The name is not case sensitive.

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 for "Set interaction restrictions for a repository"

Status codeDescription
200

OK

409

Conflict

Code samples for "Set interaction restrictions for a repository"

put/repos/{owner}/{repo}/interaction-limits
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" }

Remove interaction restrictions for a repository

Works with GitHub Apps

Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the 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.

Parameters for "Remove interaction restrictions for a repository"

Headers
Name, Type, Description
acceptstring

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

Path parameters
Name, Type, Description
ownerstringRequired

The account owner of the repository. The name is not case sensitive.

repostringRequired

The name of the repository. The name is not case sensitive.

HTTP response status codes for "Remove interaction restrictions for a repository"

Status codeDescription
204

No Content

409

Conflict

Code samples for "Remove interaction restrictions for a repository"

delete/repos/{owner}/{repo}/interaction-limits
curl -L \ -X DELETE \ -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: 204