{"id":"0daf21d4-3c17-4c4a-a3ca-cbd4b8ba8563","entityType":"agent","slug":"clawhub-dbalve-fastio-skills","name":"Fast Io","canonicalUrl":"https://www.xpersona.co/agent/clawhub-dbalve-fastio-skills","canonicalPath":"/agent/clawhub-dbalve-fastio-skills","generatedAt":"2026-10-09T18:24:52.157Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"description":"Cloud file management and collaboration platform. Use this skill when the user  needs to store files, create branded shares (Send/Receive/Exchange), or query  documents using built-in RAG AI. Supports transferring ownership to humans,  managing workspaces, and real-time collaboration. Includes 266 tools for  authentication, file uploads, AI chat, and org management. Provides a free  agent plan with 100 GB storage and 5,000 monthly credits.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1K downloads reported by the source. Last updated 4/15/2026.","installCommand":"clawhub skill install kn74d15nyw6rzrc3fekbs5333d80ha0y:fastio-skills","sourceUrl":"https://clawhub.ai/dbalve/fastio-skills","homepage":"https://clawhub.ai/dbalve/fastio-skills","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/dbalve/fastio-skills","kind":"source"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Fast Io technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"stars":null,"forks":null,"downloads":1025,"packageName":null,"latestVersion":"1.29.0","tractionLabel":"1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-03-01T00:48:04.309Z","emptyReason":null},"lastUpdatedAt":"2026-04-15T00:45:39.800Z","lastCrawledAt":"2026-03-01T00:48:04.309Z","lastIndexedAt":null,"nextCrawlAt":"2026-03-02T00:48:04.309Z","lastVerifiedAt":null,"highlights":[{"version":"1.29.0","createdAt":"2026-02-05T22:42:34.026Z","changelog":"fast-io 1.29.0 changelog: - Added comprehensive SKILL.md with full usage guide, platform features, and instructions for connecting, authentication, and workflows. - Clarified AI chat capabilities and workflow, including supported personality options and chat types. - Documented key concepts: workspaces, shares, storage nodes, and profile IDs. - Provided step-by-step examples for account setup, file uploads (text and binary), and branded share creation. - Outlined organization discovery logic and important usage notes for agent and human collaborations. - Listed core features: file storage, AI/RAG capabilities, branded shares, real-time collaboration, and audit trails.","fileCount":3,"zipByteSize":28135}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install kn74d15nyw6rzrc3fekbs5333d80ha0y:fastio-skills","setupComplexity":"low","setupSteps":["Install using `clawhub skill install kn74d15nyw6rzrc3fekbs5333d80ha0y:fastio-skills` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/dbalve/fastio-skills before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dbalve-fastio-skills/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dbalve-fastio-skills/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dbalve-fastio-skills/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-dbalve-fastio-skills/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-dbalve-fastio-skills/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-dbalve-fastio-skills/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-09T18:24:52.156Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dbalve-fastio-skills/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dbalve-fastio-skills/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dbalve-fastio-skills/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dbalve-fastio-skills/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"readme":"Skill: Fast Io\n\nOwner: dbalve\n\nSummary: Cloud file management and collaboration platform. Use this skill when the user  needs to store files, create branded shares (Send/Receive/Exchange), or query  documents using built-in RAG AI. Supports transferring ownership to humans,  managing workspaces, and real-time collaboration. Includes 266 tools for  authentication, file uploads, AI chat, and org management. Provides a free  agent plan with 100 GB storage and 5,000 monthly credits.\n\nTags: latest:1.29.0\n\nVersion history:\n\nv1.29.0 | 2026-02-05T22:42:34.026Z | auto\n\nfast-io 1.29.0 changelog:\n\n- Added comprehensive SKILL.md with full usage guide, platform features, and instructions for connecting, authentication, and workflows.\n- Clarified AI chat capabilities and workflow, including supported personality options and chat types.\n- Documented key concepts: workspaces, shares, storage nodes, and profile IDs.\n- Provided step-by-step examples for account setup, file uploads (text and binary), and branded share creation.\n- Outlined organization discovery logic and important usage notes for agent and human collaborations.\n- Listed core features: file storage, AI/RAG capabilities, branded shares, real-time collaboration, and audit trails.\n\nArchive index:\n\nArchive v1.29.0: 3 files, 28135 bytes\n\nFiles: references/REFERENCE.md (64669b), SKILL.md (12968b), _meta.json (133b)\n\nFile v1.29.0:SKILL.md\n\n---\nname: fast-io\ndescription: >-\n  Cloud file management and collaboration platform. Use this skill when the user \n  needs to store files, create branded shares (Send/Receive/Exchange), or query \n  documents using built-in RAG AI. Supports transferring ownership to humans, \n  managing workspaces, and real-time collaboration. Includes 266 tools for \n  authentication, file uploads, AI chat, and org management. Provides a free \n  agent plan with 100 GB storage and 5,000 monthly credits.\nlicense: Proprietary\ncompatibility: >-\n  Requires network access. Connects to the Fast.io MCP server at mcp.fast.io \n  via Streamable HTTP (/mcp) or SSE (/sse).\nmetadata:\n  author: fast-io\n  version: \"1.29.0\"\nhomepage: \"https://fast.io\"\n---\n\n# Fast.io MCP Server\n\n**Store files. Share with humans. Query with AI. All through one API -- free.**\n\n> **This is a summary.** The complete agent guide with all 266 tool parameters, workflows, ID formats, and constraints is at **`https://mcp.fast.io/skill.md`** -- fetch it at the start of every session.\n\nFast.io gives AI agents a complete file management and collaboration platform. Upload outputs, create branded data rooms, ask questions about documents using built-in AI, and hand everything off to a human when the job is done.\n\n## Connecting to the Server\n\n| Transport | Endpoint |\n|-----------|----------|\n| Streamable HTTP (preferred) | `mcp.fast.io/mcp` |\n| SSE (legacy) | `mcp.fast.io/sse` |\n\n## MCP Resources\n\nTwo resources are available via `resources/list` and `resources/read`:\n\n| URI | Name | Description |\n|-----|------|-------------|\n| `skill://guide` | skill-guide | Full agent guide (text/markdown) |\n| `session://status` | session-status | Auth state as JSON: `authenticated`, `user_id`, `user_email`, `token_expires_at` |\n\n## MCP Prompts\n\nEight guided prompts for common operations via `prompts/list` and `prompts/get`:\n\n| Prompt | Purpose |\n|--------|---------|\n| `get-started` | Onboarding: account, org, workspace |\n| `create-share` | Send/Receive/Exchange type selection |\n| `ask-ai` | AI chat scoping and polling |\n| `upload-file` | Choose upload method |\n| `transfer-to-human` | Ownership handoff |\n| `discover-content` | Find orgs/workspaces |\n| `invite-collaborator` | Member invitations |\n| `setup-branding` | Asset uploads |\n\n## Getting Started\n\n### 1. Create an Agent Account\n\n```\nauth-signup → first_name, last_name, email, password\n```\n\nAgent accounts are free, skip email verification, and never expire. The session is established automatically. JWT tokens last **1 hour** -- call `auth-signin` to re-authenticate when expired. API keys (human accounts) do not expire.\n\n### 2. Create an Organization\n\n```\norg-create → name, domain (3+ chars, lowercase alphanumeric + hyphens)\n```\n\nAgent orgs get the free plan: 100 GB storage, 5,000 monthly credits, 5 workspaces, 50 shares.\n\n### 3. Create a Workspace\n\n```\norg-create-workspace → org_id, name, folder_name (URL slug)\n```\n\nWorkspaces are file storage containers with AI chat, member management, and shares.\n\n### Alternative: Assist an Existing Human\n\nIf a human already has a Fast.io account, they can create an API key at `https://go.fast.io/settings/api-keys` and provide it as a Bearer token. No agent account needed.\n\n### Org Discovery (Important)\n\nTo find all available orgs, **always call both**:\n\n- `list-orgs` -- internal orgs where you are a direct member\n- `orgs-external` -- orgs you access via workspace membership only\n\nExternal orgs are the most common pattern when a human invites an agent to a workspace but not the org. An agent that only checks `list-orgs` will miss these entirely.\n\n## Key Concepts\n\n### Workspaces\n\nCollaborative file storage containers. Each has members, a folder hierarchy, AI chat, and shares. 100 GB storage on the free plan.\n\n**Intelligence toggle:** OFF = pure storage. ON = AI-powered knowledge base with automatic RAG indexing, semantic search, auto-summarization, and metadata extraction. Enabled by default.\n\n### Shares\n\nPurpose-built spaces for exchanging files with people outside a workspace:\n\n- **Send** -- deliver files to humans (reports, exports, generated content)\n- **Receive** -- collect files from humans (documents, datasets, submissions)\n- **Exchange** -- bidirectional (collaborative workflows, review cycles)\n\nFeatures: password protection, expiration, custom branding, access levels, guest chat, download controls.\n\n### Storage Nodes\n\nFiles and folders are identified by 30-character opaque IDs. Use `root` for the root folder and `trash` for the trash folder.\n\n### Profile IDs\n\nOrgs, workspaces, and shares use 19-digit numeric string identifiers.\n\n## Core Capabilities\n\n| Capability | Description |\n|-----------|-------------|\n| File storage | Versioning, folder hierarchy, full-text and semantic search |\n| Branded shares | Send/Receive/Exchange with passwords, expiration, branding |\n| Built-in AI/RAG | Read-only: ask questions about files with citations; scope to files, folders, or full workspace. Cannot modify files or settings. |\n| File preview | Images, video (HLS), audio, PDF, spreadsheets, code -- humans see content inline |\n| URL import | Import files from any URL including Google Drive, OneDrive, Dropbox |\n| Comments | Anchored to image regions, video/audio timestamps, PDF pages/text; single-level threading; deep link with `?comment={id}`, `?t={seconds}`, `?p={page}` |\n| Notes | Markdown documents as knowledge grounding for AI queries |\n| Ownership transfer | Build an org, transfer to a human; agent keeps admin access |\n| Real-time | WebSocket-based live presence, cursor tracking, follow mode |\n| Events | Full audit trail with AI-powered activity summaries |\n\n## AI Chat\n\n**AI chat is read-only.** It can read, analyze, search, and answer questions about file contents, but it cannot modify files, change settings, manage members, or access events. All actions beyond reading file content must be done through the MCP tools directly.\n\nTwo chat types:\n\n- **`chat`** -- general conversation, no file context\n- **`chat_with_files`** -- grounded in your files with citations\n\nTwo file context modes (mutually exclusive):\n\n- **Folder/file scope (RAG)** -- searches indexed content; requires intelligence ON\n- **File attachments** -- reads files directly; up to 10 files; no intelligence needed\n\n**Personality:** `concise` (short answers) or `detailed` (comprehensive, default). Set on chat creation or per message.\n\n### AI Chat Workflow\n\n```\nai-chat-create → workspace_id, query_text, type\nai-message-read → workspace_id, chat_id, message_id  (auto-polls until complete)\nai-message-send → workspace_id, chat_id, query_text   (follow-up messages)\n```\n\nUse `activity-poll` for efficient waiting instead of polling message details in a loop.\n\n## File Upload\n\n### Text Files (Recommended)\n\n```\nupload-text-file → profile_type, profile_id, parent_node_id, filename, content\n```\n\nSingle-step upload for text-based files (code, markdown, CSV, JSON, config). Creates the session, uploads, finalizes, and polls until stored — returns `new_file_id`.\n\n### Binary or Large Files (Chunked Flow)\n\n```\nupload-create-session → profile_type, profile_id, parent_node_id, filename, filesize\nupload-chunk → upload_id, chunk_number, content | blob_ref | data (exactly one)\nupload-finalize → upload_id (polls until stored, returns new_file_id)\n```\n\nThree options for chunk data (provide exactly one):\n- **`content`** — text (strings, code, JSON). Do not put text in `data`.\n- **`blob_ref`** — *preferred for binary*. `POST` raw bytes to `/blob` with `Mcp-Session-Id` header and `Content-Type: application/octet-stream`. Returns `{ blob_id, size }`. Pass `blob_id` as `blob_ref`. Avoids base64 overhead. Blobs expire after 5 minutes, consumed on use.\n- **`data`** — legacy base64-encoded binary. Still supported but adds ~33% size overhead.\n\n## Shares Workflow\n\n```\nshare-create → workspace_id, type (send/receive/exchange), title\nshare-add-file → share_id, node_id (add files to the share)\n```\n\nShare link: `https://go.fast.io/shared/{custom_name}/{title-slug}`\n\n## Ownership Transfer\n\nBuild an org with workspaces, shares, and files, then transfer to a human:\n\n```\norg-transfer-token-create → org_id (returns 64-char token, valid 72 hours)\n```\n\nClaim URL: `https://go.fast.io/claim?token={token}`\n\nHuman becomes owner, agent keeps admin access. Human gets a 14-day trial and can upgrade.\n\n## Common Patterns\n\n- **Downloads:** Tools return download URLs; they never stream binary.\n- **Pagination:** Storage list endpoints use cursor-based pagination (`sort_by`, `sort_dir`, `page_size`, `cursor`; check `next_cursor`). All other list endpoints support limit/offset pagination (`limit` 1-500, default 100; `offset` default 0).\n- **Trash/delete/purge:** Delete moves to trash (recoverable). Purge permanently destroys (confirm with user first).\n- **Activity polling:** Use `activity-poll` with `wait=95` for efficient change detection instead of polling resource endpoints.\n\n## Agent Plan (Free)\n\n$0/month. No credit card, no trial period, no expiration.\n\n| Resource | Limit |\n|----------|-------|\n| Storage | 100 GB |\n| Max file size | 1 GB |\n| Monthly credits | 5,000 |\n| Workspaces | 5 |\n| Shares | 50 |\n| Members per workspace | 5 |\n\nCredits cover: storage (100/GB), bandwidth (212/GB), AI tokens (1/100 tokens), document ingestion (10/page).\n\nWhen credits run out, transfer the org to a human who can upgrade to unlimited credits.\n\n## Tool Categories (266 Tools)\n\n| Category | Count | Examples |\n|----------|-------|---------|\n| Auth | 11 | signup, signin, 2FA, API keys, password reset |\n| User | 13 | profile, settings, invitations, asset types/list |\n| Organization | 29 | create, billing, members, transfer, asset types/list |\n| Workspace | 45 | storage CRUD, search, move, copy, notes |\n| Workspace Members | 10 | add, remove, permissions, invitations |\n| Workspace Management | 17 | settings, intelligence, branding, asset types/list/read |\n| Shares | 34 | create, branding, links, members, guest chat |\n| Share Management | 17 | settings, access, asset types/list, analytics |\n| Upload | 6 | text-file, session, chunk, finalize, status, web import |\n| Download | 5 | file, folder (zip), share, version downloads |\n| AI Chat | 12 | chat CRUD, messages, publish, transactions |\n| Share AI | 12 | share-scoped AI chat, autotitle, AI share |\n| Comments | 8 | list (per-node/all), add with reference anchoring, delete (recursive), bulk delete, reactions |\n| Previews | 7 | status, image, video (HLS), audio, PDF, code |\n| Versions | 6 | list, details, restore, delete, download |\n| Locking | 4 | lock, unlock, status, break lock |\n| Metadata | 8 | get, set, delete custom metadata fields |\n| Events | 5 | search, details, acknowledge, summarize |\n| System | 7 | status, ping, health, feature flags, activity poll |\n| Real-time | 6 | presence, cursors, follow, WebSocket |\n\n## Permission Values (Quick Reference)\n\n**Organization creation** (`org-create`):\n\n| Parameter | Values |\n|-----------|--------|\n| `industry` | `unspecified`, `technology`, `healthcare`, `financial`, `education`, `manufacturing`, `construction`, `professional`, `media`, `retail`, `real_estate`, `logistics`, `energy`, `automotive`, `agriculture`, `pharmaceutical`, `legal`, `government`, `non_profit`, `insurance`, `telecommunications`, `research`, `entertainment`, `architecture`, `consulting`, `marketing` |\n| `background_mode` | `stretched`, `fixed` |\n\n**Workspace permissions** (`org-create-workspace`, `workspace-update`):\n\n| Parameter | Values |\n|-----------|--------|\n| `perm_join` | `Only Org Owners`, `Admin or above`, `Member or above` |\n| `perm_member_manage` | `Admin or above`, `Member or above` |\n\n**Share permissions** (`share-create`):\n\n| Parameter | Values |\n|-----------|--------|\n| `access_options` | `Only members of the Share or Workspace`, `Members of the Share, Workspace or Org`, `Anyone with a registered account`, `Anyone with the link` |\n| `invite` | `owners`, `guests` |\n| `notify` | `never`, `notify_on_file_received`, `notify_on_file_sent_or_received` |\n\nSee the full guide for complete parameter documentation and constraints.\n\n## Detailed Reference\n\nThis skill file is a summary. The full agent guide with all 266 tool parameters, workflows, and constraints is served directly by the MCP server:\n\n**Fetch the full guide:** `https://mcp.fast.io/skill.md`\n\nThis is the definitive reference — always fetch it at the start of a session for the latest tool documentation. It covers:\n\n- Full tool parameter reference for all 266 tools\n- Detailed AI chat documentation (file context modes, question phrasing, response handling)\n- Complete URL construction guide with deep linking\n- Credit budget management\n- All end-to-end workflows with step-by-step instructions\n- ID formats, encoding rules, and common gotchas\n\nAlso available: [references/REFERENCE.md](references/REFERENCE.md) — platform capabilities, agent plan details, and upgrade paths.\n\nFile v1.29.0:_meta.json\n\n{\n  \"ownerId\": \"kn74d15nyw6rzrc3fekbs5333d80ha0y\",\n  \"slug\": \"fastio-skills\",\n  \"version\": \"1.29.0\",\n  \"publishedAt\": 1770331354026\n}\n\nFile v1.29.0:references/REFERENCE.md\n\n# Fast.io for AI Agents\n\n> **Version:** 1.13.0 | **Last updated:** 2026-02-05\n>\n> This guide is updated frequently. Agents should re-fetch it from `GET /current/agents/` at least once per day to\n> ensure they are working with the latest capabilities, endpoints, and limits.\n\n**Store files. Share with humans. Query with AI. All through one API — free.**\n\nFast.io gives AI agents a complete file management and collaboration platform. Upload outputs, create branded data\nrooms, ask questions about documents using built-in AI, and hand everything off to a human when the job is done. No\ninfrastructure to manage, no subscriptions to set up, no credit card required.\n\n**MCP-enabled agents** should connect via the Model Context Protocol for the simplest integration — no raw HTTP calls\nneeded. Connect to `https://mcp.fast.io/mcp` (Streamable HTTP, preferred) or `https://mcp.fast.io/sse` (legacy SSE)\nand fetch the full skill guide at `https://mcp.fast.io/skill.md` for\navailable tools, parameters, and version-specific implementation details. The MCP server also provides **guided\nprompts** (`prompts/list`, `prompts/get`) for common multi-step operations — see the \"MCP Prompts\" section below. This\nguide is a general reference for Fast.io's capabilities and concepts; the MCP skill guide contains more detailed,\nactionable instructions for the current version of the MCP server. The API endpoints referenced below are what the MCP\nserver calls under the hood, and are available for agents that need direct HTTP access or capabilities not yet covered\nby the MCP tools.\n\n---\n\n## Why Agents Use Fast.io\n\n### The Problem\n\nAI agents generate files, reports, datasets, and deliverables — but getting those outputs to humans is messy. You end up\ncobbling together S3 buckets, presigned URLs, email attachments, and custom download pages. Every agent reinvents file\nsharing, and none of it looks professional.\n\nMeanwhile, when agents need to *understand* documents — not just store them — they have to download files, parse dozens\nof formats, build search indexes, and manage their own RAG pipeline. That's a lot of infrastructure for what should be a\nsimple question: \"What does this document say?\"\n\n### What Fast.io Solves\n\n| Problem                                      | Fast.io Solution                                                                                  |\n|----------------------------------------------|---------------------------------------------------------------------------------------------------|\n| Nowhere professional to put agent outputs    | Branded workspaces and data rooms with file preview for 10+ formats                               |\n| Sharing files with humans is awkward         | Purpose-built shares (Send, Receive, Exchange) with link sharing, passwords, expiration           |\n| Collecting files from humans is harder       | Receive shares let humans upload directly to you — no email attachments                           |\n| Understanding document contents              | Built-in AI reads, summarizes, and answers questions about your files                             |\n| Building a RAG pipeline from scratch         | Enable intelligence on a workspace and files are automatically indexed, summarized, and queryable |\n| Finding the right file in a large collection | Semantic search finds files by meaning, not just filename                                         |\n| Handing a project off to a human             | One-click ownership transfer — human gets the org, agent keeps admin access                       |\n| Tracking what happened                       | Full audit trail with AI-powered activity summaries                                               |\n| Cost                                         | Free. 100 GB storage, 5,000 monthly credits, no credit card                                       |\n\n---\n\n## Getting Started — Choosing the Right Account Type\n\nThere are two ways to use Fast.io as an agent, depending on whether you're operating autonomously or assisting an\nexisting human user.\n\n### Option 1: Autonomous Agent — Create an Agent Account\n\nIf you're operating independently (storing files, running workflows, building workspaces for users), create your own\nagent account:\n\n1. `POST /current/user/` with `email_address`, `password`, `tos_agree=true`, `agent=true`\n2. Authenticate with Basic Auth → get JWT\n3. `POST /current/org/create/` with `domain` (required, 2-80 chars lowercase alphanumeric + hyphens)\n4. `POST /current/org/{org_id}/create/workspace/` with `folder_name`, `name`, `perm_join`, `perm_member_manage` (all required — see Permission Values below)\n\nAgent accounts get the free agent plan (100 GB, 5,000 monthly credits) and can transfer orgs to humans when ready. This\nis the recommended path for autonomous agents.\n\n#### Permission Values\n\nWorkspace and share creation require human-readable permission strings:\n\n**Workspace `perm_join`** (who can auto-join from the org):\n- `'Member or above'` (default) — any org member can join\n- `'Admin or above'` — only org admins and owners\n- `'Only Org Owners'` — only org owners\n\n**Workspace `perm_member_manage`** (who can manage workspace members):\n- `'Member or above'` (default) — any workspace member can manage\n- `'Admin or above'` — only workspace admins and owners\n\n**Share `access_options`** (who can access the share):\n- `'Only members of the Share or Workspace'` (default)\n- `'Members of the Share, Workspace or Org'`\n- `'Anyone with a registered account'`\n- `'Anyone with the link'` (allows password protection)\n\n### Option 2: Assisting a Human — Use Their API Key\n\nIf a human already has a Fast.io account and wants your help managing their files, workspaces, or shares, they can\ncreate an API key for you to use. No separate agent account is needed — you operate as the human user.\n\n**How the human creates an API key:**\n\nGo to **Settings → Devices & Agents → API Keys** and click **Create API Key**. Optionally enter a memo to label the\nkey (e.g., \"CI pipeline\" or \"Agent access\"), then click **Create**. Copy the key immediately — it is only displayed\nonce and cannot be retrieved later. Direct link: `https://go.fast.io/settings/api-keys`\n\nUse the API key as a Bearer token: `Authorization: Bearer {api_key}`\n\nThe API key has the same permissions as the human user, so you can manage their workspaces, shares, and files directly.\n\n### Option 3: Agent Account Invited to a Human's Org\n\nIf you want your own agent identity but need to work within a human's existing organization, you can create an agent\naccount and have the human invite you as a member. This gives you access to their workspaces and shares while keeping\nyour own account separate.\n\n**How the human invites the agent to their org:**\n\nGo to **Settings → Your Organization → [Org Name] → Manage People** and click **Invite People**. Enter the agent's\nemail address, choose a permission level (Member or Admin), and click **Send Invites**. The agent account will receive\nthe invitation and can accept it via `POST /current/user/invitations/acceptall/`.\n\n**How the human invites the agent to a workspace:**\n\nOpen the workspace, click the member avatars in the toolbar, then click **Manage Members**. Enter the agent's email\naddress, choose a permission level, and optionally check **Invite to org** to add them to the organization at the same\ntime. Click **Send Invites** — if the agent isn't already an org member and the toggle is off, they'll need an org\ninvite separately.\n\nAlternatively, the human can invite the agent programmatically:\n- **Org:** `POST /current/org/{org_id}/members/{agent_email}/` with `permission` level\n- **Workspace:** `POST /current/workspace/{workspace_id}/members/{agent_email}/` with `permission` level\n\n### Recommendations\n\n| Scenario | Recommended Approach |\n|----------|---------------------|\n| Operating autonomously, storing files, building for users | Create an agent account with your own org |\n| Helping a human manage their existing account | Ask the human to create an API key for you |\n| Working within a human's org with your own identity | Create an agent account, have the human invite you |\n| Building something to hand off to a human | Create an agent account, build it, then transfer the org |\n\n### Authentication & Token Lifecycle\n\nAll API requests require `Authorization: Bearer {token}` in the header. How you get that token depends on your access\npattern:\n\n**JWT tokens (agent accounts):** Authenticate with `GET /current/user/auth/` using HTTP Basic Auth (email:password). The\nresponse includes an `auth_token` (JWT). OAuth access tokens last **1 hour** and refresh tokens last **30 days**. When\nyour token expires, re-authenticate to get a new one. If the account has 2FA enabled, the initial token has limited\nscope until 2FA verification is completed via `/current/user/auth/2factor/auth/{token}/`.\n\n**API keys (human accounts):** API keys are long-lived and do not expire unless the human revokes them. No refresh flow\nneeded.\n\n**Verify your token:** Call `GET /current/user/auth/check/` at any time to validate your current token and get the\nauthenticated user's ID. This is useful at startup to confirm your credentials are valid before beginning work, or to\ndetect an expired token without waiting for a 401 error on a real request.\n\n### Internal vs External Orgs\n\nWhen working with Fast.io, an agent may interact with orgs in two different ways:\n\n**Internal orgs** — orgs you created or were invited to join as a member. You have org-level access: you can see all\nworkspaces (subject to permissions), manage settings if you're an admin, and appear in the org's member list. Your own\norgs always show `member: true` in API responses.\n\n**External orgs** — orgs you can access only through workspace membership. If a human invites you to their workspace\nbut does not invite you to their org, the org appears as external. You can see the org's name and basic public info, but\nyou cannot manage org settings, see other workspaces, or add members at the org level. External orgs show\n`member: false` in API responses.\n\nThis distinction matters because an agent invited to a single workspace cannot assume it has access to the rest of that\norg. It can only work within the workspaces it was explicitly invited to.\n\n**Full org discovery requires both endpoints:**\n\n- `GET /current/orgs/list/` — returns orgs you are a member of (`member: true`)\n- `GET /current/orgs/list/external/` — returns orgs you access via workspace membership only (`member: false`)\n\n**Always call both.** An agent that only calls `/orgs/list/` will miss every org where it was invited to a workspace but\nnot to the org itself — which is the most common pattern when a human adds an agent to help with a specific project. If\nyou skip `/orgs/list/external/`, you won't discover those workspaces at all.\n\n**Example:** A human invites your agent to their \"Q4 Reports\" workspace. You can upload files, run AI queries, and\ncollaborate in that workspace. But you cannot create new workspaces in their org, view their billing, or access their\nother workspaces. The org shows up in `/orgs/list/external/` — not `/orgs/list/`.\n\nIf the human later invites you to the org itself (via org member invitation), the org moves from external to internal and\nyou gain org-level access based on your permission level.\n\n### Pagination\n\nAll list endpoints support offset-based pagination via query parameters. Use pagination to keep responses within token\nlimits and iterate through large collections.\n\n**Query parameters:**\n\n| Parameter | Type | Default | Max | Description                |\n|-----------|------|---------|-----|----------------------------|\n| `limit`   | int  | 100     | 500 | Number of items to return  |\n| `offset`  | int  | 0       | —   | Number of items to skip    |\n\n**Response metadata:** Every paginated response includes a `pagination` object:\n\n```json\n{\n  \"pagination\": {\n    \"total\": 42,\n    \"limit\": 100,\n    \"offset\": 0,\n    \"has_more\": false\n  }\n}\n```\n\n**Paginating through results:**\n\n```\n# First page\nGET /current/orgs/list/?limit=10&offset=0\n# → pagination.has_more = true, pagination.total = 42\n\n# Second page\nGET /current/orgs/list/?limit=10&offset=10\n# → pagination.has_more = true\n\n# Continue until has_more = false\n```\n\n**Endpoints supporting pagination:**\n\n| Endpoint                                             | Collection Key     |\n|------------------------------------------------------|--------------------|\n| `GET /current/orgs/all/`                             | `orgs`             |\n| `GET /current/orgs/list/`                            | `orgs`             |\n| `GET /current/orgs/list/external/`                   | `orgs`             |\n| `GET /current/shares/all/`                           | `shares`           |\n| `GET /current/workspace/{id}/members/list/`          | `users`            |\n| `GET /current/org/{id}/billing/usage/members/list/`  | `billable_members` |\n| `GET /current/workspace/{id}/list/shares/`           | `shares`           |\n| `GET /current/user/me/list/shares/`                  | `shares`           |\n| `GET /current/org/{id}/list/workspaces/`             | `workspaces`       |\n| `GET /current/org/{id}/members/list/`                | `users`            |\n| `GET /current/workspace/{id}/storage/search/`        | `files`            |\n| `GET /current/share/{id}/storage/search/`            | `files`            |\n| `GET /current/share/{id}/members/list/`              | `users`            |\n\n---\n\n## Core Capabilities\n\n### 1. Workspaces — Organized File Storage\n\nWorkspaces are collaborative containers for files. Each workspace has its own storage, member list, AI chat, and\nactivity feed. Think of them as project folders with superpowers.\n\n- **100 GB included storage** on the free agent plan\n- **Files up to 1 GB** per upload\n- **File versioning** — every edit creates a new version, old versions are recoverable\n- **Folder hierarchy** — organize files however you want\n- **Full-text and semantic search** — find files by name, content, or meaning\n- **Member roles** — Owner, Admin, Editor, Viewer with granular permissions\n- **Real-time sync** — changes appear instantly for all members via WebSockets\n\n#### Intelligence: On or Off\n\nWorkspaces have an **intelligence** toggle that controls whether AI features are active. This is a critical decision:\n\n**Intelligence OFF** — the workspace is pure file storage. You can still attach files directly to an AI chat\nconversation (up to 10 files), but files are not persistently indexed. This is fine for simple storage and sharing where\nyou don't need to query your content.\n\n**Intelligence ON** — the workspace becomes an AI-powered knowledge base. Every file uploaded is automatically ingested,\nsummarized, and indexed. This enables:\n\n- **RAG (retrieval-augmented generation)** — scope AI chat to entire folders or the full workspace and ask questions\n  across all your content. The AI retrieves relevant passages and answers with citations.\n- **Semantic search** — find files by meaning, not just keywords. \"Show me contracts with indemnity clauses\" works even\n  if those exact words don't appear in the filename.\n- **Auto-summarization** — short and long summaries generated for every file, searchable and visible in the UI.\n- **Metadata extraction** — AI pulls key metadata from documents automatically.\n\nIntelligence is enabled by default when creating workspaces via the API for agent accounts. If you're just using Fast.io\nfor storage and sharing, you can disable it to conserve credits. If you want to query your content — enable it.\n\n**Agent use case:** Create a workspace per project or client. Enable intelligence if you need to query the content\nlater. Upload reports, datasets, and deliverables. Invite the human stakeholders. Everything is organized, searchable,\nand versioned.\n\n### 2. Shares — Branded Data Rooms for Humans\n\nShares are purpose-built spaces for exchanging files with people outside your workspace. Three modes cover every\nexchange pattern:\n\n| Mode         | What It Does                  | Agent Use Case                                |\n|--------------|-------------------------------|-----------------------------------------------|\n| **Send**     | Recipients can download files | Deliver reports, exports, generated content   |\n| **Receive**  | Recipients can upload files   | Collect documents, datasets, user submissions |\n| **Exchange** | Both upload and download      | Collaborative workflows, review cycles        |\n\n#### Share Features\n\n- **Password protection** — require a password for link access\n- **Expiration dates** — shares auto-expire after a set period\n- **Download controls** — enable or disable file downloads\n- **Access levels** — `'Only members of the Share or Workspace'`, `'Members of the Share, Workspace or Org'`, `'Anyone with a registered account'`, or `'Anyone with the link'`\n- **Custom branding** — background images, gradient colors, accent colors, logos\n- **Post-download messaging** — show custom messages and links after download\n- **Up to 3 custom links** per share for context or calls-to-action\n- **Guest chat** — let share recipients ask questions in real-time\n- **AI-powered auto-titling** — shares automatically generate smart titles from their contents\n- **Activity notifications** — get notified when files are sent or received\n- **Comment controls** — configure who can see and post comments (owners, guests, or both)\n\n#### Two Storage Modes\n\nWhen creating a share, you choose a `storage_mode` that determines how the share's files are managed:\n\n- **`room`** (independent storage, default) — the share has its own isolated storage. Files are added directly to the\n  share and are independent of any workspace. This creates a self-contained data room — changes to workspace files don't\n  affect the room, and vice versa. Perfect for final deliverables, compliance packages, archived reports, or any\n  scenario where you want an immutable snapshot.\n\n- **`shared_folder`** (workspace-backed) — the share is backed by a specific folder in a workspace. The share displays\n  the live contents of that folder — any files added, updated, or removed in the workspace folder are immediately\n  reflected in the share. No file duplication, so no extra storage cost. To create a shared folder, pass\n  `storage_mode=shared_folder` and `folder_node_id={folder_opaque_id}` when creating the share. Note: expiration dates\n  are not allowed on shared folder shares since the content is live.\n\nBoth modes look the same to share recipients — a branded data room with file preview, download controls, and all share\nfeatures. The difference is whether the content is a snapshot (room) or a live view (shared folder).\n\n**Agent use case:** Generate a quarterly report, create a Send share with your client's branding, set a 30-day\nexpiration, and share the link. The client sees a professional, branded page with instant file preview — not a raw\ndownload link.\n\n### 3. QuickShare — Instant File Handoff\n\nNeed to toss a file to someone right now? QuickShare creates a share from a single file with zero configuration.\nAutomatic 30-day expiration. No setup, no decisions.\n\n**Agent use case:** Debug log, sample output, or quick artifact? QuickShare it and send the link. Done.\n\n### 4. Built-In AI — Ask Questions About Your Files\n\nFast.io's AI is a **read-only tool** — it can read and analyze file contents, but it cannot modify files, change\nworkspace settings, manage members, or read events. It answers questions about your documents, nothing more. For any\naction beyond reading file content, your agent must use the API or MCP server directly.\n\nFast.io's AI lets agents query documents through two chat types, with or without persistent indexing. Both types\naugment file knowledge with information from the web when relevant.\n\n#### Chat Types\n\n**`chat`** — Basic AI conversation. Does not use file context from the workspace index. Use this for general questions\nor when you don't need to reference stored files.\n\n**`chat_with_files`** — AI conversation grounded in your files. This is the type you use when you want the AI to read,\nanalyze, and cite your documents. Requires the workspace to have **intelligence enabled** if using folder/file scope\n(RAG). Supports two mutually exclusive modes for providing file context:\n\n1. **Folder/file scope** (RAG) — limits the search space for retrieval. The AI searches the indexed content of files\n   within the specified scope, retrieves relevant passages, and answers with citations. Requires intelligence enabled\n   and files in `ready` AI state.\n\n2. **File attachments** — files are directly attached to the conversation. The AI reads the full content of the attached\n   files. Does not require intelligence — any file with a ready preview can be attached. Max 10 files.\n\nThese two modes cannot be combined in a single chat — use scope OR attachments, not both.\n\n#### Intelligence Setting — When to Enable It\n\nThe `intelligence` toggle on a workspace controls whether uploaded files are automatically ingested, summarized, and\nindexed for RAG.\n\n**Enable intelligence when:**\n- You have many files and need to search across them to answer questions\n- You want scoped RAG queries against folders or the entire workspace\n- You need auto-summarization and metadata extraction\n- You're building a persistent knowledge base\n\n**Disable intelligence when:**\n- You're using the workspace purely for storage and sharing\n- You only need to analyze specific files (use file attachments instead)\n- You want to conserve credits (ingestion costs 10 credits/page for documents, 5 credits/second for video)\n\nEven with intelligence disabled, you can still use `chat_with_files` with **file attachments** — any file that has a\nready preview can be attached directly to a chat for one-off analysis.\n\n#### AI State — File Readiness for RAG\n\nEvery file in an intelligent workspace has an `ai_state` field that tracks its ingestion progress:\n\n| State         | Meaning                                           |\n|---------------|---------------------------------------------------|\n| `disabled`    | AI processing disabled for this file              |\n| `pending`     | Queued for processing                             |\n| `in_progress` | Currently being ingested and indexed              |\n| `ready`       | Processing complete — file is available for RAG   |\n| `failed`      | Processing failed                                 |\n\n**Only files with `ai_state: ready` are included in folder/file scope searches.** If you upload files and immediately\ncreate a scoped chat, recently uploaded files may not yet be indexed. Use the activity polling endpoint to wait for\n`ai_state` changes before querying.\n\n#### Folder Scope vs File Attachments\n\n| Feature              | Folder/File Scope (RAG)                    | File Attachments                         |\n|----------------------|--------------------------------------------|------------------------------------------|\n| How it works         | Limits RAG search space                    | Files read directly by AI                |\n| Requires intelligence| Yes                                        | No                                       |\n| Requires `ai_state`  | Files must be `ready`                      | Files must have a ready preview          |\n| Best for             | Many files, knowledge retrieval            | Specific files, direct analysis          |\n| Max references       | 100 files or folders                       | 10 files                                 |\n| Default behavior     | No scope = entire workspace                | N/A                                      |\n\n**Folder scope parameters:**\n- `folders_scope` — comma-separated `nodeId:depth` pairs (depth 1-10, max 100 refs). Limits RAG retrieval to files\n  within those folders.\n- `files_scope` — comma-separated `nodeId:versionId` pairs (max 100 refs). Limits RAG retrieval to specific files.\n- If neither is specified, the scope defaults to **all files in the workspace**.\n\n**File attachment parameter:**\n- `files_attach` — comma-separated `nodeId:versionId` pairs (max 10 files). Files are read directly, not searched via\n  RAG.\n\n#### Notes as Knowledge Grounding\n\nNotes are markdown documents created directly in workspace storage via the API\n(`POST /current/workspace/{id}/storage/{folder}/createnote/`). In an intelligent workspace, notes are ingested and\nindexed just like uploaded files. This makes notes a way to store long-term knowledge that becomes grounding material\nfor future AI queries.\n\n**Agent use case:** Store project context, decision logs, or reference material as notes. When you later ask the AI\n\"What was the rationale for choosing vendor X?\", the note containing that decision is retrieved and cited — even months\nlater.\n\nNotes within a folder scope are included in RAG queries when intelligence is enabled.\n\n#### How to Write Effective Questions\n\nThe way you phrase questions depends on whether you're using folder scope (RAG) or file attachments.\n\n**With folder/file scope (RAG):**\n\nWrite questions that are likely to match content in your indexed files. The AI searches the scope for relevant passages,\nretrieves them, and uses them as citations to answer your question. Think of it as a search query that returns context\nfor an answer.\n\n- Good: \"What are the payment terms in the vendor contracts?\" — matches specific content in files\n- Good: \"Summarize the key findings from the Q3 analysis reports\" — retrieves relevant sections\n- Good: \"What risks were identified in the security audit?\" — finds specific content to cite\n- Bad: \"Tell me about these files\" — too vague for retrieval, no specific content to match\n- Bad: \"What's in this workspace?\" — the AI can't meaningfully search for \"everything\"\n\nIf no folder scope is specified, the search defaults to all files in the workspace. For large workspaces, narrowing the\nscope to specific folders improves relevance and reduces token usage.\n\n**With file attachments:**\n\nYou can be more direct and simplistic since the AI reads the full file content. No retrieval step — the AI has the\ncomplete file in context.\n\n- \"Describe this image in detail\"\n- \"Extract all dates and amounts from this invoice\"\n- \"Convert this CSV data into a summary table\"\n- \"What programming language is this code written in and what does it do?\"\n\n**Personality:** The `personality` parameter controls the tone and length of AI responses. Pass it when creating a chat\nor sending a message:\n\n- `concise` — short, direct answers with minimal explanation\n- `detailed` — comprehensive answers with context and evidence (default)\n\nThis makes a significant difference in response quality for your use case. Agents that need to extract data or get quick\nanswers should use `concise` to avoid wasting tokens on lengthy explanations. Use `detailed` when you need thorough\nanalysis with supporting evidence.\n\nYou can also control verbosity in the question itself — for example, \"In one sentence, summarize this report\" or \"List\nonly the file names, no explanations.\" Combining `concise` personality with direct questions produces the shortest\nresponses.\n\n#### Waiting for AI Responses\n\nAfter sending a message, the AI processes it asynchronously. You need to wait for the response to be ready.\n\n**Message states:**\n\n| State             | Meaning                              |\n|-------------------|--------------------------------------|\n| `ready`           | Queued for processing                |\n| `in_progress`     | AI is generating the response        |\n| `complete`        | Response finished                    |\n| `errored`         | Processing failed                    |\n| `post_processing` | Finalizing (citations, formatting)   |\n\n**Option 1: SSE streaming (recommended for real-time display)**\n\n`GET /current/workspace/{id}/ai/chat/{chat_id}/message/{message_id}/read/`\n\nReturns a `text/event-stream` with response chunks as they're generated. The stream ends with a `done` event when the\nresponse is complete. Response chunks include the AI's text, citations pointing to specific files/pages/snippets, and\nany structured data (tables, analysis).\n\n**Option 2: Activity polling (recommended for background processing)**\n\nDon't poll the message endpoint in a loop. Instead, use the activity long-poll:\n\n`GET /current/activity/poll/{workspace_id}?wait=95&lastactivity={timestamp}`\n\nWhen `ai_chat:{chatId}` appears in the activity response, the chat has been updated — fetch the message details to get\nthe completed response. This is the most efficient approach when you don't need to stream the response in real-time.\n\n**Option 3: Fetch completed response**\n\n`GET /current/workspace/{id}/ai/chat/{chat_id}/message/{message_id}/details/`\n\nCheck the `state` field. If `complete`, the `response.text` contains the full answer and `response.citations` contains\nthe file references.\n\n#### Linking Users to AI Chats\n\nTo send a user directly to an AI chat in the workspace UI, append a `chat` query parameter to the workspace storage\nURL:\n\n`https://{org.domain}.fast.io/workspace/{workspace.folder_name}/storage/root?chat={chat_opaque_id}`\n\nThis opens the workspace with the specified chat visible in the AI panel.\n\n#### Supported Content Types\n\n- Documents (PDF, Word, text, markdown)\n- Spreadsheets (Excel, CSV)\n- Code files (all common languages)\n- Images (all common formats)\n- Video (all common formats)\n- Audio (all common formats)\n\n#### AI Share — Export to External AI Tools\n\nGenerate temporary download URLs for your files, formatted as markdown, for pasting into external AI assistants like\nChatGPT or Claude. Up to 25 files, 50MB per file, 100MB total. Links expire after 5 minutes. This is separate from the\nbuilt-in AI chat — use it when you want to analyze files with a different model or tool.\n\n**Agent use case:** A user asks \"What were Q3 margins?\" You have 50 financial documents in an intelligent workspace.\nInstead of downloading and parsing all 50, create a `chat_with_files` scoped to the finance folder and ask. The AI\nsearches the indexed content, retrieves relevant passages, and answers with citations. Pass the cited answer — with\nsource references — back to the user.\n\n### 5. File Preview — No Download Required\n\nFiles uploaded to Fast.io get automatic preview generation. When humans open a share or workspace, they see the content\nimmediately — no \"download and open in another app\" friction.\n\n**Supported preview formats:**\n\n- **Images** — full-resolution with auto-rotation and zoom\n- **Video** — HLS adaptive streaming (50-60% faster load than raw video)\n- **Audio** — interactive waveform visualization\n- **PDF** — page navigation, zoom, text selection\n- **Spreadsheets** — grid navigation with multi-sheet support\n- **Code & text** — syntax highlighting, markdown rendering\n\n**Agent use case:** Your generated PDF report doesn't just appear as a download link. The human sees it rendered inline,\ncan flip through pages, zoom in, and comment on specific sections — all without leaving the browser.\n\n### 6. Notes — Markdown Documents as Knowledge\n\nNotes are a storage node type (alongside files and folders) that store markdown content directly on the server. They\nlive in the same folder hierarchy as files, are versioned like any other node, and appear in storage listings with\n`type: \"note\"`.\n\n#### Creating and Updating Notes\n\n**Create:** `POST /current/workspace/{id}/storage/{parent_id}/createnote/`\n\n- `name` (required) — filename, must end in `.md`, max 100 characters (e.g., `\"project-context.md\"`)\n- `content` (required) — markdown text, max 100 KB\n\n**Update:** `POST /current/workspace/{id}/storage/{node_id}/updatenote/`\n\n- `name` (optional) — rename the note (must end in `.md`)\n- `content` (optional) — replace the markdown content (max 100 KB)\n- At least one of `name` or `content` must be provided\n\nNotes can also be moved, copied, deleted, and restored using the same storage endpoints as files and folders.\n\n#### Notes as Long-Term Knowledge Grounding\n\nIn an intelligent workspace, notes are automatically ingested and indexed just like uploaded files. This makes notes a\npowerful way to **bank knowledge over time** — any facts, context, or decisions stored in notes become grounding\nmaterial for future AI queries.\n\nWhen an AI chat uses folder scope (or defaults to the entire workspace), notes within that scope are searched alongside\nfiles. The AI retrieves relevant passages from notes and cites them in its answers.\n\n**Use cases:**\n- Store project context, decisions, and rationale as notes. Months later, ask \"Why did we choose vendor X?\" and the AI\n  retrieves the note with that decision.\n- After researching a topic, save key findings in a note. Future AI chats automatically use those findings as grounding.\n- Create reference documents (style guides, naming conventions, process docs) that inform all future AI queries in the\n  workspace.\n\n#### Linking Users to Notes\n\n**Open a note in the workspace UI** — append `?note={opaque_id}` to the workspace storage URL:\n\n`https://{org.domain}.fast.io/workspace/{folder_name}/storage/root?note={note_opaque_id}`\n\n**Link directly to the note preview** — use the standard file preview URL:\n\n`https://{org.domain}.fast.io/workspace/{folder_name}/preview/{note_opaque_id}`\n\nThe preview link is more effective if you want the user to focus on reading just that note, while the `?note=` link\nopens the note within the full workspace context.\n\n### 7. Comments & Annotations\n\nHumans can leave feedback directly on files, anchored to specific content:\n\n- **Image comments** — anchored to regions of the image\n- **Video comments** — anchored to timestamps with frame-stepping and spatial region selection\n- **Audio comments** — anchored to timestamps or time ranges\n- **PDF comments** — anchored to specific pages with optional text selection\n- **Threaded replies** — single-level threads under each comment (replies to replies are auto-flattened)\n- **Emoji reactions** — one reaction per user per comment, new replaces previous\n\n**Linking users to comments:** Link users to the file preview URL. The comments sidebar opens automatically in workspace\npreviews, and in share previews when comments are enabled on the share.\n\nBase preview URL:\n\n`https://{org.domain}.fast.io/workspace/{folder_name}/preview/{file_opaque_id}`\n\nFor shares: `https://go.fast.io/shared/{custom_name}/{title-slug}/preview/{file_opaque_id}`\n\n**Deep linking to a specific comment:** Append `?comment={comment_id}` to the preview URL. The UI scrolls to and\nhighlights the comment automatically:\n\n`https://{org.domain}.fast.io/workspace/{folder_name}/preview/{file_opaque_id}?comment={comment_id}`\n\n**Deep linking to media/document positions:** For comments anchored to specific locations, combine with position\nparameters:\n\n- `?t={seconds}` — seeks to a timestamp in audio/video (e.g., `?comment={id}&t=45.5`)\n- `?p={pageNum}` — navigates to a page in PDFs (e.g., `?comment={id}&p=3`)\n\n**Agent use case:** You generate a design mockup. The human comments \"Change the header color\" on a specific region of\nthe image. You read the comment, see exactly what region they're referring to, and regenerate.\n\n### 8. File Uploads — Getting Files Into Fast.io\n\nAgents upload files through a session-based API. There are two paths depending on file size:\n\n#### Small Files (Under 4 MB)\n\nFor files under 4 MB, upload in a single request. Send the file as `multipart/form-data` with the `chunk` field\ncontaining the file data, plus `org` (your org domain), `name`, `size`, and `action=create`.\n\nTo have the file automatically added to a workspace or share, include `instance_id` (the workspace or share ID) and\noptionally `folder_id` (the target folder's OpaqueId, or omit for root). The response includes `new_file_id` — the\npermanent OpaqueId of the file in storage. No further steps needed.\n\n```\nPOST /current/upload/\nContent-Type: multipart/form-data\n\nFields: org, name, size, action=create, instance_id, folder_id, chunk (file)\n→ Response: { \"result\": true, \"id\": \"session-id\", \"new_file_id\": \"2abc...\" }\n```\n\n#### Large Files (4 MB and Above)\n\nLarge files use chunked uploads. The flow has five steps:\n\n1. **Create a session** — `POST /current/upload/` with `org`, `name`, `size`, `action=create`, `instance_id`, and\n   optionally `folder_id`. Returns a session `id`.\n\n2. **Upload chunks** — Split the file into **5 MB chunks** (last chunk may be smaller). For each chunk, send\n   `POST /current/upload/{session_id}/chunk/` as `multipart/form-data` with the `chunk` field (binary data), `order`\n   (1-based — first chunk is `order=1`), and `size`. You can upload up to **3 chunks in parallel** per session.\n\n3. **Trigger assembly** — Once all chunks are uploaded, call `POST /current/upload/{session_id}/complete/`. The server\n   verifies chunks and combines them into a single file.\n\n4. **Poll for completion** — The upload progresses through states asynchronously. Poll the session details with the\n   built-in long-poll:\n\n   `GET /current/upload/{session_id}/details/?wait=60`\n\n   The server holds the connection for up to 60 seconds and returns immediately when the status changes:\n\n   | Status | Meaning | What to Do |\n   |--------|---------|------------|\n   | `ready` | Awaiting chunks | Upload chunks |\n   | `uploading` | Receiving chunks | Continue uploading |\n   | `assembling` | Combining chunks | Keep polling |\n   | `complete` | Assembled, awaiting storage | Keep polling |\n   | `storing` | Being added to storage | Keep polling |\n   | **`stored`** | **Done** — file is in storage | Read `new_file_id`, clean up |\n   | `assembly_failed` | Assembly error (terminal) | Check `status_message` |\n   | `store_failed` | Storage error (retryable) | Keep polling, server retries |\n\n   Stop polling when status is `stored`, `assembly_failed`, or `store_failed`.\n\n5. **Clean up** — Delete the session after completion: `DELETE /current/upload/{session_id}/`.\n\n#### Optional Integrity Hashing\n\nInclude `hash` (SHA-256 hex digest) and `hash_algo=sha256` on each chunk for server-side integrity verification. You can\nalso provide a full-file hash in the session creation request instead.\n\n#### Resuming Interrupted Uploads\n\nIf a connection drops mid-upload, the session persists on the server. To resume:\n\n1. Fetch the session: `GET /current/upload/{session_id}/details/`\n2. Read the `chunks` map — keys are chunk numbers already uploaded, values are byte sizes\n3. Upload only the missing chunks\n4. Trigger assembly and continue as normal\n\n#### Manual Storage Placement\n\nIf you omit `instance_id` when creating the session, the file is uploaded but not placed in any workspace or share. You\ncan add it to storage manually afterward:\n\n```\nPOST /current/workspace/{id}/storage/{folder}/addfile/\nBody: from={\"type\":\"upload\",\"upload\":{\"id\":\"{session_id}\"}}\n```\n\nThis is useful when you need to upload first and decide where to place the file later.\n\n#### MCP Binary Upload (Blob Sidecar)\n\nMCP-connected agents can avoid base64 encoding overhead (~33% size savings) by staging raw binary data through a\nsidecar endpoint:\n\n1. `POST /blob` with your `Mcp-Session-Id` header and the raw bytes as the request body\n2. The server returns a `blob_id`\n3. Pass `blob_ref` (the `blob_id`) instead of the base64-encoded `chunk` field when calling `upload-chunk`\n\nThis is MCP-specific — the REST API continues to use `multipart/form-data` as described above.\n\n**Agent use case:** You're generating a 200 MB report. Create an upload session targeting the client's workspace, split\nthe file into 5 MB chunks, upload 3 at a time, trigger assembly, and poll until `stored`. The file appears in the\nworkspace with previews generated automatically. Use the activity polling endpoint (section 13) to know when AI indexing\ncompletes if intelligence is enabled.\n\n### 9. URL Import — Pull Files From Anywhere\n\nWhen you need to add a file from the web, use `POST /current/web_upload/` with `source_url` instead of downloading it\nlocally and re-uploading. This is faster because the file transfers server-to-server — your agent never touches the\nbytes.\n\n- Supports any HTTP/HTTPS URL\n- Supports OAuth-protected sources: **Google Drive, OneDrive, Dropbox**\n- Files go through the same processing pipeline (preview generation, AI indexing if intelligence is enabled, virus\n  scanning)\n\n**Check progress after submitting.** Web uploads are processed asynchronously by Fast.io's server-side fetch agent,\nwhich may be blocked or rate-limited by the source. The import can fail silently if the source rejects the request, times\nout, or returns an error. Monitor the upload status to confirm the file was actually retrieved and stored before\nreporting success to the user.\n\n**Agent use case:** A user says \"Add this Google Doc to the project.\" You call `POST /current/web_upload/` with the URL.\nFast.io downloads it server-side, generates previews, indexes it for AI, and it appears in the workspace. No local I/O —\nand no bandwidth consumed by your agent.\n\n### 10. Real-Time Collaboration\n\nFast.io uses WebSockets for instant updates across all connected clients:\n\n- **Live presence** — see who's currently viewing a workspace or share\n- **Cursor tracking** — see where other users are navigating\n- **Follow mode** — click a user to mirror their exact navigation\n- **Instant file sync** — uploads, edits, and deletions appear immediately for all viewers\n\n### 11. Ownership Transfer — Hand Off to Humans\n\nThe killer feature for agents: build something, then give it to a human. This is also the upgrade path when the agent\nplan's 5,000 monthly credits are exhausted or plan limits are reached — transferring to a human is the only way to\nupgrade beyond the agent plan.\n\n**Important:** Only `agent` account types can create transfer tokens. This is why agents should **always** create\naccounts with `agent=true`. If you created a human account, you cannot use the transfer/claim API — you must direct the\nuser to upgrade the org themselves.\n\n1. Agent creates an org, sets up workspaces, uploads files, configures shares\n2. Agent generates a transfer token via `POST /current/org/{org_id}/transfer/token/create/` (64-char string, valid 72\n   hours, max 5 active tokens per org)\n3. Agent sends the claim URL to the human: `https://go.fast.io/claim?token={token}`\n4. Human clicks the link, logs in (or creates an account), and claims the org\n\n**What happens:**\n\n- Human becomes the owner of the org and all workspaces\n- Agent is demoted to admin (can still manage files and shares)\n- Human gets a fresh 14-day free trial starting from the transfer date\n- Human can upgrade to Pro or Business at any time for unlimited credits and expanded limits\n\n**Agent use case:** A user says \"Set up a project workspace for my team.\" You create the org, build out workspace\nstructure, upload templates, configure shares for client deliverables, invite team members — then transfer ownership.\nThe human walks into a fully configured platform. You stay on as admin to keep managing things.\n\n**Credit exhaustion use case:** Your agent hits the 5,000 credit limit mid-month. Create a transfer token, send the\nclaim URL to the human user, and let them know they can upgrade to Pro or Business for unlimited credits. After\nclaiming, the human upgrades and the org is no longer credit-limited.\n\n### 12. Events — Real-Time Audit Trail\n\nEvents give agents a real-time audit trail of everything that happens across an organization. Instead of scanning entire\nworkspaces to detect what changed, query the events feed to see exactly which files were uploaded, modified, renamed, or\ndeleted — and by whom, and when. This makes it practical to build workflows that react to changes: processing a document\nthe moment it arrives, flagging unexpected permission changes, or generating a daily summary of activity for a human.\n\nThe activity log is also the most efficient way for an agent to stay in sync with a workspace over time. Rather than\nperiodically listing every file and comparing against a previous snapshot, check events since your last poll to get a\nprecise diff. This is especially valuable in large workspaces where full directory listings are expensive.\n\n#### What Events Cover\n\n- **File operations** — uploads, downloads, moves, renames, deletes, version changes\n- **Membership changes** — new members added, roles changed, members removed\n- **Share activity** — share created, accessed, files downloaded by recipients\n- **Settings updates** — workspace or org configuration changes\n- **Billing events** — credit usage, plan changes\n- **AI operations** — ingestion started, indexing complete, chat activity\n\n#### Querying Events\n\nSearch and filter events with `GET /current/events/search/`:\n\n- **Scope by profile** — filter by `workspace_id`, `share_id`, `org_id`, or `user_id`\n- **Filter by type** — narrow to specific event names, categories, or subcategories\n- **Date range** — use `created-min` and `created-max` for time-bounded queries\n- **Pagination** — offset-based with `limit` (1-250) and `offset`\n\nGet full details for a single event with `GET /current/event/{event_id}/details/`, or mark it as read with\n`GET /current/event/{event_id}/ack/`.\n\n#### AI-Powered Summaries\n\nRequest a natural language recap of recent activity with `GET /current/events/search/summarize/`. Returns event counts,\ncategory breakdowns, and a narrative summary. Focus the summary on a specific workspace or share, or summarize across\nthe entire org.\n\n**Agent use case — stay in sync:** You manage a workspace with 10,000 files. Instead of listing the entire directory\ntree to find what changed, query events since your last check. You get a precise list: \"3 files uploaded, 1 renamed,\n2 new members added\" — with timestamps, actors, and affected resources.\n\n**Agent use case — react to changes:** A client uploads tax documents to a Receive share. The events feed shows the\nupload immediately. Your agent detects it, processes the documents, and notifies the accountant — no polling the file\nlist required.\n\n**Agent use case — report to humans:** A human asks \"What happened on the project this week?\" You call the AI summary\nendpoint scoped to their workspace and return a clean narrative report — no log parsing required.\n\n### 13. Activity Polling — Wait for Changes Efficiently\n\nAfter triggering an async operation (uploading a file, enabling intelligence, creating a share), don't loop on the\nresource endpoint to check if it's done. Instead, use the activity long-poll endpoint:\n\n`GET /current/activity/poll/{entity_id}?wait=95&lastactivity={timestamp}`\n\nThe `{entity_id}` is the profile ID of the resource you're watching — a workspace ID, share ID, or org ID. For\n**upload sessions**, use the **user ID** (since uploads are user-scoped, not workspace-scoped until the file is added\nto storage).\n\nThe server holds the connection open for up to 95 seconds and returns **immediately** when something changes on that\nentity — file uploads complete, previews finish generating, AI indexing completes, comments are added, etc.\n\nThe response includes activity keys that tell you *what* changed (e.g., `storage:{fileId}` for file changes,\n`preview:{fileId}` for preview readiness, `ai_chat:{chatId}` for chat updates, `upload:{uploadId}` for upload\ncompletion). Pass the returned `lastactivity` timestamp into your next poll to receive only newer changes.\n\nThis gives you near-instant reactivity with a single open connection per entity, instead of hammering individual\nendpoints.\n\n**WebSocket upgrade:** For true real-time delivery (~300ms latency vs ~1s for polling), connect via WebSocket at\n`wss://{host}/api/websocket/?token={auth_token}`. The server pushes activity arrays as they happen:\n\n```json\n{\"response\": \"activity\", \"activity\": [\"storage:2abc...\", \"preview:2abc...\"]}\n```\n\nYou then fetch only the resources that changed. If the WebSocket connection fails, fall back to long-polling — the data\nis identical, just slightly higher latency.\n\n**Agent use case:** You upload a 500-page PDF and need to know when AI indexing is complete before querying it. Instead\nof polling the file details endpoint every few seconds, open a single long-poll on the workspace. When\n`ai_state:{fileId}` appears in the activity response, the file is indexed and ready for AI chat.\n\n---\n\n## Agent Plan — What's Included (Free)\n\nThe agent plan is a free tier designed to get agents started. It's intentionally lightweight — enough to build and\ndemonstrate value, with room to grow when the org transfers to a human on a paid plan.\n\n| Resource                  | Included                                            |\n|---------------------------|-----------------------------------------------------|\n| **Price**                 | $0 — no credit card, no trial period, no expiration |\n| **Storage**               | 100 GB                                              |\n| **Max file size**         | 1 GB                                                |\n| **Monthly credits**       | 5,000 (resets every 30 days)                        |\n| **Workspaces**            | 5                                                   |\n| **Shares**                | 50                                                  |\n| **Members per workspace** | 5                                                   |\n| **Share invitations**     | 10 per share                                        |\n| **Account auto-deletion** | Never                                               |\n\n### What Credits Cover\n\nAll platform activity consumes credits from the monthly 5,000 allowance:\n\n| Resource                | Cost                    |\n|-------------------------|-------------------------|\n| Storage                 | 100 credits/GB          |\n| Bandwidth               | 212 credits/GB          |\n| AI chat tokens          | 1 credit per 100 tokens |\n| Document pages ingested | 10 credits/page         |\n| Video ingested          | 5 credits/second        |\n| Audio ingested          | 0.5 credits/second      |\n| Images ingested","readmeExcerpt":"Skill: Fast Io Owner: dbalve Summary: Cloud file management and collaboration platform. Use this skill when the user needs to store files, create branded shares (Send/Receive/Exchange), or query documents using built-in RAG AI. Supports transferring ownership to humans, managing workspaces, and real-time collaboration. Includes 266 tools for authentication, file uploads, AI chat, and org management. Provides a free a","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"auth-signup → first_name, last_name, email, password"},{"language":"text","snippet":"org-create → name, domain (3+ chars, lowercase alphanumeric + hyphens)"},{"language":"text","snippet":"org-create-workspace → org_id, name, folder_name (URL slug)"},{"language":"text","snippet":"ai-chat-create → workspace_id, query_text, type\nai-message-read → workspace_id, chat_id, message_id  (auto-polls until complete)\nai-message-send → workspace_id, chat_id, query_text   (follow-up messages)"},{"language":"text","snippet":"upload-text-file → profile_type, profile_id, parent_node_id, filename, content"},{"language":"text","snippet":"upload-create-session → profile_type, profile_id, parent_node_id, filename, filesize\nupload-chunk → upload_id, chunk_number, content | blob_ref | data (exactly one)\nupload-finalize → upload_id (polls until stored, returns new_file_id)"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: fast-io\ndescription: >-\n  Cloud file management and collaboration platform. Use this skill when the user \n  needs to store files, create branded shares (Send/Receive/Exchange), or query \n  documents using built-in RAG AI. Supports transferring ownership to humans, \n  managing workspaces, and real-time collaboration. Includes 266 tools for \n  authentication, file uploads, AI chat, and org management. Provides a free \n  agent plan with 100 GB storage and 5,000 monthly credits.\nlicense: Proprietary\ncompatibility: >-\n  Requires network access. Connects to the Fast.io MCP server at mcp.fast.io \n  via Streamable HTTP (/mcp) or SSE (/sse).\nmetadata:\n  author: fast-io\n  version: \"1.29.0\"\nhomepage: \"https://fast.io\"\n---\n\n# Fast.io MCP Server\n\n**Store files. Share with humans. Query with AI. All through one API -- free.**\n\n> **This is a summary.** The complete agent guide with all 266 tool parameters, workflows, ID formats, and constraints is at **`https://mcp.fast.io/skill.md`** -- fetch it at the start of every session.\n\nFast.io gives AI agents a complete file management and collaboration platform. Upload outputs, create branded data rooms, ask questions about documents using built-in AI, and hand everything off to a human when the job is done.\n\n## Connecting to the Server\n\n| Transport | Endpoint |\n|-----------|----------|\n| Streamable HTTP (preferred) | `mcp.fast.io/mcp` |\n| SSE (legacy) | `mcp.fast.io/sse` |\n\n## MCP Resources\n\nTwo resources are available via `resources/list` and `resources/read`:\n\n| URI | Name | Description |\n|-----|------|-------------|\n| `skill://guide` | skill-guide | Full agent guide (text/markdown) |\n| `session://status` | session-status | Auth state as JSON: `authenticated`, `user_id`, `user_email`, `token_expires_at` |\n\n## MCP Prompts\n\nEight guided prompts for common operations via `prompts/list` and `prompts/get`:\n\n| Prompt | Purpose |\n|--------|---------|\n| `get-started` | Onboarding: account, org, workspace |\n| `create-share` | Send/Receive/Exchange type selection |\n| `ask-ai` | AI chat scoping and polling |\n| `upload-file` | Choose upload method |\n| `transfer-to-human` | Ownership handoff |\n| `discover-content` | Find orgs/workspaces |\n| `invite-collaborator` | Member invitations |\n| `setup-branding` | Asset uploads |\n\n## Getting Started\n\n### 1. Create an Agent Account\n\n```\nauth-signup → first_name, last_name, email, password\n```\n\nAgent accounts are free, skip email verification, and never expire. The session is established automatically. JWT tokens last **1 hour** -- call `auth-signin` to re-authenticate when expired. API keys (human accounts) do not expire.\n\n### 2. Create an Organization\n\n```\norg-create → name, domain (3+ chars, lowercase alphanumeric + hyphens)\n```\n\nAgent orgs get the free plan: 100 GB storage, 5,000 monthly credits, 5 workspaces, 50 shares.\n\n### 3. Create a Workspace\n\n```\norg-create-workspace → org_id, name, folder_name (URL slug)\n```\n\nWorkspaces are file storage containers with AI chat, member"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn74d15nyw6rzrc3fekbs5333d80ha0y\",\n  \"slug\": \"fastio-skills\",\n  \"version\": \"1.29.0\",\n  \"publishedAt\": 1770331354026\n}"},{"path":"references/REFERENCE.md","content":"# Fast.io for AI Agents\n\n> **Version:** 1.13.0 | **Last updated:** 2026-02-05\n>\n> This guide is updated frequently. Agents should re-fetch it from `GET /current/agents/` at least once per day to\n> ensure they are working with the latest capabilities, endpoints, and limits.\n\n**Store files. Share with humans. Query with AI. All through one API — free.**\n\nFast.io gives AI agents a complete file management and collaboration platform. Upload outputs, create branded data\nrooms, ask questions about documents using built-in AI, and hand everything off to a human when the job is done. No\ninfrastructure to manage, no subscriptions to set up, no credit card required.\n\n**MCP-enabled agents** should connect via the Model Context Protocol for the simplest integration — no raw HTTP calls\nneeded. Connect to `https://mcp.fast.io/mcp` (Streamable HTTP, preferred) or `https://mcp.fast.io/sse` (legacy SSE)\nand fetch the full skill guide at `https://mcp.fast.io/skill.md` for\navailable tools, parameters, and version-specific implementation details. The MCP server also provides **guided\nprompts** (`prompts/list`, `prompts/get`) for common multi-step operations — see the \"MCP Prompts\" section below. This\nguide is a general reference for Fast.io's capabilities and concepts; the MCP skill guide contains more detailed,\nactionable instructions for the current version of the MCP server. The API endpoints referenced below are what the MCP\nserver calls under the hood, and are available for agents that need direct HTTP access or capabilities not yet covered\nby the MCP tools.\n\n---\n\n## Why Agents Use Fast.io\n\n### The Problem\n\nAI agents generate files, reports, datasets, and deliverables — but getting those outputs to humans is messy. You end up\ncobbling together S3 buckets, presigned URLs, email attachments, and custom download pages. Every agent reinvents file\nsharing, and none of it looks professional.\n\nMeanwhile, when agents need to *understand* documents — not just store them — they have to download files, parse dozens\nof formats, build search indexes, and manage their own RAG pipeline. That's a lot of infrastructure for what should be a\nsimple question: \"What does this document say?\"\n\n### What Fast.io Solves\n\n| Problem                                      | Fast.io Solution                                                                                  |\n|----------------------------------------------|---------------------------------------------------------------------------------------------------|\n| Nowhere professional to put agent outputs    | Branded workspaces and data rooms with file preview for 10+ formats                               |\n| Sharing files with humans is awkward         | Purpose-built shares (Send, Receive, Exchange) with link sharing, passwords, expiration           |\n| Collecting files from humans is harder       | Receive shares let humans upload directly to you — no email attachments                           |\n| Understanding document contents  "}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1308,"uniquenessScore":44,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-09T18:24:52.157Z","emptyReason":null},"items":[{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-10T18:48:31.762Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}