Fetch a Solution report by public share token
const url = 'http://localhost:8000/api/solutions/shared/example/';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url http://localhost:8000/api/solutions/shared/example/Public, token-gated read of the run’s report — same { manifest, meta, data } shape as GET /api/solutions/runs/<id>/, with meta.clientId and meta.sourceSession redacted (both are auth-gated deep-links). The frontend renders it in mode="shared" (no Share action, shared caption shown). Increments the share’s view counter (atomic via F-expression). 404 for unknown tokens, 410 if the share has an expires_at in the past.
Auth: none — the token in the path is the credential.
Authorizations
Section titled “Authorizations”- None
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Responses
Section titled “Responses”GET /api/solutions/runs/<id>/ — the produced report. manifest,
meta, and data are open objects: the @aikynetix/ui renderer owns
the block shapes, and data (ReportData) is keyed by block id. Absent
block ids render as empty (the renderer’s BlockSlot skips them).
object
The SolutionDefinition.
object
ShellComponentMeta — title/subtitle/branding/sourceSession/cameraView.
object
ReportData — { blockId: payload } assembled from the run’s sessions.
object
Examplegenerated
{ "manifest": { "additionalProperty": "example" }, "meta": { "additionalProperty": "example" }, "data": { "additionalProperty": "example" }}object
Human-readable message, or a stable machine code for the cases a client branches on. The standard envelope for 400 (validation — a field-keyed object may appear instead), 401 (missing / invalid credentials), 403 (authenticated but not permitted), and 404 (absent — cross-team records are collapsed to 404 so the API never leaks the existence of another team’s data).
Examplegenerated
{ "detail": "example"}object
Human-readable message, or a stable machine code for the cases a client branches on. The standard envelope for 400 (validation — a field-keyed object may appear instead), 401 (missing / invalid credentials), 403 (authenticated but not permitted), and 404 (absent — cross-team records are collapsed to 404 so the API never leaks the existence of another team’s data).
Examplegenerated
{ "detail": "example"}