Workspaces

Describe a folder

Other errors (500, 502, 503, 504) are on Errors.

POST
/v1/workspaces/{id}/tools/folder-metadata

Other errors (500, 502, 503, 504) are on Errors.

Authorization

bearerAuth
AuthorizationBearer <token>

Your API key, sent as Authorization: Bearer nace_sk_...

  • Where: the dashboard's API Keys page. It is shown once, when you create it.
  • Format: nace_sk_ followed by 43 URL-safe characters (A-Z, a-z, 0-9, _ and -).
  • Limit: an account can hold at most 3 active keys.
  • Wrong or missing key: returns 401 authentication_error.

In: header

Path Parameters

idstringrequired

The workspace's workspace_id.

Header Parameters

Idempotency-Keystring

Up to 200 characters, unique per account. A call that timed out keeps running: send it again with the same key and body to get its answer instead of running it twice.

Lengthlength <= 200

Request Body

application/json

directorystring

Folder to describe, relative to the workspace root: / (the default) is the root, evidence/2025 a folder under it. Never prefix it with the workspace id.

Lengthlength <= 1024
Default"/"
recursiveboolean

Describe the folder's whole subtree instead of its own files only. A narrow implies true unless sent.

Defaultfalse
categorystring | null

Omit to include every file. Use a name exactly as a previous response's categories[].name printed it, e.g. minutes/meeting_minutes.

Defaultnull
Show variants
ingestion_statusstring | null

Only files in this ingestion status — e.g. failed to list what did not ingest.

Defaultnull
Value in"discovered""queued""ingesting""ingested""stale""expired""failed""not_required"
Show variants
kindstring | null

Only files of this kind: document (paged or prose), table, or media.

Defaultnull
Value in"document""table""media""json"
Show variants
name_containsstring | null

Only files whose path contains this text, case-insensitively — how to find a file you know by name. % and _ match literally.

Length1 <= length <= 256
Defaultnull
Show variants
page_sizeinteger

File entries per page. The counts always cover the whole scope.

Range1 <= value <= 500
Default100
start_afterstring | null

Resume the file listing strictly after this path: the last file_entries path of the previous page.

Lengthlength <= 1024
Defaultnull
Show variants

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/workspaces/string/tools/folder-metadata" \  -H "Content-Type: application/json" \  -d '{    "directory": "invoices",    "recursive": true,    "kind": "document"  }'
{  "directory": "string",  "overall_files": 0,  "categories": [    {}  ],  "subdirectories": [    {}  ],  "ingestion_summary": {},  "files_truncated": true,  "file_entries": [    {}  ],  "hint": "string",  "coverage": {},  "job_id": "string"}