BambooHR API Authentication
How to authenticate BambooHR API requests: one Bearer API key plus a connectionId. MindCloud runs the OAuth flow and refreshes BambooHR tokens for you.
Every BambooHR API request through MindCloud needs two things: a MindCloud API Key and a connectionId for your BambooHR 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 BambooHR connection in Connections. BambooHR uses OAuth. When you create the connection, you are redirected to sign in to BambooHR 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 BambooHR account that should run the action. MindCloud stores and refreshes the BambooHR 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 List Employees with an BambooHR connection looks like this:
curl --request POST \
--url "https://connect.mindcloud.co/v2/universal/apps/bambooHrV2/actions/list-employees/run" \
--header "Authorization: Bearer $MINDCLOUD_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"connectionId": "$CONNECTION_ID",
"arguments": {}
}'The Authorization: Bearer <your MindCloud API Key> header authenticates you to MindCloud; the connectionId tells MindCloud which BambooHR account to run the action against. Missing or invalid Authorization returns 401, and a missing or mismatched connectionId returns 400.
Connect BambooHR
You need a BambooHR developer app for the MindCloud BambooHR tenant.
- Open your BambooHR developer app
Sign in to the BambooHR Developer Portal and open the OAuth2 app you want to use for MindCloud.
- Confirm the redirect URI
In the app settings, make sure the redirect URI is set to https://api.mindcloud.co/v1/oauth/bambooHRV2/callback.
- Grant the required scopes
Enable the BambooHR scopes: employee, time_off, employee:name, employee:job, payroll, benefit, offline_access, email, and openid. Do not include company:info; BambooHR does not expose it as a valid OAuth scope.
- Finish the connection in MindCloud
Return to MindCloud and start the BambooHR OAuth2 connection. Re-authenticate after scope changes so the credential picks up the updated consent.
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.