Sharing & links

systemHUB documents can be reached two ways, and an agent should know which one it’s handing out. They behave very differently.

App linkShare link
Who can open itLogged-in members with access to that documentAnyone with the URL — no login
What it showsThe document in the systemHUB appThe published version, as machine-readable JSON
Respects roles/visibilityYes — same access model as everything elseNo — the link itself is the access
Best forTeam members working inside systemHUBExternal contractors, auditors, clients — or feeding a document to an AI that isn’t connected via MCP

A regular link to a document inside the app. Opening it requires the person to log in and have access (via role or direct assignment — see Roles & seats). If they can’t see the document in systemHUB, the link won’t show it to them.

An agent can construct an app link from the workspace alias and the document UUID (which every tree, search, and details response carries):

https://{alias}.systemhub.com/systems/{uuid}     ← Systems
https://{alias}.systemhub.com/policies/{uuid}    ← Policies
https://{alias}.systemhub.com/trainings/{uuid}   ← Trainings

This also works in reverse: when a user pastes an app URL at you, the UUID in it is the same UUID the MCP tools address — extract it and call get_system_details (or the matching section’s tool) directly. Caveats: this form requires login and access to the document, and the app won’t error on a malformed UUID until after login — so treat a constructed link as “the right address,” not proof the document exists.

Sending it to someone without a login? Add the share code to make it public — see the human-readable share link below. (Both forms were surfaced by SYSTEMologists in the field.)

A share link is a public URL for one document. Generate or retrieve one with:

→ get_document_share_link { "documentId": "7d4f2a90-…", "topicType": "system" }

Key behaviours:

⚠️ Known issue (verified 28 Jul 2026): fetching the raw api.systemhub.com/... share URL from outside returns 403 “Company not found” — that endpoint cannot resolve the workspace from the bare URL. Use the human-readable form below instead, which works.

Take the share code from get_document_share_link and put it on the app host, qualified by your workspace alias:

https://{alias}.systemhub.com/systems/{uuid}/{shareCode}
https://{alias}.systemhub.com/policies/{uuid}/{shareCode}
https://{alias}.systemhub.com/trainings/{uuid}/{shareCode}

Verified 4 Aug 2026: this renders the published document in a browser with no login, in a clean session — title, Overview and Details. A wrong or missing share code returns 404, so the code is doing the work, not an existing session.

Two behaviours worth knowing when you construct or inspect these links:

This is the link to give a human. It needs no login and no seat, which makes it the right answer for a contractor, an auditor, a client, or a team member on their phone.

⚠️ Agents: you cannot fetch this form. The share view is a client-rendered app, so a plain HTTP request (curl, an agent’s fetch tool, a link unfurler, a preview bot) gets the JavaScript shell — not the document. It only renders in a real browser. Two consequences: don’t try to read a document by fetching this URL (use get_*_details instead), and don’t treat a 200 as proof the link is valid — the 404 for a wrong share code is also rendered client-side, so status codes tell you nothing here.

There is currently no share URL an external agent can fetch without a browser. The api.systemhub.com form is the machine-readable one — it returns the published document as JSON — but it currently 403s externally (see the known issue above). Until that’s fixed, hand share links to people, and give programs MCP access instead.

get_*_details responses include a shareLink field (the URL, or null if none exists).

Rules for agents

Next: Errors & limits →