Repository connections API
The repository connections API lets organization administrators list and inspect connected source control integrations. Repository connections provide a consistent representation across GitHub, GitHub Enterprise Server, Bitbucket Server, GitLab Self-Managed, Origin, and Code Storage connection types.
These endpoints are read-only and do not return credentials or other secret values. The endpoints require the read_organization_repository_connections OAuth scope and organization administrator access.
The Code Storage integration is in public preview. You can list and inspect Code Storage connections, but the repository listing endpoint does not support them.
Repository connection data model
List responses contain the following fields:
id |
Stable UUID for the repository connection |
|---|---|
type |
Connection type: github_app, github_code_access_app, github_enterprise_app, github_restricted_app, github_enterprise, bitbucket_server, gitlab_self_managed, cursor_origin_app, or code_storage
|
display_name |
Human-readable name for the connection |
url |
Canonical API URL for the repository connection |
Get responses also contain the following fields:
service_account |
Connected service account with its login, or null for host-only connections |
|---|---|
host |
Source control host details, or null when they are unavailable. Contains type and url. Depending on the provider, the host can also contain webhook_allowed_addresses, verify_server_cert, authentication_strategy, or proxy_auth_strategy
|
rate_limit |
Cached provider rate-limit details, or null when they are unavailable or do not apply. When present, contains limit, used, remaining, and reset_at
|
Bitbucket Server connections with multiple configured URLs return a comma-separated value in host.url.
List repository connections
Returns an unpaginated list of repository connections for an organization.
curl -H "Authorization: Bearer $TOKEN" \
-X GET "https://api.buildkite.com/v2/organizations/{org.slug}/repository_connections"
[
{
"id": "01234567-89ab-cdef-0123-456789abcdef",
"type": "github_code_access_app",
"display_name": "GitHub (acme-inc)",
"url": "https://api.buildkite.com/v2/organizations/acme-inc/repository_connections/01234567-89ab-cdef-0123-456789abcdef"
},
{
"id": "12345678-9abc-def0-1234-56789abcdef0",
"type": "gitlab_self_managed",
"display_name": "GitLab Self-Managed",
"url": "https://api.buildkite.com/v2/organizations/acme-inc/repository_connections/12345678-9abc-def0-1234-56789abcdef0"
}
]
Required scope: read_organization_repository_connections
Required permission: organization administrator access
Success response: 200 OK
Get a repository connection
Returns a repository connection by its ID.
curl -H "Authorization: Bearer $TOKEN" \
-X GET "https://api.buildkite.com/v2/organizations/{org.slug}/repository_connections/{id}"
{
"id": "01234567-89ab-cdef-0123-456789abcdef",
"type": "github_code_access_app",
"display_name": "GitHub (acme-inc)",
"url": "https://api.buildkite.com/v2/organizations/acme-inc/repository_connections/01234567-89ab-cdef-0123-456789abcdef",
"service_account": {
"login": "acme-inc"
},
"host": {
"type": "github",
"url": "https://github.com"
},
"rate_limit": {
"limit": 5000,
"used": 42,
"remaining": 4958,
"reset_at": "2026-07-16T06:00:00Z"
}
}
Required scope: read_organization_repository_connections
Required permission: organization administrator access
Success response: 200 OK
Error responses:
400 Bad Request |
The connection ID is not a valid UUID. |
|---|---|
403 Forbidden |
The token does not have the required scope or the user does not have organization administrator access. |
404 Not Found |
The repository connection does not exist or belongs to a different organization. |