openloomi-api
The openloomi-api skill provides comprehensive documentation for the OpenLoomi backend API, covering thirteen modules including authentication, user management, chat operations, messaging, file storage, integrations with platforms like Slack and Discord, RAG capabilities, AI functions, analytics, and billing. Use this skill when implementing server-side functionality, integrating third-party services, handling user authentication, managing files or messages, or configuring workspace features within the OpenLoomi platform.
git clone --depth 1 https://github.com/melandlabs/openloomi /tmp/openloomi-api && cp -r /tmp/openloomi-api/skills/openloomi-api ~/.claude/skills/openloomi-apiSKILL.md
> **Note:** If OpenLoomi readiness is unknown, use `openloomi-setup` first. If OpenLoomi Desktop is not installed, follow [Getting Started](https://openloomi.ai/docs/getting-started). # OpenLoomi API Documentation ## API Modules OpenLoomi ships a **local-first** HTTP API served from the desktop app (port `3414`, fallback `3515`). All auth, Memory, AI, RAG, Loop, and Audit data live in a local SQLite database — your data stays on your machine and the OpenLoomi app is the source of truth. The only externally-routed auth path is the **Composio OAuth broker** that backs the Slack, GitHub, Google, Notion, Linear, HubSpot, LinkedIn, Jira, and Asana Connectors (see `openloomi-connectors`). The `remote-auth` prefix is historical — those routes once proxied to a cloud server; today they are the canonical local endpoints, and the Claude/Codex plugin bridge uses `/api/remote-auth/user` as a port-discovery + auth-handshake probe. This reference covers **131 route handlers** under 36 top-level `/api/*` modules. Pair it with `openloomi-loop` (Loop state, decisions, channels, classifier rules, brief/wrap) and `openloomi-memory` (Memory search, KB, insights, entities, living connections) for the runtime surfaces used by Chat and Loop. ### Functional Modules | Module | Base Path | Routes | Description | |--------|-----------|--------|-------------| | **Auth** | `/api/auth/*`, `/api/remote-auth/*`, `/api/remote-feedback/*` | 6 | Guest session, token, user probe, feedback | | **AI** | `/api/ai/*` | 5 | Chat, images, audio, embeddings | | **Audit** | `/api/audit/*` | 1 | Audit log retrieval | | **Chat Insights** | `/api/chat-insights/*` | 1 | Per-chat insight records | | **Chronicle** | `/api/chronicle/*` | 7 | Meeting detection, analysis, memories | | **Contacts** | `/api/contacts/*` | 1 | Contact query | | **DB Init** | `/api/db/*` | 1 | Bootstrap database | | **Files** | `/api/files/*` | 8 | File storage, upload, download | | **Insight Tabs** | `/api/insight-tabs/*` | 3 | Tab CRUD + reorder | | **Integrations** | `/api/integrations/*` | 9 | OAuth + connected accounts | | **Listeners** | `/api/listeners/*` | 1 | Listener cleanup | | **LLM Usage** | `/api/llm/*` | 1 | Usage summary | | **Loop** | `/api/loop/*` | 24 | Attention loop, decisions, channels, classifier rules | | **Markmap** | `/api/markmap/*` | 1 | Markmap generation | | **Memory** | `/api/memory/*` | 2 | Memory search, raw messages | | **Messages** | `/api/messages/*` | 4 | Send, sync, status, raw | | **Native** | `/api/native/*` | 5 | Native agent operations, providers, skills | | **Pet** | `/api/pet/*` | 1 | Pet state mirror | | **Proxy** | `/api/proxy/*` | 2 | CSS/JS proxy | | **RAG** | `/api/rag/*` | 11 | Document upload, search, stats | | **Storage** | `/api/storage/*` | 4 | Disk usage, sessions, cleanup | | **Workspace** | `/api/workspace/*` | 11 | Artifacts, files, skills, previews | ### Platform Callback Modules Each integration platform has its own `/api/<platform>/*` module: | Platform | Base Path | Routes | |----------|-----------|--------| | **Slack** | `/api/slack/*` | 2 | | **Discord** | `/api/discord/*` | 2 | | **Feishu (Lark)** | `/api/feishu/*` | 1 | | **DingTalk** | `/api/dingtalk/*` | 1 | | **QQ Bot** | `/api/qqbot/*` | 1 | | **Weixin (WeChat)** | `/api/weixin/*` | 4 | | **Telegram** | `/api/telegram/*` | 4 | | **WhatsApp** | `/api/whatsapp/*` | 2 | | **iMessage** | `/api/imessage/*` | 2 | | **HubSpot** | `/api/hubspot/*` | 1 | | **LinkedIn** | `/api/linkedin/*` | 1 | | **Notion** | `/api/notion/*` | 1 | --- ## Endpoints Reference ### Auth Module | Method | Endpoint | Description | |--------|----------|-------------| | POST | `/api/auth/set-token` | Set auth token | | POST | `/api/auth/clear-auth-cookie` | Clear session | | POST | `/api/auth/token` | Issue session token | | POST | `/api/remote-auth/guest` | Create anonymous guest session | | GET | `/api/remote-auth/user` | Get current user (also used by plugin probe) | | PUT | `/api/remote-auth/user` | Update user info | | POST | `/api/remote-feedback` | Submit feedback | ### Messages Module | Method | Endpoint | Description | |--------|----------|-------------| | GET | `/api/messages` | List messages | | POST | `/api/messages` | Send message | | GET | `/api/messages/sync` | Sync messages | | GET | `/api/messages/check` | Check message status | | GET | `/api/messages/raw` | Get raw message | ### Files Module | Method | Endpoint | Description | |--------|----------|-------------| | GET | `/api/files/list` | List files | | GET | `/api/files/[id]` | Get file by ID | | GET | `/api/files/download` | Download file | | POST | `/api/files/upload` | Upload file | | POST | `/api/files/save` | Save file | | GET | `/api/files/usage` | Get storage usage | | GET | `/api/files/insights/download` | Download insights file | | POST | `/api/files/insights/save` | Save insights | ### Storage Module | Method | Endpoint | Description | |--------|----------|-------------| | GET | `/api/storage/disk-usage` | Get disk usage | | POST | `/api/storage/cleanup` | Cleanup storage | | GET | `/api/storage/sessions` | List sessions | | GET | `/api/storage/sessions/[taskId]` | Get session by task ID | | DELETE | `/api/storage/sessions/[taskId]` | Delete session | ### Integrations Module | Method | Endpoint | Description | |--------|----------|-------------| | GET | `/api/integrations/accounts` | List connected accounts | | GET | `/api/integrations/slack/oauth/start` | Start Slack OAuth | | GET | `/api/integrations/slack/oauth/exchange` | Exchange Slack OAuth code | | GET | `/api/integrations/discord/oauth/start` | Start Discord OAuth | | GET | `/api/integrations/discord/oauth/exchange` | Exchange Discord OAuth code | | GET | `/api/integrations/x/oauth/start` | Start X OAuth | | GET | `/api/integrations/hubspot/oauth/start` | Start HubSpot OAuth | | GET | `/api/integrations/linkedin/oauth/start` | Start LinkedIn OAuth | | GET | `/api/integrations/notion/oauth/start` | Start Notion OAuth
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.
Use 1000+ external apps via Composio - either directly through the CLI or by building AI agents and apps with the SDK
Walk the user through installing the optional composio skill and turning on screen memory
Persist learning across turns by actively maintaining MENTAL_MODEL.md in the workspace. Use for iterative coding, debugging, benchmarking, or any feedback-driven task; read and update the file with actual filesystem writes before every response, never just hidden/internal memory.
Create an end-to-end Continual Learning Bench task. Use when adding a new src/tasks/<name> benchmark task, including design interview, concrete Jinja prompt templates, JSON action contracts, observation templates, debug schedule, behavioral E2E tests, validation, smoke/debug runs with icl and icl_notepad, and README documentation.
Drive a native macOS app via the cua-driver CLI (default) or MCP server — snapshot its AX tree, click/type/scroll by element_index, verify via re-snapshot. Use when the user asks you to operate, drive, automate, or perform a GUI task in a real macOS application on the host (e.g. "open a file in TextEdit", "navigate to /Applications in Finder", "click the Save button in Numbers").
High-performance data analysis using Polars - load, transform, aggregate, visualize and export tabular data. Use for CSV/JSON/Parquet processing, statistical analysis, time series, and creating charts.
Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files). Triggers include: any mention of "Word doc", "word document", ".docx", or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a "report", "memo", "letter", "template", or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.