# Конечные точки 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 an organization

```
GET /orgs/{org}/interaction-limits
```

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

### Parameters

#### Headers

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

#### Path and query parameters

* **`org`** (string) (required)
  The organization name. The name is not case sensitive.

### HTTP response status codes

* **200** - OK

### Code examples

#### Example

**Request:**

```curl
curl -L \
  -X GET \
  https://api.github.com/orgs/ORG/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 an organization

```
PUT /orgs/{org}/interaction-limits
```

Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization.

### Parameters

#### Headers

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

#### Path and query parameters

* **`org`** (string) (required)
  The organization name. The name is not case sensitive.

#### 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/orgs/ORG/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 for an organization

```
DELETE /orgs/{org}/interaction-limits
```

Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions.

### Parameters

#### Headers

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

#### Path and query parameters

* **`org`** (string) (required)
  The organization name. The name is not case sensitive.

### HTTP response status codes

* **204** - No Content

### Code examples

#### Example

**Request:**

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

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

## Get pull request creation cap for an org

```
GET /orgs/{org}/interaction-limits/pulls/creation-cap
```

Gets the pull request creation cap configuration for an organization.
The cap limits the total number of open pull requests a user can have across all public
repositories in the organization at one time.
Only users with admin access to the organization can view the cap configuration.

### Parameters

#### Headers

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

#### Path and query parameters

* **`org`** (string) (required)
  The organization name. The name is not case sensitive.

### HTTP response status codes

* **200** - OK

* **403** - Forbidden

* **404** - Resource not found

* **405** - Method Not Allowed

### Code examples

#### Example

**Request:**

```curl
curl -L \
  -X GET \
  https://api.github.com/orgs/ORG/interaction-limits/pulls/creation-cap
```

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

* `enabled`: required, boolean
* `max_open_pull_requests`: required, integer, minimum: 1, maximum: 1000

## Update pull request creation cap for an org

```
PATCH /orgs/{org}/interaction-limits/pulls/creation-cap
```

Updates the pull request creation cap for an organization. The cap limits the total number
of open pull requests a user can have across all public repositories in the organization
at one time.
Only users with admin access to the organization can configure the cap.

### Parameters

#### Headers

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

#### Path and query parameters

* **`org`** (string) (required)
  The organization name. The name is not case sensitive.

#### Body parameters

* **`enabled`** (boolean) (required)
  Whether the pull request creation cap is enabled

* **`max_open_pull_requests`** (integer)
  The maximum number of open pull requests a user can have at one time

### HTTP response status codes

* **200** - OK

* **403** - Forbidden

* **404** - Resource not found

* **405** - Method Not Allowed

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

### Code examples

#### Example request body

**Request:**

```curl
curl -L \
  -X PATCH \
  https://api.github.com/orgs/ORG/interaction-limits/pulls/creation-cap \
  -d '{
  "enabled": true,
  "max_open_pull_requests": 1
}'
```

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

Same response schema as [Get pull request creation cap for an org](#get-pull-request-creation-cap-for-an-org).