Authentication
All Canvelete (opens in a new tab) API requests require authentication via API key.
API Keys
Generate a Key
- Log in to your Canvelete dashboard (opens in a new tab)
- Go to Settings → API Keys (opens in a new tab)
- Click Generate New Key
- Copy and store the key securely
Security
API keys are shown only once. Store them securely and never expose them in client-side code or public repositories.
Using Your Key
Include the API key in the Authorization header:
curl -X GET "https://api.canvelete.com/v1/designs" \
-H "Authorization: Bearer cvt_your_api_key"Base URL
https://api.canvelete.com/v1Request Format
All requests should include:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/jsonResponse Format
Successful responses:
{
"success": true,
"data": { ... }
}Error responses:
{
"success": false,
"error": {
"code": "ERROR_CODE",
"message": "Human-readable message",
"details": { ... }
}
}Error Codes
| Code | Status | Description |
|---|---|---|
UNAUTHORIZED | 401 | Invalid or missing API key |
FORBIDDEN | 403 | Insufficient permissions |
NOT_FOUND | 404 | Resource not found |
RATE_LIMITED | 429 | Too many requests |
VALIDATION_ERROR | 400 | Invalid request parameters |
INTERNAL_ERROR | 500 | Server error |
Rate Limits
| Plan | Requests/Minute | Requests/Hour |
|---|---|---|
| Free | 10 | 500 |
| Individual | 60 | 3,000 |
| Teams | 300 | 15,000 |
| Enterprise | Custom | Custom |
Rate limit headers are included in responses:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1640000000Best Practices
- Store keys securely — Use environment variables, not hardcoded values
- Use separate keys — Create different keys for development and production
- Rotate regularly — Generate new keys periodically
- Monitor usage — Check your dashboard (opens in a new tab) for usage stats
- Handle errors — Implement proper error handling and retries
SDK Authentication
All SDKs handle authentication automatically:
# Python
from canvelete import CanveleteClient
client = CanveleteClient(api_key="cvt_xxx")// TypeScript
import { CanveleteClient } from '@canveletedotcom/sdk';
const client = new CanveleteClient({ apiKey: 'cvt_xxx' });// Go
client := canvelete.NewClient("cvt_xxx")Next Steps
- Designs API — Create and manage designs
- Rendering API — Generate images
- SDKs — Use official client libraries