---
title: "Add app access restrictions"
method: POST
path: "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"
tags: ["repos"]
---

# Add app access restrictions

`POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps`

Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.

Grants the specified apps push access for this branch. Only GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch.

## Path parameters

- `owner` string, required
- `repo` string, required
- `branch` string, required

## Request body

- object
  - `apps` string[], required — The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items.

## Response `200`

Response

- Integration[]
  - `id` integer, required — Unique identifier of the GitHub app
  - `slug` string — The slug name of the GitHub app
  - `node_id` string, required
  - `client_id` string
  - `owner` union, required
    - SimpleUser — A GitHub user.
      - `name` string, nullable
      - `email` string, nullable
      - `login` string, required
      - `id` integer, required
      - `node_id` string, required
      - `avatar_url` string, uri, required
      - `gravatar_id` string, nullable, required
      - `url` string, uri, required
      - `html_url` string, uri, required
      - `followers_url` string, uri, required
      - `following_url` string, required
      - `gists_url` string, required
      - `starred_url` string, required
      - `subscriptions_url` string, uri, required
      - `organizations_url` string, uri, required
      - `repos_url` string, uri, required
      - `events_url` string, required
      - `received_events_url` string, uri, required
      - `type` string, required
      - `site_admin` boolean, required
      - `starred_at` string
      - `user_view_type` string
    - Enterprise — An enterprise on GitHub.
      - `description` string, nullable — A short description of the enterprise.
      - `html_url` string, uri, required
      - `website_url` string, uri, nullable — The enterprise's website URL.
      - `id` integer, required — Unique identifier of the enterprise
      - `node_id` string, required
      - `name` string, required — The name of the enterprise.
      - `slug` string, required — The slug url identifier for the enterprise.
      - `created_at` string, date-time, nullable, required
      - `updated_at` string, date-time, nullable, required
      - `avatar_url` string, uri, required
  - `name` string, required — The name of the GitHub app
  - `description` string, nullable, required
  - `external_url` string, uri, required
  - `html_url` string, uri, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `permissions` object, required — The set of permissions for the GitHub app
    - `issues` string
    - `checks` string
    - `metadata` string
    - `contents` string
    - `deployments` string
  - `events` string[], required — The list of events for the GitHub app. Note that the `installation_target`, `security_advisory`, and `meta` events are not included because they are global events and not specific to an installation.
  - `installations_count` integer — The number of installations associated with the GitHub app. Only returned when the integration is requesting details about itself.

## Other responses

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

---

[API](https://skmtc.net/github/apis/api-github-com.md) · [All operations](https://skmtc.net/github/apis/api-github-com/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/github/api-github-com/revisions/a367f7028301/schema)
