Grain API Authentication
How to authenticate Grain API requests: one Bearer API key plus a connectionId. MindCloud stores your Grain API key securely — set it once, never resend it.
Every Grain API request through MindCloud needs two things: a MindCloud API Key and a connectionId for your Grain 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 Grain connection in Connections. Grain uses an API key. You generate the key in your Grain account, then paste it in when you create the connection — MindCloud stores it securely and never returns it in a response.
- 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 Grain account that should run the action. MindCloud stores and refreshes the Grain 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 Teams with an Grain connection looks like this:
curl --request POST \
--url "https://connect.mindcloud.co/v2/universal/apps/grain/actions/list-teams/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 Grain account to run the action against. Missing or invalid Authorization returns 401, and a missing or mismatched connectionId returns 400.
Set up your Grain personal access token
This connection uses a Grain personal access token. Requests made with this token have the same access as the Grain user who creates it.
- Open Grain's API page
In Grain, go to Workspace Settings > Integrations > API. Grain's developer docs say personal access tokens are generated on this page.
Workspace Settings → Integrations → API - Create a personal access token
Create a new personal access token on Grain's API page.
- Paste the token into MindCloud
Return to the MindCloud connection form and paste the Grain personal access token into the API key field.
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.