API Reference
Authentication

Authentication

All Canvelete (opens in a new tab) API requests require authentication via API key.

API Keys

Generate a Key

  1. Log in to your Canvelete dashboard (opens in a new tab)
  2. Go to Settings → API Keys (opens in a new tab)
  3. Click Generate New Key
  4. Copy and store the key securely

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/v1

Request Format

All requests should include:

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Response Format

Successful responses:

{
  "success": true,
  "data": { ... }
}

Error responses:

{
  "success": false,
  "error": {
    "code": "ERROR_CODE",
    "message": "Human-readable message",
    "details": { ... }
  }
}

Error Codes

CodeStatusDescription
UNAUTHORIZED401Invalid or missing API key
FORBIDDEN403Insufficient permissions
NOT_FOUND404Resource not found
RATE_LIMITED429Too many requests
VALIDATION_ERROR400Invalid request parameters
INTERNAL_ERROR500Server error

Rate Limits

PlanRequests/MinuteRequests/Hour
Free10500
Individual603,000
Teams30015,000
EnterpriseCustomCustom

Rate limit headers are included in responses:

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1640000000

Best Practices

  1. Store keys securely — Use environment variables, not hardcoded values
  2. Use separate keys — Create different keys for development and production
  3. Rotate regularly — Generate new keys periodically
  4. Monitor usage — Check your dashboard (opens in a new tab) for usage stats
  5. 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