Documentation Index
Fetch the complete documentation index at: https://mintlify.com/berkayoztunc/orquestra/llms.txt
Use this file to discover all available pages before exploring further.
Managing API Keys
API keys provide a secure way to authenticate programmatic access to your Orquestra projects. This guide covers creating, using, and managing API keys.Overview
API keys are project-specific credentials that allow:- Authentication for protected endpoints
- Usage tracking and monitoring
- Access control and permissions
- Integration with CI/CD pipelines
Currently, public endpoints (like building transactions) don’t require API keys. API keys are primarily used for accessing private projects and future premium features.
Creating API Keys in the Dashboard
Create New Key
Click Generate New API KeyOptionally, set an expiration date (e.g., 90 days, 1 year, or never)
Creating API Keys via API
You can programmatically create API keys using your JWT token:Response
Using API Keys for Authentication
API keys are sent via theX-API-Key header:
When to Use API Keys vs JWT
| Use Case | Authentication Method |
|---|---|
| User actions in web app | JWT (Bearer token) |
| Server-side integrations | API Key |
| CI/CD pipelines | API Key |
| Mobile/desktop apps | JWT (OAuth flow) |
| Cron jobs & scripts | API Key |
Listing Your API Keys
View all API keys for a project:For security, only the last 8 characters of each key are shown. The full key is only visible when first created.
Rotating API Keys
Rotate a key to generate a new value while keeping the same key ID:Deleting API Keys
Revoke an API key permanently:Rate Limits and Permissions
Rate Limits
API keys share the same rate limits as unauthenticated requests:| Endpoint Type | Rate Limit |
|---|---|
| General API | 100 requests/minute |
| Transaction building | 30 requests/minute |
| IDL uploads | 10 requests/minute |
| Authentication | 20 requests/minute |
Handling Rate Limits
Permissions
API keys inherit the permissions of the project owner. They can: ✅ Build transactions for the project✅ Access project metadata
✅ List instructions and accounts
✅ Derive PDAs
✅ Retrieve documentation API keys cannot: ❌ Delete the project
❌ Modify project settings
❌ Create/delete other API keys
❌ Access other users’ projects
Future updates may include granular permission controls for API keys.
Best Practices
Security
-
Use environment variables: Never hardcode API keys
- Rotate regularly: Set expiration dates and rotate keys every 90 days
- Limit scope: Create separate keys for different applications
-
Monitor usage: Check
last_usedtimestamps to detect unusual activity - Revoke unused keys: Delete keys that haven’t been used in 30+ days
Development Workflow
.env.example
TypeScript
CI/CD Integration
Troubleshooting
”Invalid or expired API key”
- Check that the key is copied correctly (no extra spaces)
- Verify the key hasn’t expired
- Ensure you’re using
X-API-Keyheader (notAuthorization)
“Project not found or access denied”
- Confirm the project ID is correct
- Verify the API key belongs to the project owner
- Check that the project hasn’t been deleted
High rate limit errors
- Implement exponential backoff
- Cache frequently accessed data
- Consider batching requests
Next Steps
Building Transactions
Use your API key to build transactions programmatically
Uploading IDLs
Learn about IDL management
API Reference
Full API documentation