FileNest/Docs

Authentication

All FileNest API requests require a Bearer token in the Authorization header.

Bearer token

curl https://filenest.drgodly.com/v1/projects \
  -H "Authorization: Bearer fn_live_abc123..."

Token types

PrefixTypeIssued by
fn_live_...Production API keyFileNest Console / IAM
fn_test_...Test API keyFileNest Console / IAM
fn_sa_...Service accountFileNest Console
fn_upload_token_...Short-lived upload tokenYour server via /api/filenest-token

Getting an API key

  1. Sign in to the FileNest Console
  2. Open a project → API Keys tab
  3. Click Create key → select scopes → copy the full key

The full key is shown exactly once. Store it in a secret manager (AWS Secrets Manager, Vault, etc.) or as an environment variable.

Scopes

API keys carry a set of scopes. A request will be rejected with 403 Forbidden if the key does not have the required scope.

Files

ScopeRequired for
files:uploadPOST /files/upload, /files/multipart/*
files:downloadGET /files/{id}/download, /versions/{id}/download
files:readGET /files, GET /files/{id}, GET /files/{id}/versions
files:deleteDELETE /files/{id}
files:metadataPUT/POST /files/{id}/tags, PATCH /files/{id}, /versions/{id}/restore

Folders

ScopeRequired for
folders:readGET /folders, GET /folders/by-path, GET /folders/{id}, GET /folders/{id}/files
folders:writePOST /folders, POST /folders/ensure-path, DELETE /folders/{id}, POST /files/{id}/move

Upload Tokens

ScopeRequired for
upload_tokens:createPOST /upload-tokens

Webhooks

ScopeRequired for
webhooks:readGET /webhooks, GET /webhooks/{id}/deliveries
webhooks:writePOST /webhooks, PUT /webhooks/{id}, DELETE /webhooks/{id}

Projects

ScopeRequired for
projects:readGET /projects, GET /projects/{id}, GET /storage, GET /usage, GET /dashboard
projects:updatePOST /projects, PATCH /projects/{id}, PUT /storage, POST/PUT /metadata-schemas

Audit & Compliance

ScopeRequired for
audit:readGET /audit
compliance:manageLegal hold, WORM, retention policy configuration

Error responses

StatusCodeMeaning
401authentication_requiredNo Authorization header
401invalid_tokenToken not recognized or revoked
403insufficient_scopeToken lacks the required scope
{
  "error": {
    "code": "insufficient_scope",
    "message": "Token does not have scope files:upload",
    "required_scope": "files:upload"
  }
}