folder_metadata
List one folder of the workspace: file counts, categories, subfolders, and the files' exact paths.
Cost class: fast.
Explore in steps instead of listing everything at once:
- Call with the defaults on / (the workspace root): the folder's own files plus one summary per subfolder (file count, top categories, failed-ingestion count).
- Descend with directory=<folder>, or narrow with name_contains= (find a file by part of its name), category=, ingestion_status= (e.g. failed) or kind=. Counts and listing narrow together, and a narrow covers the whole subtree unless recursive=false is sent.
- Pass a file_entries[].path to file-metadata to see what is inside that file, then ask with qa-file or query-tables.
Every path is relative to the workspace root and never includes the workspace id. name_contains finds files by what they are called — files whose ingestion failed included; the search tools find them by what they contain.
A directory that names a file is refused with invalid_request pointing at file-metadata. An unfiltered call that matches nothing answers with a hint naming the nearest existing folder and what it holds, so a mistyped folder is not a dead end.
file_entries comes one page_size page at a time, sorted by path; files_truncated reports a cut — resume with start_after=<last path> or narrow. Counts and listing only include files the caller's access labels allow; coverage says how many were withheld.
Args: body: Folder, recursion flag, the narrows (category, ingestion_status, kind, name_contains), page size, cursor. workspace: Resolved workspace and caller access predicate. A non-existent workspace returns workspace_not_found before the body executes. session: Database session.
Request
- Base URLhttps://ndi-api.nace.ai (the document declares no server; this is the origin it was published from)
- AuthAPI key in header X-API-Key
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Path parameters
Workspace identifier.
Headers
Replaying a request with the same key returns the original job with 200, never a second job. The key is kept with the job for replay and never cleared, so it must not contain personal data.
Request body
Response
Successful Response
Changes
No recorded changes to this operation across all 1 revision of this API.