Files & storage
Internal docs — pages and files written here
Internal docs is the built-in source for what your organisation writes inside Naxis Assistant itself: notes, decisions, procedures, meeting write-ups, an AI agent's own memory — and files kept beside them. Pages live in a folder tree of their own, on this server, with their author and date recorded, and they are indexed, access-controlled, searchable and citable exactly like a document from any connected system. There is nothing to connect: the source is there from the first sync, and pages are written through the Admin API/MCP.
Pages, files and folders
- A page is text (markdown) at a path such as handbook/onboarding/first-week. The path is the page's address and its identity: write to the same path again to replace the page in place; an identical write changes nothing.
- A file is any document format Naxis Assistant reads — PDF, Word, Excel, PowerPoint, scans and the rest — at a path that carries its name, such as contracts/dc2-signed.pdf.
- Folders are the path's segments; there is no separate folder to create, and a folder exists while something is in it.
- Every page records its author — the person who wrote it, or the one it was written as — and the day it was written. A page about a particular day can name that day (a date in its metadata) and is then filed under it, so "what did Andreas decide on 30 June" finds it.
Access
Each page is written with an access list of groups (acl). A page that names none takes the source's own access groups, which you set on the Internal docs card under Documents, exactly as on any other source. A person's questions, and any recall over the API, only ever see the pages their groups allow.
Writing pages over the API
With an Admin API/MCP key (API & MCP page), against your deployment's base URL:
- POST /api/admin/internal-docs — create or replace a page or file: path, title, text (a page) or content_base64 (a file), filename, acl, metadata, author
- GET /api/admin/internal-docs?path=<folder>&recursive=false — a folder's sub-folders and documents (recursive=true: everything below it)
- GET /api/admin/internal-docs/read?path=<path> — one page with its text, or a file's record
- GET /api/admin/internal-docs/raw?path=<path> — the stored bytes
- POST /api/admin/internal-docs/move — rename, move, retitle or re-permission without rewriting: path, new_path, title, acl, metadata
- DELETE /api/admin/internal-docs?path=<path>&purge=false — remove it (purge=true erases it immediately, index included)
- POST /api/admin/internal-docs/sync — index now (every write already queues this)
- GET /api/admin/internal-docs/status — store and index counts
curl -X POST <base>/api/admin/internal-docs \
-H "Authorization: Bearer nx_ak_YOURKEY" \
-H "Content-Type: application/json" \
-d '{"path":"decisions/2026-06-dc2-penalty",
"title":"DC-2 penalty — decision",
"text":"# DC-2 penalty\nWaived for Q3 after the review of 30 June.",
"acl":["grp:finance"],
"metadata":{"date":"2026-06-30"}}'
Page fields
| path | folder/name — the page's address. Letters, digits, spaces and punctuation; no leading slash, no . or .. segments. |
|---|---|
| title | Optional display title; made from the name when omitted. |
| text | The page's text, markdown. Provide exactly one of text or content_base64. |
| content_base64 | A file's bytes, base64 (50 MB at most). Name the format in the path (report.pdf) or in filename. |
| acl | Optional list of groups (e.g. ["grp:finance"]). Named groups must already exist; omit it to use the source's own groups. |
| metadata | Optional free-form JSON kept with the page. A date (YYYY-MM-DD) names the day the page is about. |
| author | Optional {"name": …, "email": …} the page is written as; by default the admin whose key wrote it. |
Over MCP
The Admin key carries the same operations as tools: write_internal_doc, read_internal_doc, list_internal_docs, move_internal_doc and delete_internal_doc. An agent connected with it can keep its own notes — write a page, then find it again later with recall pointed at the internal docs (where set to internal, or to one of its folders such as internal:decisions). See Recall.
Behaviour worth knowing
- Writes return the page's revision and a queued indexing job; the page is findable within moments.
- A move keeps the indexed document and everything that cites it; a new body, title or author re-indexes it.
- Deleting a page removes it from answers on the next indexing pass; purge removes it everywhere at once.
- There is one Internal docs source per deployment. It appears on Documents on its own and is not offered under Add more; its access groups and its documents are managed like any source's.
Last updated 17 Sep 2026