Authentication
For direct API integrations, authenticate node operations with an API key in the Authorization header.
Create an API key
In the dashboard, open Developers, then API Keys. Create a key for your integration and select the permissions it needs. Save the full key when it is shown; it cannot be retrieved later.
Send authenticated requests
Send your key as Authorization: Bearer YOUR_API_KEY. Replace the placeholder with your API key.
To use the CLI, sign in with ndn login.
To inspect the current key's ID, account ID, and permissions, call GET /api-key with that Bearer header. This endpoint does not reveal the secret or create a new key.
Permissions
| Permission | Operations |
|---|---|
| Nodes → Read | List nodes, read node details, and check available updates |
| Nodes → Write | Create, rename, start, stop, restart, update, and delete nodes |
Node Read is selected automatically in the dashboard and is required when enabling Node Write. Enable Node Write if an integration needs to change nodes. For accepting payments through the gateway, select gateway permissions.
Keys belong to one account. The API uses the key to determine your account; you do not need to send an account ID. The key must include the required permission. Missing, invalid, disabled, or revoked keys and insufficient permissions return 401 Unauthorized. Nodes belonging to another account return 404 Not Found.
Keep keys private
Use keys from your backend or trusted scripts. Store them in secret storage, keep them out of browser code and source control, and revoke or replace them if exposed.
A Nodana API key authenticates calls to the Nodana API. Your node's Phoenixd password is a separate credential for direct calls to its Phoenixd API.