API Reference
The LaunchGate REST API is available at https://api.launchgate.ai.
Base URL
https://api.launchgate.ai/v1All endpoints are versioned under /v1/.
Authentication
Every request (except /health and /v1/templates) requires authentication via the Authorization header:
Authorization: Bearer lg_live_your_key_hereSee Authentication for details on both API key and JWT auth modes.
Request format
- Content type:
application/json - All request bodies are JSON
Response format
Success responses
{
"data": { ... }
}Paginated responses
{
"data": [...],
"pagination": {
"page": 1,
"pageSize": 20,
"total": 42,
"hasMore": true
}
}Error responses
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Suite slug is required",
"details": { ... }
}
}Common HTTP status codes
| Code | Meaning |
|---|---|
200 | Success |
201 | Created |
202 | Accepted (async run enqueued) |
400 | Validation error |
401 | Authentication failed |
402 | Payment required (usage limit exceeded) |
404 | Resource not found (or belongs to another org) |
429 | Rate limited |
500 | Internal server error |
LaunchGate returns 404 (not 403) when a resource exists but belongs to another organisation. This prevents leaking resource existence to unauthorized users.
Rate limits
| Scope | Limit |
|---|---|
| General API | 100 requests per minute per IP |
| Auth endpoints | 20 requests per 15 minutes per IP |
When rate limited, the response includes a Retry-After header.
Health check
GET /healthNo authentication required. Returns:
{
"status": "healthy",
"version": "0.1.0",
"timestamp": "2026-04-07T12:00:00.000Z",
"services": {
"database": "connected",
"redis": "connected"
}
}Last updated on