Skip to content
FunCoding

openloomi-api

openloomi HTTP API reference (local-first, served from the OpenLoomi Desktop app at http://localhost:3414). Use when working with openloomi backend routes — auth, AI, files, integrations, RAG, memory, Loop, pet, workspace, platform callbacks. Triggers: API endpoints, backend routes, /api/*, local API, port 3414, integrations REST, OAuth start, RAG search, loop state, memory search, pet state, audit logs

Star
1,039
License
Apache-2.0
Last commit
Sep 24, 2026

plugins/claude/skills/openloomi-api/SKILL.md

View on GitHub

Note: If you haven't downloaded or installed openloomi yet, please refer to Getting Started for installation instructions.

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

ModuleBase PathRoutesDescription
Auth/api/auth/*, /api/remote-auth/*, /api/remote-feedback/*6Guest session, token, user probe, feedback
AI/api/ai/*5Chat, images, audio, embeddings
Audit/api/audit/*1Audit log retrieval
Chat Insights/api/chat-insights/*1Per-chat insight records
Chronicle/api/chronicle/*7Meeting detection, analysis, memories
Contacts/api/contacts/*1Contact query
DB Init/api/db/*1Bootstrap database
Files/api/files/*8File storage, upload, download
Insight Tabs/api/insight-tabs/*3Tab CRUD + reorder
Integrations/api/integrations/*9OAuth + connected accounts
Listeners/api/listeners/*1Listener cleanup
LLM Usage/api/llm/*1Usage summary
Loop/api/loop/*24Attention loop, decisions, channels, classifier rules
Markmap/api/markmap/*1Markmap generation
Memory/api/memory/*2Memory search, raw messages
Messages/api/messages/*4Send, sync, status, raw
Native/api/native/*5Native agent operations, providers, skills
Pet/api/pet/*1Pet state mirror
Proxy/api/proxy/*2CSS/JS proxy
RAG/api/rag/*11Document upload, search, stats
Storage/api/storage/*4Disk usage, sessions, cleanup
Workspace/api/workspace/*11Artifacts, files, skills, previews

Platform Callback Modules

Each integration platform has its own /api/<platform>/* module:

PlatformBase PathRoutes
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

MethodEndpointDescription
POST/api/auth/set-tokenSet auth token
POST/api/auth/clear-auth-cookieClear session
POST/api/auth/tokenIssue session token
POST/api/remote-auth/guestCreate anonymous guest session
GET/api/remote-auth/userGet current user (also used by plugin probe)
PUT/api/remote-auth/userUpdate user info
POST/api/remote-feedbackSubmit feedback

Messages Module

MethodEndpointDescription
GET/api/messagesList messages
POST/api/messagesSend message
GET/api/messages/syncSync messages
GET/api/messages/checkCheck message status
GET/api/messages/rawGet raw message

Files Module

MethodEndpointDescription
GET/api/files/listList files
GET/api/files/[id]Get file by ID
GET/api/files/downloadDownload file
POST/api/files/uploadUpload file
POST/api/files/saveSave file
GET/api/files/usageGet storage usage
GET/api/files/insights/downloadDownload insights file
POST/api/files/insights/saveSave insights

Storage Module

MethodEndpointDescription
GET/api/storage/disk-usageGet disk usage
POST/api/storage/cleanupCleanup storage
GET/api/storage/sessionsList sessions
GET/api/storage/sessions/[taskId]Get session by task ID
DELETE/api/storage/sessions/[taskId]Delete session

Integrations Module

MethodEndpointDescription
GET/api/integrations/accountsList connected accounts
GET/api/integrations/slack/oauth/startStart Slack OAuth
GET/api/integrations/slack/oauth/exchangeExchange Slack OAuth code
GET/api/integrations/discord/oauth/startStart Discord OAuth
GET/api/integrations/discord/oauth/exchangeExchange Discord OAuth code
GET/api/integrations/x/oauth/startStart X OAuth
GET/api/integrations/hubspot/oauth/startStart HubSpot OAuth
GET/api/integrations/linkedin/oauth/startStart LinkedIn OAuth
GET/api/integrations/notion/oauth/startStart Notion OAuth

Platform Callbacks

PlatformModuleSample Endpoint
Slack/api/slack/*OAuth + listener endpoints under the module
Discord/api/discord/*OAuth + listener endpoints under the module
Feishu/api/feishu/*POST /api/feishu/listener/init
DingTalk/api/dingtalk/*POST /api/dingtalk/listener/init
QQ Bot/api/qqbot/*POST /api/qqbot/listener/init
Weixin (WeChat)/api/weixin/*POST /api/weixin/listener/init
Telegram/api/telegram/*POST /api/telegram/user-listener/init
WhatsApp/api/whatsapp/*POST /api/whatsapp/register-socket
iMessage/api/imessage/*POST /api/imessage/init-self-listener
HubSpot/api/hubspot/*OAuth start under /api/hubspot/...
LinkedIn/api/linkedin/*OAuth start under /api/linkedin/...
Notion/api/notion/*OAuth start under /api/notion/...

RAG Module

MethodEndpointDescription
GET/api/rag/searchSearch documents
GET/api/rag/statsGet RAG statistics
GET/api/rag/documentsList documents
GET/api/rag/documents/[documentId]Get document
GET/api/rag/documents/[documentId]/binaryGet document binary
DELETE/api/rag/documents/[documentId]Delete document
POST/api/rag/uploadUpload document
POST/api/rag/upload/initInitialize upload
POST/api/rag/upload/chunkUpload chunk
POST/api/rag/upload/completeComplete upload
POST/api/rag/upload/asyncAsync upload
GET/api/rag/upload/async/statusCheck async upload status

Workspace Module

MethodEndpointDescription
GET/api/workspace/artifactsList artifacts
GET/api/workspace/filesList files
GET/api/workspace/file/[...path]Get file by path
GET/api/workspace/previewPreview artifact
GET/api/workspace/external-previewExternal preview
GET/api/workspace/pptx-preview/[taskId]/[...path]Preview PPTX artifact
GET/api/workspace/skillsList skills
GET/api/workspace/skills/[skillId]Get skill
POST/api/workspace/skillsCreate skill
PUT/api/workspace/skills/[skillId]Update skill
DELETE/api/workspace/skills/[skillId]Delete skill
POST/api/workspace/skills/toggleToggle skill
POST/api/workspace/skills/uploadUpload skill
GET/api/workspace/skills/metadataGet skill metadata

AI Module

MethodEndpointDescription
POST/api/ai/v1/chat/completionsChat completions (streaming)
POST/api/ai/v1/messagesMessages API
POST/api/ai/v1/images/generationsGenerate images
POST/api/ai/v1/images/lifestyle/generateLifestyle image generate
POST/api/ai/v1/images/lifestyle/composeLifestyle image compose

Chronicle Module

MethodEndpointDescription
POST/api/chronicle/analyzeRun chronicle analysis
GET/api/chronicle/memoriesList memories
GET/api/chronicle/memories/[memoryId]Get a memory
DELETE/api/chronicle/memories/[memoryId]Delete a memory

Insight Tabs Module

MethodEndpointDescription
GET/api/insight-tabsList insight tabs
POST/api/insight-tabsCreate insight tab
PUT/api/insight-tabs/[tabId]Update tab
POST/api/insight-tabs/reorderReorder tabs

Chat Insights Module

MethodEndpointDescription
GET/api/chat-insightsGet chat insights

Memory Module

MethodEndpointDescription
GET/api/memory/searchSearch memory
GET/api/memory/raw-messagesGet raw messages

Native Module

MethodEndpointDescription
GET/api/native/providersList native providers
GET/api/native/skillsList native skills
POST/api/native/agentAgent invocation
POST/api/native/agent/passwordAgent password
POST/api/native/agent/permissionAgent permission

Pet Module

MethodEndpointDescription
GET/api/pet/stateRead pet state
POST/api/pet/stateWrite pet state

Loop Module (highlights)

24 routes total. Top-level surfaces:

EndpointDescription
GET /api/loop/connectorsConnector status
GET /api/loop/stateLoop state
POST /api/loop/tickAdvance loop tick
POST /api/loop/activationTrigger activation
GET /api/loop/preferencesLoop preferences
GET /api/loop/brief / GET /api/loop/brief/contentBrief delivery
GET /api/loop/wrap / GET /api/loop/wrap/contentWrap delivery
GET /api/loop/channels / GET /api/loop/channels/[id]Channels
GET /api/loop/types / GET /api/loop/types/[id]Loop types
GET /api/loop/decisions / GET /api/loop/decision/[id]Decisions
POST /api/loop/action/schedule / GET /api/loop/action/[id]Actions
GET /api/loop/action/by-decision/[id]Actions by decision
GET /api/loop/classifier-rules[/...]Classifier rules + dry-run
GET /api/loop/card/[id]Card
POST /api/loop/dev/reset / GET /api/loop/dev/sceneDev tooling

Other Modules (single-route or paired)

ModuleEndpoints
AuditGET /api/audit/logs
ContactsGET /api/contacts
DBPOST /api/db/init
ListenersPOST /api/listeners/cleanup
LLM UsageGET /api/llm/usage/summary
MarkmapPOST /api/markmap
ProxyGET /api/proxy/css, GET /api/proxy/js

Error Handling

Error Response Format

// API errors return standard HTTP status codes
{
  error: string;      // Error message
  code?: string;       // Error code for programmatic handling
  cause?: string;      // Additional context
}

Common Status Codes

CodeMeaning
200Success
400Bad Request - Invalid input
401Unauthorized - Not authenticated
403Forbidden - Insufficient permissions
404Not Found
429Too Many Requests
500Internal Server Error

AI/Agent Usage

Local API Access

When running openloomi desktop app, the local API server runs on port 3414 (fallback: 3515):

EnvironmentBase URL
User Local Desktophttp://localhost:3414
User Local Desktop (fallback)http://localhost:3515

Authentication Token

The auth token is stored at ~/.openloomi/token (base64 encoded JWT). You must decode it before use:

# Decode base64 to get JWT token
TOKEN=$(cat ~/.openloomi/token | base64 -d)

# Verify token contents (decodes JWT payload)
echo "$TOKEN" | cut -d'.' -f2 | base64 -d 2>/dev/null | python3 -m json.tool

curl Examples

Important: All authenticated requests require the token to be base64 decoded first.

# Helper: Get decoded token
TOKEN=$(cat ~/.openloomi/token | base64 -d)

# 1. Check AI API status (no auth required)
curl http://localhost:3414/api/ai/chat

# 2. Get current user info (also used by Claude/Codex plugin as a port-discovery probe)
TOKEN=$(cat ~/.openloomi/token | base64 -d)
curl http://localhost:3414/api/remote-auth/user \
  -H "Authorization: Bearer $TOKEN"

# 3. Create an anonymous guest session (no credentials)
curl -X POST http://localhost:3414/api/remote-auth/guest \
  -H "Content-Type: application/json" \
  -d '{}'

# 4. Chat with AI (streaming)
TOKEN=$(cat ~/.openloomi/token | base64 -d)
curl -X POST http://localhost:3414/api/ai/chat \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"messages":[{"role":"user","content":"Hello!"}],"stream":true}'

# 5. Get chat insights (requires chatId)
TOKEN=$(cat ~/.openloomi/token | base64 -d)
curl "http://localhost:3414/api/chat-insights?chatId=xxx" \
  -H "Authorization: Bearer $TOKEN"

# 6. Search RAG documents
TOKEN=$(cat ~/.openloomi/token | base64 -d)
curl -X POST http://localhost:3414/api/rag/search \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query":"search term","limit":5}'

# 7. List workspace skills
TOKEN=$(cat ~/.openloomi/token | base64 -d)
curl http://localhost:3414/api/workspace/skills \
  -H "Authorization: Bearer $TOKEN"

# 8. Submit feedback
TOKEN=$(cat ~/.openloomi/token | base64 -d)
curl -X POST http://localhost:3414/api/remote-feedback \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"content":"Feedback message","email":"[email protected]"}'

Summary

  • 131 route handlers across 22 functional modules + 12 platform callback modules + 2 cross-cutting modules (proxy, db)
  • Local-first: auth, Memory, AI, RAG, Loop, and Audit data live in a local SQLite database; the only externally-routed path is the Composio OAuth broker
  • Dual authentication: Session cookies (web) and Bearer tokens (Tauri / CLI)
  • RESTful JSON APIs with Zod validation
  • SWR utilities for client-side data fetching
  • OAuth support for Slack, Discord, X, HubSpot, LinkedIn, Notion
  • RAG for Knowledge Base document upload + retrieval (openloomi-memory owns the user-facing surface)
  • AI endpoints for chat, images, audio
  • Loop for the proactive judgement engine — signals, decisions, cards, channels, classifier rules (see openloomi-loop)
  • Memory search + raw-message access (full surface in openloomi-memory)
  • Pet state mirror (read/write /api/pet/state)

Similar Skills

blender-motion-state-inspection

AFaffaan-m/ECC278k4,046 new stars in the last 7 days

Official

slack-gif-creator

ANanthropics/skills181k1,119 new stars in the last 7 days

Featured

algorithmic-art

Generate flow fields and particle systems with p5.js, using seeded randomness for original algorithmic art.

ANanthropics/skills181k1,119 new stars in the last 7 days

thinking-out-loud

SHShubhamsaboo/awesome-llm-apps141k808 new stars in the last 7 days

moneyprinterturbo-video

HAharry0703/MoneyPrinterTurbo130k1,722 new stars in the last 7 days

complain

PApaperclipai/paperclip101k2,948 new stars in the last 7 days