What Are API Keys?
API keys are secure tokens that let your AI assistant authenticate with ULPI.io. Think of them like passwords, but for machines instead of humans. Each API key:- Belongs to your tenant (organization)
- Has specific permissions (scopes)
- Can be revoked at any time
- Tracks usage for billing
Creating an API Key
1
Open API Keys
Navigate to API Keys in your ULPI dashboard
2
Click Create
Press Create API Key button
3
Configure
Fill in the key details:
- Name: Descriptive name (e.g., “Production Claude Desktop”)
- Environment: Test or Live
- Type: Restricted (recommended) or Unrestricted
- Scopes: MCP permissions
4
Save Key
Copy the key immediately - it’s only shown once!
Understanding Environments
Test Environment
- For development and testing
- Free unlimited usage
- Separate from production data
Live Environment
- For production use
- Counts toward your billing
- Real customer data
Understanding Scopes
Scopes control what your API key can do. Available scopes:| Scope | Description | Required For |
|---|---|---|
mcp:search | Search documentation | Claude Desktop, VSCode |
mcp:get_doc | Get full document content | Expanding documents |
mcp:list_repos | List available repositories | Repository browsing |
repo:read | Read repository metadata | Advanced integrations |
repo:write | Modify repository settings | Admin operations |
Recommended Scopes for MCP
For typical MCP usage (Claude Desktop/VSCode), enable:- ✅
mcp:search - ✅
mcp:get_doc - ✅
mcp:list_repos
repo:write for AI assistants.
Token Types
Restricted Tokens (Recommended)
- Require explicit scopes
- More secure
- Can be limited to specific actions
- Use this for production
Unrestricted Tokens
- Access to all features
- Easier for development
- Less secure
- Only use for testing
Managing API Keys
Viewing Keys
In the API Keys dashboard, you’ll see:- Key name and prefix (first 8 characters)
- Environment (test/live)
- Last used timestamp
- Creation date
- Status (active/expired)
Revoking Keys
If a key is compromised or no longer needed:- Go to API Keys
- Find the key to revoke
- Click Revoke
- Confirm deletion
Rotating Keys
Best practice: Rotate keys every 90 days- Create a new API key
- Update your MCP configuration
- Test the new key
- Revoke the old key
Key Expiration
API keys can have expiration dates:1
Set Expiration
When creating a key, set Expires At field
2
Renewal Reminder
ULPI will email you 7 days before expiration
3
Create New Key
Generate a replacement key before expiration
Security Best Practices
Never commit keys to Git
Never commit keys to Git
Store API keys in environment variables or secret managers, never in source code.
Use restricted tokens
Use restricted tokens
Always choose “Restricted” type and minimal required scopes.
Separate keys per environment
Separate keys per environment
Create different keys for development, staging, and production.
Rotate regularly
Rotate regularly
Update keys every 90 days, even if not compromised.
Monitor usage
Monitor usage
Check the “Last Used” timestamp regularly for suspicious activity.
Troubleshooting
”Invalid API Token” Error
Possible causes:- Key was revoked
- Key has expired
- Wrong key copied (check for extra spaces)
- Using test key in live environment
Key Not Working After Creation
Wait 30 seconds - New keys take a moment to propagate across ULPI’s infrastructure.Can’t See My Key
API keys are only shown once during creation. If you lost it, you must:- Revoke the old key
- Create a new key
- Update your configuration
API Key Limits
| Plan | Max Keys | Rate Limit |
|---|---|---|
| Free | 3 | 100 requests/day |
| Pro | 10 | 10,000 requests/day |
| Enterprise | Unlimited | Custom |
Need More?
Upgrade your plan at app.ulpi.io/billing