Projects
Projects API endpoint reference for the LegionEdge Platform
The Projects API provides full lifecycle management for projects, including creation, configuration, member management, and resource allocation.
List Projects
GET /v2/organizations/{orgId}/projectsQuery Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Page number |
per_page | integer | 20 | Results per page (max 100) |
status | string | -- | Filter: active, archived, suspended |
search | string | -- | Search by name or description |
const projects = await client.projects.list({
organizationId: "org_abc123",
status: "active",
});Response
{
"data": [
{
"id": "proj_abc123",
"name": "payment-service",
"slug": "payment-service",
"description": "Payment processing microservice",
"organizationId": "org_abc123",
"status": "active",
"settings": {
"defaultEnvironment": "production",
"autoScaling": true,
"notificationsEnabled": true
},
"createdAt": "2025-09-01T12:00:00Z",
"updatedAt": "2026-03-10T08:30:00Z"
}
],
"pagination": { "total": 12, "page": 1, "perPage": 20, "totalPages": 1, "hasMore": false }
}Get Project
GET /v2/projects/{projectId}const project = await client.projects.get("proj_abc123");Create Project
POST /v2/organizations/{orgId}/projectsconst project = await client.projects.create({
organizationId: "org_abc123",
name: "payment-service",
description: "Payment processing microservice",
settings: {
defaultEnvironment: "development",
autoScaling: false,
notificationsEnabled: true,
},
});Update Project
PATCH /v2/projects/{projectId}const updated = await client.projects.update("proj_abc123", {
description: "Updated payment processing service",
settings: {
autoScaling: true,
},
});Delete Project
Deleting a project deprovisions all associated resources. This action is irreversible.
DELETE /v2/projects/{projectId}await client.projects.delete("proj_abc123");Project Members
List Members
GET /v2/projects/{projectId}/membersconst members = await client.projects.listMembers("proj_abc123");
for (const m of members.data) {
console.log(`${m.user.name} (${m.role})`);
}Add Member
POST /v2/projects/{projectId}/membersawait client.projects.addMember("proj_abc123", {
userId: "user_jane",
role: "admin",
});Remove Member
DELETE /v2/projects/{projectId}/members/{userId}await client.projects.removeMember("proj_abc123", "user_jane");Project Environments
Each project supports multiple environments with isolated configuration:
// List environments
const envs = await client.projects.listEnvironments("proj_abc123");
// Promote from staging to production
await client.projects.promoteEnvironment("proj_abc123", {
source: "staging",
target: "production",
});Next Steps
- Manage organizations that contain projects.
- Allocate resources to your projects.
- Set up deployment pipelines.