High-level overview of the LaunchSuite API, authentication, and response formats.
# API Overview
The LaunchSuite API allows you to programmatically interact with your workspace. It follows individual RESTful principles and returns data in **JSON** format.
## Base URL
All API requests should be made to:
```bash
https://api.launchsuite.tech/v1
```
> **Note**: Replace `launchsuite.tech` with your actual domain in production.
## Authentication
We use **Bearer Tokens** for API authentication. You must include your API Key in the `Authorization` header of every request.
```bash
Authorization: Bearer sk_live_...
```
### Generating API Keys
1. Go to **Settings > API Keys** in your dashboard.
2. Click **Create New Key**.
3. Copy the key immediately (**it is only shown once**).
> **Security Warning**: API Keys carry significant privileges. Never commit them to version control or expose them in client-side code.
## Response Format
All responses follow a standard envelope format:
### Success Response
```json
{
"data": {
"id": "usr_123",
"name": "John Doe",
...
},
"meta": {
"page": 1,
"limit": 10
}
}
```
### Error Response
```json
{
"error": {
"code": "unauthorized",
"message": "Invalid API Key provided",
"status": 401
}
}
```
## Rate Limiting
The API is rate-limited to protect system stability.
| Header | Description |
| :--- | :--- |
| `X-RateLimit-Limit` | Maximum requests allowed per window (100) |
| `X-RateLimit-Remaining` | Requests remaining in the current window |
| `X-RateLimit-Reset` | Time when the limit resets |
## Versioning
The current API version is `v1`. We strive for backward compatibility.
- **Breaking Changes**: Will be introduced in new version paths (e.g., `/v2`).
- **Non-breaking Changes**: New fields may be added to responses without version change.