signaloid-cli keys create
Create a new API key.
Synopsis
signaloid-cli keys create --name <name> [options]
Options
| Option | Required | Description |
|---|---|---|
--name <name> | Yes | Descriptive name for the key |
--valid-until <iso> | No | Expiration date (ISO 8601 format). Default: no expiry. |
--valid-for <duration> | No | Lifetime before expiry, e.g., 7d, 24h, 30m |
Use either --valid-until or --valid-for. If you pass both, the command fails with the error Use either --valid-until or --valid-for, not both.
ValidUntil in the response is a Unix timestamp in seconds (the build and
task endpoints use milliseconds), or null for a key that never expires.
Description
Creates a new API key for programmatic access to Signaloid Cloud Compute Engine. The full API key value is only shown once during creation, so it must be saved securely immediately.
Examples
Create Key without Expiration
signaloid-cli keys create --name "Production API Key"
Output
✔ API key created
{
"Object": "Key",
"Key": "scce_0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef_12345678",
"KeyID": "d190a75fbb14499dab9fa26ab2e76635",
"Name": "Production API Key",
"Owner": "usr_12345661ad6641899387b6458cc9a2e2",
"ValidUntil": null,
"CreatedAt": 1761832939
}
Create Key with Expiration
signaloid-cli keys create \
--name "Temporary Test Key" \
--valid-until 2027-12-31T23:59:59Z
Output
✔ API key created
{
"Object": "Key",
"Key": "scce_0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef_12345678",
"KeyID": "582129bb6ea3453c9c6c93085c27c90a",
"Name": "Temporary Test Key",
"Owner": "usr_12345661ad6641899387b6458cc9a2e2",
"ValidUntil": 1830297599,
"CreatedAt": 1791472525
}
Important: The full API key is only shown once. Save it securely!
Output Fields
| Field | Type | Description |
|---|---|---|
Key | string | Full API key value (only shown once), in the form scce_<64 hexadecimal characters>_<8 digits> |
KeyID | string | Unique identifier for the key |
Name | string | Descriptive name given to the key |
Owner | string | User ID of the key owner |
CreatedAt | number | Unix timestamp (seconds) of key creation |
ValidUntil | number/null | Unix timestamp (seconds) when key expires, or null for no expiration |
Notes
- The
--valid-untilparameter must be in ISO 8601 format with UTC timezone (Z suffix) - The full API key value is only returned during creation and cannot be retrieved later
- If the key is lost, you must delete the old key and create a new one
- Keys without expiration dates should be rotated regularly as a security best practice
- Use the
datecommand to generate properly formatted expiration dates - The number of API keys per account is limited. The
Allowance.KeyCountfield of your user account gives the limit.
Troubleshooting
"Invalid date format" Error
Problem: Date validation fails.
Solutions:
- Use ISO 8601 format:
2027-12-31T23:59:59Z - Ensure UTC timezone (Z suffix)
- Verify date is in the future
"Authentication failed" with New Key
Problem: Newly created key does not work.
Solutions:
- Verify you copied the full key including prefix
- Check for extra spaces or newlines
- Ensure key has not expired
- Wait a few seconds for key to propagate
- Try re-authenticating:
signaloid-cli auth logoutsignaloid-cli auth login --api-key <your-key>
"API Key limit" error
Problem: The API rejects the request with HTTP status 403 and the message You have reached the API Key limit for your account. Please upgrade your account to create more keys.
Solutions:
- Delete API keys that you no longer use with
signaloid-cli keys delete - Upgrade your account to create more keys
See Also
- signaloid-cli keys - Keys command overview
- signaloid-cli keys list - List all API keys
- signaloid-cli keys delete - Delete an API key
- signaloid-cli auth login - Authenticate with API key
- Security Best Practices - Secure key usage