API Reference
Complete API documentation for the UnlimitBytes cloud platform.
Authentication
All API requests require authentication using an API key.
API Key Authentication
Include your API key in the request header:
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://api.unlimitbytes.com/v1/projects
Getting Your API Key
- Log in to your dashboard
- Navigate to Settings > API Keys
- Click Create New Key
- Copy and securely store your key
Base URL
https://api.unlimitbytes.com/v1
Rate Limiting
- Free tier: 1,000 requests/hour
- Pro tier: 10,000 requests/hour
- Enterprise: Custom limits
Rate limit headers:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1640995200
Projects
List Projects
Get all projects in your account.
Endpoint: GET /projects
Response:
{
"projects": [
{
"id": "proj_abc123",
"name": "My Project",
"region": "us-east-1",
"created_at": "2024-01-01T00:00:00Z",
"status": "active"
}
],
"total": 1
}
Create Project
Create a new project.
Endpoint: POST /projects
Request:
{
"name": "My New Project",
"region": "us-east-1",
"plan": "pro"
}
Response:
{
"id": "proj_abc123",
"name": "My New Project",
"region": "us-east-1",
"plan": "pro",
"created_at": "2024-01-01T00:00:00Z"
}
Get Project
Get details of a specific project.
Endpoint: GET /projects/:id
Response:
{
"id": "proj_abc123",
"name": "My Project",
"region": "us-east-1",
"plan": "pro",
"resources": {
"deployments": 5,
"databases": 2,
"storage_gb": 50
},
"created_at": "2024-01-01T00:00:00Z"
}
Deployments
Deploy Application
Deploy an application to your project.
Endpoint: POST /projects/:project_id/deployments
Request:
{
"name": "my-app",
"git_url": "https://github.com/username/repo",
"branch": "main",
"env_vars": {
"NODE_ENV": "production"
}
}
Response:
{
"id": "dep_xyz789",
"name": "my-app",
"status": "building",
"url": "https://my-app-abc123.unlimitbytes.app",
"created_at": "2024-01-01T00:00:00Z"
}
List Deployments
Get all deployments for a project.
Endpoint: GET /projects/:project_id/deployments
Response:
{
"deployments": [
{
"id": "dep_xyz789",
"name": "my-app",
"status": "running",
"url": "https://my-app-abc123.unlimitbytes.app",
"created_at": "2024-01-01T00:00:00Z"
}
]
}
Databases
Create Database
Create a new database instance.
Endpoint: POST /projects/:project_id/databases
Request:
{
"name": "my-db",
"type": "postgresql",
"version": "15",
"plan": "starter"
}
Response:
{
"id": "db_def456",
"name": "my-db",
"type": "postgresql",
"version": "15",
"connection_string": "postgresql://user:pass@host:5432/dbname",
"status": "provisioning"
}
Storage
Upload File
Upload a file to cloud storage.
Endpoint: POST /projects/:project_id/storage/upload
Request: Multipart form data
Response:
{
"id": "file_ghi789",
"name": "image.png",
"url": "https://cdn.unlimitbytes.com/files/abc123/image.png",
"size": 1024000,
"uploaded_at": "2024-01-01T00:00:00Z"
}
Error Responses
All errors follow this format:
{
"error": {
"code": "invalid_request",
"message": "Project name is required",
"details": {
"field": "name"
}
}
}
Error Codes
| Code | Status | Description |
|---|---|---|
invalid_request | 400 | Invalid request parameters |
unauthorized | 401 | Missing or invalid API key |
forbidden | 403 | Insufficient permissions |
not_found | 404 | Resource not found |
rate_limit_exceeded | 429 | Too many requests |
server_error | 500 | Internal server error |
SDKs
Official SDKs available:
Webhooks
Configure webhooks to receive real-time notifications.
Example webhook payload:
{
"event": "deployment.succeeded",
"timestamp": "2024-01-01T00:00:00Z",
"data": {
"deployment_id": "dep_xyz789",
"project_id": "proj_abc123",
"url": "https://my-app-abc123.unlimitbytes.app"
}
}
Support
- Email: api-support@unlimitbytes.com
- Documentation: https://docs.unlimitbytes.com
- Status: https://status.unlimitbytes.com