ReboFilesDocs
Start3
What is ReboFiles
Getting started
Demos to run
Put it in your app6
React component
Headless: your own UI
Without a framework
Styling and themes
Keyboard and accessibility
Languages
Files9
Uploads
Previews and the viewer
Search
Live changes and large folders
Comments
Starred and fields
Versions, trash and space
Download as .zip
Word documents
The server14
The route
Frameworks and sign-in
Who may do what
Storage: S3, GCS, Azure and disk
Checking uploads
Metadata: SQLite and Postgres
Database schema
Sharing and links
Activity and notifications
Hooks, logs and limits
Retention, holds and export
Desktop and other origins
Sync a folder
Going to production
Together1
AI assistants (MCP)
Reference5
Packages
Components and hooks
Client API
HTTP routes
Status and roadmap
↑↓ to move↵ to openEsc to close38 pages

Files Starred and fields

Starred and fields

Two ways to find again what matters: what a person stars for themselves, and what your application ties to its own records.
Each person

Starred

  • Add to starred in the details of a file or a folder, or in its menu: it is marked with a star wherever it is shown, and is in Starred, the last starred first.
  • One’s own: nobody else sees what a person starred. What is in the trash, gone, or no longer theirs to read is left out.
  • Kept as a setting of the person (starred:<id>), up to a thousand: GET /starred, PUT and DELETE /entries/:id/star.
const starred = await client.starred();   // the last starred first
await client.star(file.id);                // and client.star(file.id, false) to take it out
Your records

Fields of your own

Text under a name on an entry, set by your application or by people, and found by: what ties a contract to a client of your CRM, a scan to a case.

// The files of a client of your CRM, tied to it by a field of your own:
await client.setFields(file.id, { client: 'acme', stage: 'won' });
await client.setFields(file.id, { stage: null });          // taken away
const ofAcme = await client.withField('client', 'acme');   // of what the one asking may read

// In the drive: shown in the details, and changed there with fields="edit".
<FileDrive base="/api/files" fields="edit" />
  • Names of letters, digits and _ . -, up to 64; values text, up to 1000; fifty an entry. Set by who may rename it (PATCH /entries/:id with fields).
  • GET /fields?name=&value= finds what has one, of what the one asking may read: SQLite and Postgres ask the JSON of each entry, so a drive of thousands is not read whole.
  • The details show them unless fields={false}; fields="edit" lets who may rename it change them there, a field a line.