Skip to main content

Authentication

Learn how to authenticate and manage your Signaloid CLI credentials.

Authentication methods​

Signaloid CLI supports two authentication methods:

  1. API Key (Recommended) - Use a Signaloid API key
  2. Email/Password - Use your Signaloid account credentials

API key authentication​

Getting an API key​

  1. Log in to signaloid.io
  2. Navigate to Settings → Cloud Engine API
  3. Click "Generate New Key"
  4. 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!
Recommended Method

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
Security Consideration

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
What Happens on Logout?
  • 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:

  1. Go to signaloid.io/settings/api
  2. Find the compromised key
  3. Click "Revoke"
  4. Generate a new key
  5. 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​


Need Help?

If you are having authentication issues, contact support at developer-support@signaloid.com.