Both values are bearer tokens. Send only the complete token in the
Authorization header.
Personal Access Tokens
Create a PAT in Settings > Access tokens. shows the complete token once. A PAT identifies you and stays within its account and project scope. RBAC still decides whether each action is allowed. A token never adds permissions by itself. Use a PAT with:- The REST API.
createClientfrom@airctrl/sdk.airctrl loginorAC_TOKENin the CLI.AIRCTRL_MCP_API_TOKENin human MCP mode.
Service Account credentials
Create the Service Account, assign its custom roles and projects, and provision its credential in the dashboard. These security actions are intentionally Web-only. The downloaded credential bundle contains the API URL, bearer token, credential ID, Service Account ID, and a private capability used locally. Keep the whole bundle together. Do not split fields across unrelated credentials. Use the bundle with the SDK:
fails closed when the Service Account fields are incomplete or contradictory. It does not silently treat an incomplete machine credential as a human PAT.
For MCP, map the same active bundle to
AIRCTRL_MCP_API_URL, AIRCTRL_MCP_API_TOKEN, AIRCTRL_MCP_SA_CREDENTIAL_ID and AIRCTRL_MCP_SA_CAP_PRIVATE_KEY_B64. AIRCTRL_MCP_SA_SERVICE_ACCOUNT_ID is optional. Do not set the human vault passphrase in Service Account mode.
Account context
Many account-level requests requirex-account-id. This header selects context; it does not grant access. The API binds every request to the account carried by the credential and rejects attempts to widen that scope.
With a human PAT, use listAccounts() or GET /v1/accounts to discover valid account IDs. A Service
Account does not enumerate accounts: its credential is already bound to one account, and its work is
selected with the project or resource ID assigned to it. SDK methods that need account context take
accountId explicitly.
Vault passphrase
The vault passphrase is not an API credential.- The token authenticates the caller.
- The passphrase unlocks human cryptographic material locally.
- never needs the passphrase for metadata-only operations.
Token safety
- Load credentials from your runtime environment or secret storage.
- Never place a token in a URL or query parameter.
- Never commit a credential bundle.
- Rotate or revoke credentials from the dashboard when exposure is suspected.
- Use the smallest roles and project grants that complete the task.