FileNest/Docs

Projects API

Create a project

POST /v1/projects

Required scope: projects:update

curl -X POST https://filenest.drgodly.com/v1/projects \
  -H "Authorization: Bearer fn_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Production",
    "slug": "production",
    "storage_mode": "managed",
    "storage_provider": "s3",
    "description": "Production file storage"
  }'

Response 201:

{
  "id": "proj_01j...",
  "name": "Production",
  "slug": "production",
  "organization_id": "org_01j...",
  "storage_mode": "managed",
  "storage_provider": "s3",
  "description": "Production file storage",
  "created_at": "2026-06-20T10:00:00Z"
}

List projects

GET /v1/projects

Required scope: projects:read

Returns all non-deleted projects in the caller's organization.

Get a project

GET /v1/projects/{project_id}

Required scope: projects:read

Update a project

PATCH /v1/projects/{project_id}

Required scope: projects:update

{
  "name": "Production v2",
  "description": "Updated description"
}

Delete a project

DELETE /v1/projects/{project_id}

Required scope: projects:update

Soft-deletes the project — sets deleted_at. Files are not immediately removed from storage.

Error codes

StatusCodeMeaning
404project_not_foundProject does not exist or belongs to a different org
409slug_takenA project with this slug already exists in the org