Use the REST API to manage which repositories Dependabot can access within an organization.
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.
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).
accept (string)application/vnd.github+json is recommended.enterprise (string) (required)
The slug version of the enterprise name.
page (integer)
The page number of results to fetch.
Default: 1
per_page (integer)
Number of results per page.
Default: 30
200 - OK
403 - Forbidden
404 - Resource not found
Request:
curl -L \
-X GET \
https://api.github.com/enterprises/ENTERPRISE/dependabot/repository-access
Response schema (Status: 200):
default_level: string or null, enum: public, internal, nullaccessible_repositories: array of items:
id: required, integer, format: int64node_id: required, stringname: required, stringfull_name: required, stringowner: required, Simple User:
name: string or nullemail: string or nulllogin: required, stringid: required, integer, format: int64node_id: required, stringavatar_url: required, string, format: urigravatar_id: required, string or nullurl: required, string, format: urihtml_url: required, string, format: urifollowers_url: required, string, format: urifollowing_url: required, stringgists_url: required, stringstarred_url: required, stringsubscriptions_url: required, string, format: uriorganizations_url: required, string, format: urirepos_url: required, string, format: urievents_url: required, stringreceived_events_url: required, string, format: uritype: required, stringsite_admin: required, booleanstarred_at: stringuser_view_type: stringprivate: required, booleanhtml_url: required, string, format: uridescription: required, string or nullfork: required, booleanurl: required, string, format: uriarchive_url: required, stringassignees_url: required, stringblobs_url: required, stringbranches_url: required, stringcollaborators_url: required, stringcomments_url: required, stringcommits_url: required, stringcompare_url: required, stringcontents_url: required, stringcontributors_url: required, string, format: urideployments_url: required, string, format: uridownloads_url: required, string, format: urievents_url: required, string, format: uriforks_url: required, string, format: urigit_commits_url: required, stringgit_refs_url: required, stringgit_tags_url: required, stringissue_comment_url: required, stringissue_events_url: required, stringissues_url: required, stringkeys_url: required, stringlabels_url: required, stringlanguages_url: required, string, format: urimerges_url: required, string, format: urimilestones_url: required, stringnotifications_url: required, stringpulls_url: required, stringreleases_url: required, stringstargazers_url: required, string, format: uristatuses_url: required, stringsubscribers_url: required, string, format: urisubscription_url: required, string, format: uritags_url: required, string, format: uriteams_url: required, string, format: uritrees_url: required, stringhooks_url: required, string, format: uriPATCH /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).
accept (string)application/vnd.github+json is recommended.enterprise (string) (required)repository_ids_to_add (array of integers)
List of repository IDs to add.
repository_ids_to_remove (array of integers)
List of repository IDs to remove.
204 - No Content
403 - Forbidden
404 - Resource not found
Request:
curl -L \
-X PATCH \
https://api.github.com/enterprises/ENTERPRISE/dependabot/repository-access
Response schema (Status: 204):
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).
accept (string)application/vnd.github+json is recommended.enterprise (string) (required)default_level (string) (required)public, internal204 - No Content
403 - Forbidden
404 - Resource not found
Request:
curl -L \
-X PUT \
https://api.github.com/enterprises/ENTERPRISE/dependabot/repository-access/default-level \
-d '{
"default_level": "public"
}'
Response schema (Status: 204):
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.
accept (string)application/vnd.github+json is recommended.org (string) (required)
The organization name. The name is not case sensitive.
page (integer)
The page number of results to fetch.
Default: 1
per_page (integer)
Number of results per page.
Default: 30
200 - OK
403 - Forbidden
404 - Resource not found
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.
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]
}
accept (string)application/vnd.github+json is recommended.org (string) (required)repository_ids_to_add (array of integers)
List of repository IDs to add.
repository_ids_to_remove (array of integers)
List of repository IDs to remove.
204 - No Content
403 - Forbidden
404 - Resource not found
Request:
curl -L \
-X PATCH \
https://api.github.com/orgs/ORG/dependabot/repository-access
Response schema (Status: 204):
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.
accept (string)application/vnd.github+json is recommended.org (string) (required)default_level (string) (required)public, internal204 - No Content
403 - Forbidden
404 - Resource not found
Request:
curl -L \
-X PUT \
https://api.github.com/orgs/ORG/dependabot/repository-access/default-level \
-d '{
"default_level": "public"
}'
Response schema (Status: 204):