Docs

File & Storage

File & Storage Use these endpoints to upload files, organize them in folders, and serve assets from your app. Base: {appUrl}/api Files List files GET {appUrl}/api/enfyra_file?fields=id,filename,mimetype,size,folder&filter={"folder":{"_eq":123}} Upload file Use multipart/form-data

File & Storage

Use these endpoints to upload files, organize them in folders, and serve assets from your app. Base: {appUrl}/api

Files

List files

GET {appUrl}/api/enfyra_file?fields=id,filename,mimetype,size,folder&filter={"folder":{"_eq":123}}

Upload file

Use multipart/form-data with a file field. Add folder, title, description, and isPublic in the form if needed.

POST {appUrl}/api/enfyra_file

Get metadata / Update / Delete file

GET    {appUrl}/api/enfyra_file?filter={"id":{"_eq":123}}&limit=1
PATCH  {appUrl}/api/enfyra_file/{id}
DELETE {appUrl}/api/enfyra_file/{id}

enfyra_file.isPublic controls anonymous asset access through /api/assets/{id}. Use isPublic: true only for files that can be served without authentication. Column and relation visibility still uses isPublished; file public access does not.


Folders

List folders:

GET {appUrl}/api/enfyra_folder?filter={"parent":{"_is_null":true}}

Create folder:

POST {appUrl}/api/enfyra_folder
Body: { "name": "My Folder", "parent": null }

Folder tree:

GET {appUrl}/api/enfyra_folder/tree

Returns nested folder structure.


Download Files

Serve a file by ID (images, PDFs, etc.):

GET {appUrl}/api/assets/{id}

Returns the file binary with appropriate Content-Type. Public files can be served anonymously when enfyra_file.isPublic=true; private files require the normal authenticated request path.