REST API endpoints for Dependabot repository access

Use the REST API to manage which repositories Dependabot can access within an organization.

About Dependabot repository access

You can list repositories that Dependabot already has access to and set a default repository access level for Dependabot.

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.

Lists the repositories Dependabot can access in an enterprise

GET /enterprises/{enterprise}/dependabot/repository-access

Lists repositories that enterprise admins have allowed Dependabot to access when updating dependencies across organizations in the enterprise.
The authenticated user must be an enterprise owner to use this endpoint.
Note

The "Enterprise administration" fine-grained permission is not available to callers. To use this API, you must use an OAuth app token or a personal access token (classic).

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X GET \
  https://api.github.com/enterprises/ENTERPRISE/dependabot/repository-access

Response schema (Status: 200):

Updates Dependabot's repository access list for an enterprise

PATCH /enterprises/{enterprise}/dependabot/repository-access

Updates repositories according to the list of repositories that enterprise admins have given Dependabot access to when they've updated dependencies across organizations in the enterprise.
The authenticated user must be an enterprise owner to use this endpoint.
Example request body:
{
"repository_ids_to_add": [123, 456],
"repository_ids_to_remove": [789]
}

Note

The "Enterprise administration" fine-grained permission is not available to callers. To use this API, you must use an OAuth app token or a personal access token (classic).

Parameters

Headers

Path and query parameters

Body parameters

HTTP response status codes

Code examples

Example with a 'succeeded' status.

Request:

curl -L \
  -X PATCH \
  https://api.github.com/enterprises/ENTERPRISE/dependabot/repository-access

Response schema (Status: 204):

Set the default repository access level for Dependabot in an enterprise

PUT /enterprises/{enterprise}/dependabot/repository-access/default-level

Sets the default level of repository access Dependabot will have while performing an update across organizations in the enterprise. Available values are:

'public' - Dependabot will only have access to public repositories, unless access is explicitly granted to non-public repositories.
'internal' - Dependabot will only have access to public and internal repositories, unless access is explicitly granted to private repositories.

The authenticated user must be an enterprise owner to use this endpoint.
Note

The "Enterprise administration" fine-grained permission is not available to callers. To use this API, you must use an OAuth app token or a personal access token (classic).

Parameters

Headers

Path and query parameters

Body parameters

HTTP response status codes

Code examples

Example with a 'succeeded' status.

Request:

curl -L \
  -X PUT \
  https://api.github.com/enterprises/ENTERPRISE/dependabot/repository-access/default-level \
  -d '{
  "default_level": "public"
}'

Response schema (Status: 204):

Lists the repositories Dependabot can access in an organization

GET /orgs/{org}/dependabot/repository-access

Lists repositories that organization admins have allowed Dependabot to access when updating dependencies.
Note

This operation supports both server-to-server and user-to-server access.
Unauthorized users will not see the existence of this endpoint.

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X GET \
  https://api.github.com/orgs/ORG/dependabot/repository-access

Response schema (Status: 200):

Same response schema as Lists the repositories Dependabot can access in an enterprise.

Updates Dependabot's repository access list for an organization

PATCH /orgs/{org}/dependabot/repository-access

Updates repositories according to the list of repositories that organization admins have given Dependabot access to when they've updated dependencies.
Note

This operation supports both server-to-server and user-to-server access.
Unauthorized users will not see the existence of this endpoint.

OAuth app tokens and personal access tokens (classic) need the write:org scope to use this endpoint.
Example request body:
{
"repository_ids_to_add": [123, 456],
"repository_ids_to_remove": [789]
}

Parameters

Headers

Path and query parameters

Body parameters

HTTP response status codes

Code examples

Example with a 'succeeded' status.

Request:

curl -L \
  -X PATCH \
  https://api.github.com/orgs/ORG/dependabot/repository-access

Response schema (Status: 204):

Set the default repository access level for Dependabot

PUT /orgs/{org}/dependabot/repository-access/default-level

Sets the default level of repository access Dependabot will have while performing an update. Available values are:

'public' - Dependabot will only have access to public repositories, unless access is explicitly granted to non-public repositories.
'internal' - Dependabot will only have access to public and internal repositories, unless access is explicitly granted to private repositories.

Unauthorized users will not see the existence of this endpoint.
This operation supports both server-to-server and user-to-server access.
OAuth app tokens and personal access tokens (classic) need the write:org scope to use this endpoint.

Parameters

Headers

Path and query parameters

Body parameters

HTTP response status codes

Code examples

Example with a 'succeeded' status.

Request:

curl -L \
  -X PUT \
  https://api.github.com/orgs/ORG/dependabot/repository-access/default-level \
  -d '{
  "default_level": "public"
}'

Response schema (Status: 204):