Docs

Confluence API Authentication

How to authenticate Confluence API requests: one Bearer API key plus a connectionId. MindCloud runs the OAuth flow and refreshes Confluence tokens for you.

Every Confluence API request through MindCloud needs two things: a MindCloud API Key and a connectionId for your Confluence 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

  1. Create a MindCloud account at app.mindcloud.co if you do not already have one.
  2. Generate a MindCloud API Key in API Keys. This is the Bearer token you send on every request. Keep it on your server.
  3. Create a Confluence connection in Connections. Confluence uses OAuth. When you create the connection, you are redirected to sign in to Confluence and approve access — MindCloud stores the resulting tokens and refreshes them automatically, so your integration never has to.
  4. 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 Confluence account that should run the action. MindCloud stores and refreshes the Confluence 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 Accessible Resources with an Confluence connection looks like this:

curl --request POST \
  --url "https://connect.mindcloud.co/v2/universal/apps/confluenceCloud/actions/list-accessible-resources/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 Confluence account to run the action against. Missing or invalid Authorization returns 401, and a missing or mismatched connectionId returns 400.

Set up your Atlassian OAuth connection

You need access to Atlassian Developer Console and a Confluence Cloud site.

  1. Open Atlassian Developer Console

    Go to the Atlassian Developer Console, then create a new app or open the app you want to use for this integration.

    Developer console → My apps
  2. Enable OAuth 2.0 (3LO)

    Open Authorization in the left menu, choose Configure under OAuth 2.0 (3LO), and save the callback URL for your integration.

    Developer console → My apps → Authorization
  3. Add Confluence API permissions

    Open Permissions, add the Confluence API if needed, and grant these granular scopes: read:space:confluence, write:space:confluence, read:page:confluence, write:page:confluence, delete:page:confluence, read:comment:confluence, write:comment:confluence, delete:comment:confluence, read:attachment:confluence, write:attachment:confluence, read:content-details:confluence, read:task:confluence, write:task:confluence, offline_access.

    Developer console → My apps → Permissions
  4. Copy your client credentials

    Open Settings and copy the Client ID and Secret for the app so you can enter them when creating the connection.

    Developer console → My apps → Settings
  5. Reconnect after scope changes

    After saving the new scopes in Atlassian, reconnect or recreate the MindCloud connection so Atlassian can issue a new token with the updated scopes.

    MindCloud → Connections

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.