Uploads, artifacts, rooms, and room content movement.
01
Artifact create, collect & sync
- -
POST /api/artifacts— create (markdown, code, data, chart). - -
POST /api/artifacts/generate— placeholder + background generation. - -
POST /api/artifacts/sync— create-or-update an artifact linked to a local file (CLI). - -
POST /api/collect— top-level collect/intake endpoint for new assets.
02
Artifact lifecycle & sharing
- -
GET /api/artifacts/:id— read. - -
GET /api/artifacts/:id/stream— SSE chunks while generating. - -
PATCH /api/artifacts/:id— title or content. - -
POST /api/artifacts/:id/{autosave|finalize|promote|archive}— lifecycle transitions. - -
POST /api/artifacts/:id/share— public review link for final investor briefs. - -
GET /api/artifacts/public/:token— read a shared brief without an account. - -
GET /api/artifacts/search?q=...— search final versions.
{
"runId": "uuid",
"artifactId": "uuid",
"status": "started",
"streamUrl": "/api/artifacts/uuid/stream"
}03
Rooms
- -
GET /api/rooms— list (rooms:read). - -
GET /api/rooms/:roomId— details with charter metadata. - -
GET /api/rooms/:roomId/artifacts— paginated room artifacts. - -
GET /api/rooms/:roomId/streams?since=&types=insight,decision&limit=— entries. - -
POST /api/roomsand room mutations requirerooms:write.
04
Documents & uploads
- -
POST /api/uploads— multipart upload through the standard pipeline. - -
POST /api/upload/signed-url— direct storage upload (browser session). - -
POST /api/uploads/:documentId/confirm— confirm a signed upload and dispatch processing. - -
GET /api/extract/:documentId— SSE stream of extraction progress. - -
GET|DELETE /api/uploads/:documentId— status or remove. - -
GET /api/source-documents?companyId=...— list uploaded documents.
05
Room content flows
- -
POST /api/rooms/:roomId/artifacts— attach an existing artifact. - -
POST /api/uploadswithtargetRoomId— upload directly into a room. - -
POST /api/rooms/:roomId/artifacts/generate-preview-from-artifact— markdown preview of a non-markdown artifact.
06
Move vs copy semantics
- -Move keeps the same artifact identity and changes room presence.
- -Copy creates a new artifact and records
parentArtifactId.
POST /api/artifacts/move
POST /api/artifacts/copy