Settings & Configuration
Setting up API keys for programmatic access
3 minutes read time Difficulty: intermediate
Setting up API keys
API keys let external systems (your CRM, website, apps) communicate with AIsoule programmatically.
Creating an API key
- Go to Settings → API Keys
- Click "New API Key"
- Configure:
- Name — Descriptive name (e.g., "CRM Integration", "Website Widget")
- Expiry — When the key expires (optional, recommended for security)
- Click Create
- Copy the key immediately — it's only shown once!
Using the API key
Include the key in the X-API-Key header of every request:
curl -H "X-API-Key: ak_live_xxxxxxxxxxxx" \
https://app.aisoule.com/api/contacts
Managing keys
Viewing active keys
Go to Settings → API Keys to see all keys with:
- Name
- Created date
- Last used date
- Expiry date
- Status (active/expired/revoked)
Revoking a key
If a key is compromised or no longer needed:
- Find the key in the list
- Click "Revoke"
- The key stops working immediately
Rotating keys
Best practice — rotate keys every 90 days:
- Create a new key
- Update your integration to use the new key
- Verify it works
- Revoke the old key
Security best practices
- Never share keys publicly — Don't put them in frontend code, GitHub, or emails
- Use environment variables — Store keys in
.envfiles, not source code - Set expiry dates — Keys without expiry are a security risk
- One key per integration — If one is compromised, only that integration is affected
- Monitor usage — Check "Last used" to detect unauthorized access
- Revoke unused keys — If an integration is decommissioned, revoke its key
Rate limits
API keys are subject to rate limiting:
- 100 requests per minute per key
- 10 requests per second burst
- Exceeding limits returns HTTP 429 (Too Many Requests)
Permissions
API keys inherit the permissions of the user who created them. If you need restricted access, create a user with a limited role and generate the key from that account.
Related Articles
Was this guide helpful?
Your feedback helps us make these guides better for everyone.