contento
API Reference

Projects

Create, read, update, and delete projects.

List projects

GET /api/v1/projects
Authorization: Bearer <admin-key>

Response

{
  "data": [
    {
      "id": "proj_abc123",
      "name": "My App",
      "slug": "my-app",
      "bucketName": "my-app",
      "visibility": "private",
      "createdAt": "2025-01-01T00:00:00.000Z"
    }
  ]
}

Create project

POST /api/v1/projects
Authorization: Bearer <admin-key>
Content-Type: application/json

{
  "name": "My App",
  "visibility": "private"
}
FieldTypeRequiredDescription
namestringHuman-readable name. Slug is auto-derived.
visibility"public" | "private"Controls bucket policy and delivery auth.

The MinIO bucket is created automatically on project creation.


Get project

GET /api/v1/projects/:id
Authorization: Bearer <any-scoped-key>

Update project

PATCH /api/v1/projects/:id
Authorization: Bearer <admin-key>
Content-Type: application/json

{
  "name": "New Name",
  "visibility": "public"
}

Changing visibility updates the MinIO bucket policy immediately.


Delete project

DELETE /api/v1/projects/:id
Authorization: Bearer <admin-key>

Deletes the project record. Does not delete the MinIO bucket or its contents — you must clean that up manually via the MinIO console or the files API.