Introduction
Programmatic access to your LumenOne instance.
The LumenOne API lets your company read, write, and update your LumenOne data programmatically. With it you can:
- Manage accounts, organizations, and workspaces
- Upload and organize documents into folders, then embed them into workspaces for RAG
- Configure workspace integrations — voice (phone), WhatsApp, and Telegram
- Define tools (custom HTTP actions) and attach them to workspaces
- Read voice call logs
- Drive RAG/agent workflows from external systems (iPaaS, CRMs, custom apps)
How LumenOne is structured
LumenOne is multi-tenant. From the top down:
- Partner — your company and the owner of the API key.
- Account — a customer container under your company. Identified by an id (UUID), passed via the
X-Account-Idheader on account-scoped routes. - Organization — a tenant inside an account. Identified by an id (UUID) in the URL path.
- Workspace — an isolated chat/RAG environment inside an organization. Has its own documents, settings, and integrations. Identified by an id (UUID).
- Document — a file uploaded into an organization’s storage, optionally embedded into one or more workspaces. Identified by an id (UUID).
Most endpoints are scoped to an organization (/v1/organizations/{orgId}/...) or a workspace (/v1/workspaces/{workspaceId}/...) and require both an API key and an X-Account-Id header.
Identifiers are opaque. Every resource returns an id (a UUID). Take that value and pass it back as-is — in the URL path or the X-Account-Id header. Do not construct, parse, or infer ids yourself.
What’s next
- Authentication — how to get and use an API key
- General concepts — the partner/account/org/workspace hierarchy, ids, folders, and embedding
- Quickstart — your first end-to-end request

