Get the GitHub connect URL
Returns the URL that starts a GitHub connection: the OAuth authorize URL when OAuth is configured, otherwise the GitHub App install URL. installUrl carries the App install URL (empty when no App is configured), for installing the App on another GitHub organization.
Required permission
Requires the runner.read permission. See Permissions for the roles and API key permissions that include it.
Command line
The orl CLI wraps this endpoint:
orl runners connect-url getapiKeyAuthorizationBearer <token>OpenRelay API key. Send it as Authorization: Bearer or_… (legacy vl_… keys still work).
orgId*stringOK
application/json- response
url*stringWhere "Connect" sends the user: the GitHub OAuth authorize URL when oauth is true, else the GitHub App install URL.
installUrl*stringThe GitHub App install URL, for installing the App on another GitHub organization.
oauth*booleantrue when url is the OAuth authorize flow.
curl -X GET 'https://api.openrelay.inc/v1/orgs/string/runner-pools/connect-url'{ "url": "string", "installUrl": "string", "oauth": true}Create a runner pool POST
Connects a GitHub organization's App installation as a runner pool and starts its subscription. Repeating it returns the pool while it is active or suspended. name defaults to the GitHub owner, poolRamGb to 64 when omitted or 0, and diskSizeGb to 100 when omitted. A payment method must be on file (CARD_REQUIRED), and a personal GitHub account is refused (USER_ACCOUNT_UNSUPPORTED). When the OAuth flow is configured, pass the installation's grant from listRunnerInstallations (GRANT_REQUIRED).
List GitHub installations you can connect POST
Exchanges the OAuth code from the GitHub redirect for the GitHub App installations your account can access, each with the connectGrant createRunnerPool takes. Installations this organization already has a pool for are flagged alreadyConnected. A state that does not match this organization answers 400 OAUTH_STATE_INVALID.