Projects
Projects are the top-level organizational unit for your resources. Each project contains one or more environments (e.g., production, staging, development).
List Projects
GET /api/v1/projects
Response:
{
"data": [
{
"uuid": "proj-abc123",
"name": "My SaaS App",
"description": "Production SaaS application",
"environments": [
{
"id": 1,
"name": "production",
"created_at": "2024-01-15T10:30:00Z"
},
{
"id": 2,
"name": "staging",
"created_at": "2024-01-20T08:00:00Z"
}
],
"created_at": "2024-01-15T10:30:00Z"
}
]
}
Get Project
GET /api/v1/projects/{uuid}
Returns the project with all its environments and resource counts.
Create Project
POST /api/v1/projects
{
"name": "My SaaS App",
"description": "Production SaaS application"
}
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Project name |
description | string | No | Project description |
Response: 201 Created
{
"uuid": "proj-abc123",
"name": "My SaaS App",
"description": "Production SaaS application",
"environments": [
{
"id": 1,
"name": "production"
}
]
}
A default production environment is created automatically with every new project.
Update Project
PATCH /api/v1/projects/{uuid}
{
"name": "Updated Project Name",
"description": "Updated description"
}
Delete Project
DELETE /api/v1/projects/{uuid}
warning
Deleting a project removes all environments and resources within it. This action cannot be undone.
Response:
{
"message": "Project deleted."
}
Environments
Environments provide logical separation within a project (e.g., production, staging, development).
List Environments
GET /api/v1/projects/{uuid}/environments
Response:
{
"data": [
{
"id": 1,
"name": "production",
"created_at": "2024-01-15T10:30:00Z"
},
{
"id": 2,
"name": "staging",
"created_at": "2024-01-20T08:00:00Z"
}
]
}
Get Environment Details
GET /api/v1/projects/{uuid}/{environment_name_or_uuid}
Returns environment details with all resources (applications, databases, services).
Create Environment
POST /api/v1/projects/{uuid}/environments
{
"name": "staging"
}
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Environment name (lowercase, alphanumeric, hyphens) |
Response: 201 Created
{
"message": "Environment created.",
"data": {
"id": 2,
"name": "staging"
}
}
Delete Environment
DELETE /api/v1/projects/{uuid}/environments/{environment_name_or_uuid}
warning
Deleting an environment removes all resources within it. This action cannot be undone.