Docs

Invoice Ninja API Authentication

How to authenticate Invoice Ninja API requests: one Bearer API key plus a connectionId. MindCloud stores your API key securely — set it once, never resend it.

Every Invoice Ninja API request through MindCloud needs two things: a MindCloud API Key and a connectionId for your Invoice Ninja 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 Invoice Ninja connection in Connections. Invoice Ninja uses an API key. You generate the key in your Invoice Ninja account, then paste it in when you create the connection — MindCloud stores it securely and never returns it in a response.
  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 Invoice Ninja account that should run the action. MindCloud stores and refreshes the Invoice Ninja 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 Payment Terms with an Invoice Ninja connection looks like this:

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

Connect Invoice Ninja

You need an Invoice Ninja account with API access and a generated API token.

  1. Sign in to Invoice Ninja

    Sign in to the Invoice Ninja account you want to connect in MindCloud.

    Invoice Ninja → Login
  2. Open API Tokens

    Go to Settings > Account Management > Integrations > API Tokens.

    Settings → Account Management → Integrations → API Tokens

  3. Create and copy an API token

    Create a token and copy it right away. You will paste it into MindCloud as the API key.

  4. Choose the API base URL

    Use the full API root for your account: https://invoicing.co/api/v1 for hosted production, https://demo.invoiceninja.com/api/v1 for the public demo, or your self-hosted /api/v1 URL.

  5. Finish the MindCloud connection

    Paste the API token as the API key and enter the API base URL. MindCloud sends the required X-Requested-With header automatically.

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.