# ユーザー操作用の REST API エンドポイント

REST API を使って、自分のパブリック リポジトリ内でコメントする、issue を開く、または pull request を作成することができるユーザーの種類を一時的に制限します。

## ユーザー操作について

REST API を使って、自分のパブリック リポジトリ内でコメントする、issue を開く、または pull request を作成することができるユーザーの種類を一時的に制限できます。 制限が有効化されると、指定した種類の GitHub ユーザーのみがインタラクションに参加できるようになります。 制限は、定義された期間の後に自動的に期限切れになります。 GitHub ユーザーのタイプについては以下を参照してください。

* **Existing users(既存のユーザー):** インタラクションを `existing_users` に制限すると、24 時間以下しか経過していないアカウントの新規ユーザーで、以前にコントリビューションしておらず、コラボレーターでもないユーザーは、一時的に制限されます。が自分のリポジトリの操作を制限されます。
* **Contributors only (共同作成者のみ):** 対話を `contributors_only` に制限すると、以前に投稿していない共同作成者ではないユーザーは一時的に制限されますが自分のリポジトリの操作を制限されます。
* **Collaborators only(コラボレーターのみ):** インタラクションを `collaborators_only` に制限すると、コラボレーターではないユーザーは一時的に制限されますが自分のリポジトリの操作を制限されます。

ユーザレベルでインタラクション制限を設定すると、ユーザが所有する個々のリポジトリに設定されているインタラクション制限は上書きされます。 ユーザーが所有する個々のリポジトリに対して異なるインタラクション制限を設定するには、代わりに[リポジトリ](/ja/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):**