FileNest/Docs

Projects

A project belongs to one organization and is the unit of storage and processing configuration. All files, webhooks, metadata schemas, and compliance settings belong to a project.

Creating a project

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"
  }'

Storage modes

ModeDescription
managedFileNest manages the S3 bucket — zero configuration
byobBring your own bucket — provide credentials for any supported provider

See Storage Overview for the full provider list.

Project slug

The slug is a URL-safe identifier for the project ([a-z0-9-]). It is immutable after creation and appears in API paths: /v1/projects/{slug}/files/....

Project settings

Each project has independent configuration for:

  • Storage — provider, credentials (BYOB), server-side encryption
  • Uploads — allowed MIME types, max file size, filename patterns
  • Processing — virus scan (always on), OCR, preview generation
  • Security — IP allowlist, CORS origins
  • Compliance — retention periods, WORM, legal hold (Phase 8)

Soft delete

Deleting a project sets deleted_at — it does not immediately remove files from storage. A background job purges storage after a configurable grace period.