# Конечные точки REST API для взаимодействия с пользователем

Используйте REST API для временного ограничения того, какой тип пользователя может комментировать, открывать проблемы или создавать запросы на вытягивание в общедоступных репозиториях.

## Сведения о взаимодействии пользователей

Rest API можно использовать для временного ограничения того, какой тип пользователя может комментировать, открывать проблемы или создавать запросы на вытягивание в общедоступных репозиториях. Если ограничения включены, пользователь может участвовать в взаимодействии только с указанным типом GitHub . Срок действия ограничений автоматически истекает по истечении заданного периода. Ниже приведены дополнительные сведения о типах пользователей GitHub :

* **Существующие пользователи**. Когда вы ограничиваете взаимодействие до `existing_users`, к новым пользователям с созданными менее 24 часов назад учетными записями, которые ранее не внесли свой вклад и не являются участниками совместной работы, будут временно применены ограничения взаимодействие с вашими репозиториями.
* **Только участники:** когда вы ограничиваете взаимодействие до `contributors_only`, ко всем пользователям, которые ранее не внесли свой вклад и не являются участниками совместной работы, будут временно применены ограничения взаимодействие с вашими репозиториями.
* **Только участники совместной работы.** Когда вы ограничиваете взаимодействие до `collaborators_only`, к пользователям, которые не являются участниками совместной работы, будут временно применены ограничения взаимодействие с вашими репозиториями.

Установка ограничения взаимодействия на уровне пользователя перезапишет все ограничения взаимодействия, заданные для отдельных репозиториев, принадлежащих пользователю. Чтобы задать различные ограничения взаимодействия для отдельных репозиториев, принадлежащих пользователю, используйте конечные точки взаимодействия [репозитория](/ru/rest/interactions/repos).

> \[!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 interaction restrictions for your public repositories

```
GET /user/interaction-limits
```

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

### HTTP response status codes

* **200** - Default response

* **204** - Response when there are no restrictions

### Code examples

#### Example

**Request:**

```curl
curl -L \
  -X GET \
  https://api.github.com/user/interaction-limits
```

**Response schema (Status: 200):**

* any of:
  * **Interaction Limits**
    * `limit`: required, string, enum: `existing_users`, `contributors_only`, `collaborators_only`
    * `origin`: required, string
    * `expires_at`: required, string, format: date-time
  * **object**

## Set interaction restrictions for your public repositories

```
PUT /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.

### Parameters

#### Headers

* **`accept`** (string)
  Setting to `application/vnd.github+json` is recommended.

#### Body parameters

* **`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`

### HTTP response status codes

* **200** - OK

* **422** - Validation failed, or the endpoint has been spammed.

### Code examples

#### Example

**Request:**

```curl
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_only`
* `origin`: required, string
* `expires_at`: required, string, format: date-time

## Remove interaction restrictions from your public repositories

```
DELETE /user/interaction-limits
```

Removes any interaction restrictions from your public repositories.

### HTTP response status codes

* **204** - No Content

### Code examples

#### Example

**Request:**

```curl
curl -L \
  -X DELETE \
  https://api.github.com/user/interaction-limits
```

**Response schema (Status: 204):**