GitHub API Authentication
How to authenticate GitHub API requests: one Bearer API key plus a connectionId. MindCloud runs the OAuth flow and refreshes GitHub tokens for you.
Every GitHub API request through MindCloud needs two things: a MindCloud API Key and a connectionId for your GitHub account. This page covers both, plus exactly how to send them, so you do not need to visit any other page to get authenticated.
Steps to authenticate
- Create a MindCloud account at app.mindcloud.co if you do not already have one.
- Generate a MindCloud API Key in API Keys. This is the Bearer token you send on every request. Keep it on your server.
- Create a GitHub connection in Connections. GitHub uses OAuth. When you create the connection, you are redirected to sign in to GitHub and approve access — MindCloud stores the resulting tokens and refreshes them automatically, so your integration never has to.
- Copy the connection’s
connectionId— you will send it on every request alongside your MindCloud API Key.
How requests are authenticated
Authentication has two layers. Your MindCloud API Key authenticates the request to MindCloud, sent as a Bearer token in the Authorization header. The connectionId selects the connected GitHub account that should run the action. MindCloud stores and refreshes the GitHub credentials behind that connection, so you never send provider tokens with your requests.
Pass connectionId in the query string for GET and DELETE actions, and in the JSON body for POST, PUT, and PATCH actions.
For example, calling Get Authenticated User with an GitHub connection looks like this:
curl --request GET \
--url "https://connect.mindcloud.co/v1/universal/github/latest/actions/get-authenticated-user" \
--header "Authorization: Bearer $MINDCLOUD_API_KEY" \
--get \
--data-urlencode "connectionId=$CONNECTION_ID"The Authorization: Bearer <your MindCloud API Key> header authenticates you to MindCloud; the connectionId tells MindCloud which GitHub account to run the action against. Missing or invalid Authorization returns 401, and a missing or mismatched connectionId returns 400.
Create a GitHub OAuth app
You need access to the GitHub account that will own the OAuth app. Have the MindCloud callback URL ready before you register the app.
- Open GitHub Developer settings
In GitHub, open Settings, then Developer settings, then OAuth apps.
- Create a new OAuth app
Click OAuth apps, then click New OAuth App. If you have never created one before, the button is Register a new application.
- Enter the public app details
Set Application name and Homepage URL. Application description is optional and visible to users.
- Set the authorization callback URL
Paste the MindCloud callback URL into Authorization callback URL. GitHub OAuth apps support only one callback URL.
- Register the application
Click Register application to create the OAuth app.
- Finish the MindCloud auth settings
Use the GitHub OAuth app's Client ID and Client Secret in the MindCloud authentication settings to complete the connection.
Keep your key safe
Keep your MindCloud API Key on your server; do not ship it in browser code, mobile apps, public repositories, or logs. Anyone with the key can call the Universal API as your MindCloud account, across every connection you have created.