Authentication
All task endpoints require API key authentication. API keys are scoped to a team, so all tasks created with a key belong to that team.
Providing your API key
Section titled “Providing your API key”Include your API key in every request using one of these methods:
# Authorization header (recommended)curl https://api.asyncqueue.io/v1/tasks \ -H "Authorization: Bearer your-api-key"
# X-API-Key headercurl https://api.asyncqueue.io/v1/tasks \ -H "X-API-Key: your-api-key"Managing API keys
Section titled “Managing API keys”API keys are managed through the dashboard or the team management API.
Create a key
Section titled “Create a key”Create API keys from the dashboard or via the API (requires JWT authentication):
curl -X POST https://api.asyncqueue.io/teams/{teamId}/apikeys \ -H "Authorization: Bearer your-jwt-token" \ -H "Content-Type: application/json" \ -d '{"name": "Production Key"}'The full key is returned only once on creation. Store it securely.
Revoke a key
Section titled “Revoke a key”curl -X POST https://api.asyncqueue.io/apikeys/{keyId}/revoke \ -H "Authorization: Bearer your-jwt-token"Revoked keys are immediately rejected on all future requests.
Error responses
Section titled “Error responses”Missing or invalid keys return standard error responses:
// 401 - No API key provided{"error": "API key required"}
// 401 - Invalid or revoked key{"error": "Invalid or revoked API key"}
// 403 - Accessing another team's resource{"error": "Access denied"}Rate limits
Section titled “Rate limits”Every response includes rate limit headers:
X-RateLimit-Limit: 60X-RateLimit-Remaining: 45X-RateLimit-Reset: 1705312260When you exceed the limit, the API returns 429 Too Many Requests with a Retry-After header. Rate limits are tracked per team - all API keys on the same team share one counter.
Plan limits
Section titled “Plan limits”| Feature | Free | Pro |
|---|---|---|
| API rate limit | 60 requests/min | 600 requests/min |
| API keys per team | 1 | Unlimited |
| Team members | 2 | Unlimited |
| Max wait time | 30 seconds | 120 seconds |