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-Id header 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