Projects
List, create, rename and delete projects.
/containers/projectscurl https://api.helipod.io/api/containers/projects \
-H "Authorization: Bearer hel_your_key"{
"success": true,
"data": [
{
"id": "3b0cd5ac-ac26-4012-9b28-17466f73788c",
"name": "My Shop",
"description": "Online store",
"createdAt": "2026-09-01T08:00:00.000Z",
"environments": [
{ "id": "e1d4a0f2-6c11-4a9e-8a0e-5f2b7d1c9a33", "name": "production" },
{ "id": "7f6e5d4c-3b2a-4190-8f7e-6d5c4b3a2910", "name": "staging" }
]
}
]
}A key with project access returns only its project. A whole-account key returns every project you own; projects you were invited to by someone else are not included, because their owner pays for them.
/containers/projects/{projectId}404 if the key can't reach it.Use an environment id to list and create services. Environments are managed on Environments.
Create a project
/containers/projectsIdempotency-KeyProduction environment. Needs a whole-account key.Prop
Type
curl -X POST https://api.helipod.io/api/containers/projects \
-H "Authorization: Bearer hel_your_key" -H "Content-Type: application/json" \
-H "Idempotency-Key: create-project-shop-001" \
-d '{ "name": "My Shop", "description": "Online store" }'Returns 201 with the project object. A key limited to one project gets 403 KEY_PROJECT_SCOPED, because it must not reach outside its project. Creating a project costs nothing; what you put in it is billed as usual.
Rename a project
/containers/projects/{projectId}Prop
Type
Send at least one of them (400 NOTHING_TO_UPDATE otherwise). Returns the project object. A project key can rename its own project.
Delete a project
/containers/projects/{projectId}Prop
Type
curl -X DELETE https://api.helipod.io/api/containers/projects/$PROJECT \
-H "Authorization: Bearer hel_your_key" -H "Content-Type: application/json" \
-d '{ "confirm": "My Shop" }'{ "success": true, "data": { "id": "3b0cd5ac-ac26-4012-9b28-17466f73788c", "deleted": true, "deletedEnvironments": 2 } }Only empty projects can be deleted
While the project still has services, VPS, databases or an active email plan, the call answers 409 PROJECT_NOT_EMPTY and error lists what is left. Delete those first. A missing or wrong confirm answers 400 CONFIRMATION_REQUIRED, and only the project's owner can delete it (403 FORBIDDEN). This can't be undone.