Docs

Firebase API Authentication

How to authenticate Firebase API requests: one Bearer API key plus a connectionId. MindCloud handles Firebase's custom auth scheme for you.

Every Firebase API request through MindCloud needs two things: a MindCloud API Key and a connectionId for your Firebase 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 Firebase connection in Connections. Firebase uses its own authentication scheme. You provide whatever it requires when you create the connection — MindCloud handles the provider-specific details for you.
  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 Firebase account that should run the action. MindCloud stores and refreshes the Firebase 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 Firebase Projects with an Firebase connection looks like this:

curl --request GET \
  --url "https://connect.mindcloud.co/v1/universal/firebase/latest/actions/list-firebase-projects" \
  --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 Firebase account to run the action against. Missing or invalid Authorization returns 401, and a missing or mismatched connectionId returns 400.

Connect Firebase with a Google service account

You need a Google Cloud service account key with access to the Firebase projects you want to manage.

  1. Create or select a Google Cloud service account

    In Google Cloud, use a service account that has permission to access the Firebase Management API for the target projects.

    Google Cloud Console → IAM & Admin → Service Accounts
  2. Create a JSON key

    Open the service account, create a JSON key, and keep the downloaded file private.

  3. Copy the service account fields into MindCloud

    Enter the service account client email, private key ID, and private key. Keep the private key exactly as shown in the JSON file, including the BEGIN and END lines.

  4. Grant project permissions

    Make sure the service account has the Firebase or Google Cloud permissions needed for the projects and operations you will run.

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.