GET connectors/
VCS connectors you can see. Owners and admins see every connector. Everyone else sees the ones usable in a workspace they belong to: owned by it, shared with it, or shared with every workspace. ?workspace=<slug> narrows the list to the connectors a workflow in that workspace can use. Paginated.
workspace owns the connector; its members manage it. visibility is this_workspace, selected_workspaces (the ones in shared_with) or all_workspaces. owner is the GitHub organization.
Connectors hold credentials, so you add them and change their credentials in Settings → Connectors, not through the API.
PATCH connectors/{id}/
Rename a connector, move it to another workspace, or change who it’s shared with. Allowed for owners and admins, and for members of the owning workspace. Every field is optional.
workspacemoves the connector. A member must belong to both workspaces, and neither can be the default workspace. The old workspace stays shared while its workflows use the connector.workspacesreplaces the shared list;[]stops sharing. Only owners and admins can useall_workspacesor share with the default workspace. When a member saves, workspaces they can’t manage stay on the list.409withblocking_workflows(slug,name,workspace) when a workflow that uses the connector would lose it. Nothing changes; switch those workflows to another connector first.
POST connectors/{id}/test/
Checks the stored credentials still work by listing one repository. Returns {"success": true}, or 502 with the provider’s error.
GET connectors/{id}/repositories/
Repositories the connector can reach.
502 if the provider refuses (for example, the connector’s token expired).
GET connectors/{id}/refs/
A repository’s default branch, branches and tags (first 100 of each), to pick what a workflow tracks or pins.
GET connectors/6c2f…/refs/?repo=acme/infra
400 if repo isn’t owner/repo; 502 if the repository doesn’t exist or the connector can’t reach it.
GET runner-pools/
Pools a workflow can be pinned to with PATCH workflows/{id}/. Pools hold runner tokens, so they’re created and changed in Settings → Runner Pools.
Request portal branding
The request portal (/orgs/<org>/portal/) shows the portal name, welcome message, accent colour and logo.
Permission to change: org.manage_settings. Requesters (portal-only members) can’t use these endpoints.
GET branding/
PATCH branding/
Any of portal_name (up to 100 characters), welcome_message (up to 1000), accent_color (hex, e.g. #1f6feb). An empty string clears a field.
PUT branding/logo/
Multipart upload with a logo file: PNG, JPEG or WebP, up to 256 KB. SVG isn’t accepted.
DELETE branding/logo/
Removes the logo. Returns 204.