Authentication
Learn how to authenticate and manage your Signaloid CLI credentials.
Authentication methods
Signaloid CLI supports two authentication methods:
- API Key (Recommended) - Use a Signaloid API key
- Email/Password - Use your Signaloid account credentials
API key authentication
Getting an API key
- Log in to signaloid.io
- Navigate to Settings → Cloud Engine API
- Click "Generate New Key"
- Copy the key immediately (you will not be able to see it again)
Login with API key
signaloid-cli auth login --api-key YOUR_API_KEY
Example:
signaloid-cli auth login --api-key scce_1234567890abcdef
Output:
✔ API key authenticated
Hello!
API keys are the recommended authentication method because they:
- Do not require storing passwords
- Can be easily revoked if compromised
- Are more secure for automation and CI/CD
Email/password authentication
Provide credentials via command-line options:
signaloid-cli auth login --email john.doe@example.com --password YOUR_PASSWORD
Using passwords in command-line arguments may expose them in shell history. Use API keys for better security, especially in scripts.
Managing authentication
Check current user
Verify who you are logged in as:
signaloid-cli auth whoami
Output (abridged):
{
"Object": "User",
"UserID": "usr_12345661ad6641899387b6458cc9a2e2",
"Username": "john.doe@example.com",
"CreatedAt": 1735689600
}
The full output also includes your preferences, resource usage, and account limits.
Logout
Clear your local authentication:
signaloid-cli auth logout
Output:
✔ Logged out locally
- API key mode: Removes the stored API key from config
- Email/password mode: Removes the stored session token from config
Logout does not end sessions on the server and does not revoke API keys.
Environment variables
Override config directory
Set a custom location for the config file:
export SIGNALOID_CONFIG_DIR=/path/to/config
signaloid-cli auth login --api-key YOUR_KEY
Use API key from environment
Store your API key in an environment variable:
export SIGNALOID_API_KEY="scce_1234567890abcdef"
signaloid-cli auth login --api-key $SIGNALOID_API_KEY
The CLI does not read SIGNALOID_API_KEY by itself. Pass the variable to --api-key as shown.
Multiple accounts
Switching between accounts
To switch accounts, simply log out and log back in:
# Logout from current account
signaloid-cli auth logout
# Login with different credentials
signaloid-cli auth login --api-key DIFFERENT_API_KEY
Security best practices
Do ✓
- ✓ Use API keys instead of passwords for automation
- ✓ Store API keys in environment variables or secrets managers
- ✓ Rotate API keys regularly
- ✓ Use different API keys for different environments (dev/staging/prod)
- ✓ Revoke unused or old API keys
Do not ✗
- ✗ Do not commit API keys to version control
- ✗ Do not share API keys in chat or email
- ✗ Do not use production API keys in development
- ✗ Do not log API keys in application output
- ✗ Do not store API keys in plain text files
Revoking API keys
If an API key is compromised:
- Go to signaloid.io/settings/api
- Find the compromised key
- Click "Revoke"
- Generate a new key
- Update all systems using the old key
Config file structure
The config file contains the credentials from your last login:
{
"auth": {
"mode": "apikey",
"apiKey": "scce_1234567890abcdef"
}
}
After an email and password login, mode is jwt and the file stores the session token in token. See signaloid-cli auth for the location of the config file.
Never manually edit the config file unless you know what you are doing. Use the auth commands instead.
Next steps
- Quick Start Guide → - Start using authenticated commands
- Command Reference → - Explore all commands
If you are having authentication issues, contact support at developer-support@signaloid.com.