Authentication
CloudSigma supports two authentication methods. Use API keys for programmatic integrations (scripts, CI/CD pipelines) and JWT tokens for browser-based access.
API Keys (Recommended for Integrations)
API keys are available on Pro, Team, and Enterprise tiers. Keys provide the same access as JWT tokens without needing to implement the Cognito sign-in flow.
Key Format
csk_live_<32 hex characters>Example: csk_live_a1b2c3d4e5f67890abcdef1234567890
Creating an API Key
Navigate to API Keys
Go to Account → API Keys in the CloudSigma web app.
Create a new key
Click Create API Key and give it a descriptive name (e.g., “CI Pipeline” or “SOAR Integration”).
Copy the key
The full key is displayed once. Copy it and store it securely. The dashboard shows only the prefix after creation.
You can also create keys via the API (requires JWT authentication):
curl -X POST https://cloudsigma.a13e.com/v1/api-keys \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "CI Pipeline"}'Using an API Key
Include the key as a Bearer token in the Authorization header:
curl https://cloudsigma.a13e.com/v1/usage \
-H "Authorization: Bearer csk_live_a1b2c3d4e5f67890abcdef1234567890"import requests
headers = {"Authorization": "Bearer csk_live_YOUR_KEY_HERE"}
response = requests.get(
"https://cloudsigma.a13e.com/v1/usage",
headers=headers,
)
print(response.json())Key Management
| Action | Endpoint | Auth |
|---|---|---|
| Create key | POST /v1/api-keys | JWT only |
| List keys | GET /v1/api-keys | JWT only |
| Revoke key | DELETE /v1/api-keys/{prefix} | JWT only |
API key management endpoints require JWT authentication — you cannot manage keys using another API key. This prevents compromised keys from creating new ones.
Rate Limits
Each API key has a configurable daily request limit. The default is 250 requests per day. When exceeded, the API returns 429 Too Many Requests.
JWT Tokens (Web Application)
JWT tokens are used by the CloudSigma web application. They are obtained through the Cognito sign-in flow and expire after 1 hour.
Sign-In Flow
- User submits email and password to Cognito
- Cognito returns an access token, ID token, and refresh token
- The access token is sent as a Bearer token with each API request
- When the access token expires, the SDK automatically refreshes it using the refresh token
Using a JWT Token
curl https://cloudsigma.a13e.com/v1/usage \
-H "Authorization: Bearer eyJhbGciOiJSUzI1NiIs..."Token Details
| Property | Value |
|---|---|
| Issuer | Cognito User Pool |
| Expiry | 1 hour |
| Refresh | Automatic via refresh token |
| Custom claims | custom:tier, custom:teamId |
Authentication Errors
| HTTP Status | Error Code | Meaning |
|---|---|---|
| 401 | Unauthorized | Missing or invalid token |
| 403 | Forbidden | Valid token but insufficient permissions |
| 429 | RateLimitExceeded | API key daily limit exceeded |