# 사용자 상호 작용에 대한 REST API 엔드포인트

REST API를 사용하여 퍼블릭 리포지토리에서 댓글을 달거나, 이슈를 열거나, 끌어오기 요청을 만들 수 있는 사용자 유형을 일시적으로 제한합니다.

## 사용자 상호 작용 정보

REST API를 사용하여 퍼블릭 리포지토리에서 댓글을 달거나, 이슈를 열거나, 끌어오기 요청을 만들 수 있는 사용자 유형을 일시적으로 제한할 수 있습니다. 제한을 사용하도록 설정하면 지정된 유형의 GitHub 사용자만 상호 작용에 참여할 수 있습니다. 제한은 정의된 기간 후에 자동으로 만료됩니다. 다음은 GitHub 사용자 유형에 대한 더 많은 정보입니다.

* 리포지토리와 상호 작용하지 않는 **기존 사용자:** 상호 작용을 `existing_users`로 제한하면 이전에 기여하지 않고 협력자가 아니며 계정이 생성된 지 24시간 미만인 신규 사용자가 일시적으로 제한됩니다..
* 리포지토리와 상호 작용하지 않는 **기여자만:** 상호 작용을 `contributors_only`로 제한할 때 이전에 기여하지 않았으며 협력자도 아닌 사용자는 일시적으로 제한됩니다..
* 리포지토리와 상호 작용하지 않는 **협력자만 해당:** 상호 작용을 `collaborators_only`으로 제한하면 협력자가 아닌 사용자가 일시적으로 제한됩니다..

사용자 수준에서 상호 작용 제한을 설정하면 사용자가 소유한 개별 리포지토리에 대해 설정된 모든 상호 작용 제한을 덮어씁니다. 사용자 소유의 개별 리포지토리에 대해 서로 다른 상호 작용 제한을 설정하려면 [리포지토리](/ko/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):**