# Litmus API - Root Router

> You are at https://api.litmus.io/agents.md.
> This is a ROUTER, not a reference. Pick the URL below that matches your task and fetch only that.
> Do NOT fetch /collections.json. It is 30 MB / ~520,000 tokens and will exhaust your context.

---

## Layer to use

Use the highest layer that covers your task. Fall back only when needed.

| Layer | Best for | Fetch |
|---|---|---|
| **MCP Server** | LLM agents, no code | https://api.litmus.io/mcp-agents.md |
| **Python SDK** | Scripts, broader coverage | https://api.litmus.io/sdk-agents.md |
| **API Collection (this tree)** | Anything not in MCP/SDK | continue below |

---

## Pick a product

Fetch the product router for whichever product your task targets. Each product router has its own component index and auth instructions.

| Product | What it is | Fetch |
|---|---|---|
| **Litmus Edge (LE)** | Edge runtime on industrial gateway. Devices, tags, OPC UA, apps, flows. | /le/agents.md |
| **Litmus Edge Manager (LEM)** | Fleet management plane. Multiple edges, RBAC, deploy, backup. | /lem/agents.md |
| **Litmus Unify (LUNS)** | MQTT-based Unified Namespace. Accounts, topics, rules. | /luns/agents.md |

If your task is a multi-step UI action (e.g. "deploy an application", "browse for tags") - fetch the workflow index first:

| Task type | Fetch |
|---|---|
| Multi-step workflow (UI action -> chain of API calls) | /workflows/agents.md |
| OAuth2 / authentication | /le/agents.md#authentication or /lem/agents.md#authentication or /luns/agents.md#authentication |

---

## Quick path - task keywords -> URL

If your task contains any of these words, jump directly to the listed URL. Skip the product router.

| Keywords in task | Fetch |
|---|---|
| "create device", "add device", "new device" | /workflows/create-device-with-tags.md |
| "browse tags", "discover tags", "bulk tag" | /workflows/browse-bulk-tags.md |
| "OPC UA server", "expose tags", "OPC UA import" | /workflows/configure-opcua-server.md |
| "deploy app", "launch app" (LE) | /workflows/deploy-app.md |
| "deploy app to edge" (LEM) | /workflows/deploy-app-lem.md |
| "zero touch", "activation", "provision edge" | /workflows/provision-zero-touch.md |
| "backup edge", "restore edge" (LEM) | /workflows/backup-restore-edge.md |
| "create alert", "project alert", "trigger + action" | /workflows/create-project-alert.md |
| "MQTT account", "UNS account" | /workflows/provision-mqtt-account.md |
| "upload template", "apply template" | /workflows/apply-upload-template.md |
| "upload CA cert", "custom certificate" | /workflows/upload-ca-cert.md |
| "upload analytics model", "TensorFlow" | /workflows/upload-analytics-model.md |
| "upload AI model", "ML model" (LEM) | /workflows/upload-ml-model-lem.md |
| "create integration", "create connector", "Kafka", "InfluxDB", "Azure IoT" | /workflows/create-integration-instance.md |
| "tag", "register", "data point" | /le/devicehub/tags.md |
| "driver", "Modbus", "EtherNet/IP", "S7" | /le/devicehub/drivers.md |
| "digital twin model", "DT", "asset model" (LE) | /le/digital-twins.md |
| "asset", "DT2" (LEM, fleet-wide) | /lem/digital-twins.md |
| "flow", "Node-RED" | /le/flows.md |
| "analytics", "AI model", "tensor" | /le/analytics.md |
| "marketplace", "catalog", "edge app" | /le/applications.md |
| "MQTT topic", "namespace", "UNS rule" | /luns/uns.md |
| "MQTT broker config" | /luns/mqtt.md |
| "license", "feature flag" | /lem/edge-lifecycle/licenses.md OR /lem/admin-console/license-server-mgmt.md |
| "device template" | /lem/admin-console/edge-devices.md |
| "RBAC", "user", "permission" (per-edge) | /lem/edge-lifecycle/rbac.md |
| "RBAC", "user", "permission" (LEM admin) | /lem/admin-console/admin-console-settings.md |
| "logs", "system logs" | /lem/admin-console/logs.md OR /le/system/events.md |
| "Prometheus metrics" | check the component you care about (e.g. /le/devicehub/prometheus.md) |

---

## Term disambiguation

These terms are used by multiple products and components. Resolve before routing.

| Term | LE meaning | LEM meaning | LUNS meaning |
|---|---|---|---|
| **Device** | A physical machine LE talks to (PLC, sensor) | An LE instance under LEM management | n/a |
| **Browse** | Discover tags on a physical device | n/a | n/a |
| **Template** | LE config snapshot (System -> Templates) | Project template (Edge Lifecycle Management -> Templates) OR Device template (Admin Console -> Edge Devices -> Edge Device Templates) | n/a |
| **Digital Twin** | Models + Instances on a single edge | DT2 Asset Models (fleet-wide) | n/a |
| **Marketplace** | Apps installed on this edge | Marketplace catalogs (Admin Console / Features) | n/a |
| **Token** | OAuth2 Bearer (client credentials -> /auth/v3/oauth/token) | X-AuthToken header (admin API token) | OAuth2 Bearer (password grant) |
| **Provider** | Integration backend (Kafka, S3, Azure IoT, ...) | n/a | n/a |
| **Account** | n/a | n/a | MQTT broker user (client_id + creds + rules) |

---

## When NOT to fetch this tree

| Scenario | Fetch instead |
|---|---|
| Need a pre-built solution (Kafka pipeline, Excel addin, CNC template) | https://docs.litmus.io/solutions |
| Need product UI / how-to guide | https://docs.litmus.io |
| Need to download software, manage licenses | https://portal.litmus.io |
| MCP tool exists for this | /mcp-agents.md |
| Generic / non-Litmus topic (Kafka itself, Azure docs, language q) | web search |

---

## Discovery for AI agents

- Machine-readable index: https://api.litmus.io/llms.txt
- Sitemap: https://api.litmus.io/sitemap.xml
- This whole tree is static markdown on Cloudflare Assets. Safe to fetch any single file in isolation.
