---
title: Base URLs and Environments
slug: api-docs/base-urls-and-environments
description: Base URLs for Litmus Edge, Edge Manager, and Unify across dev, staging, and prod environments. Environment variable patterns for SDKs and CI.
docTags: 
createdAt: 2026-05-11T22:00:27.417Z
---

# Base URLs and Environments

Each product has its own host and URL conventions. The most common cause of "my call returns 404" is hitting the wrong base URL or prefix.

## Litmus Edge

Single base URL, multiple module paths.

| Module                     | Path prefix                                           | Protocol       |
| -------------------------- | ----------------------------------------------------- | -------------- |
| Auth                       | `/auth/v3/...`                                        | REST           |
| DeviceHub                  | `/devicehub/v2` (GraphQL) and `/devicehub/...` (REST) | GraphQL + REST |
| Digital Twins              | `/digitaltwins/v2`                                    | GraphQL        |
| DataHub                    | `/datahub/...`                                        | REST           |
| Flows Manager              | `/flows/...`                                          | REST           |
| Analytics                  | `/analytics/...`                                      | REST           |
| Applications               | `/apps/...`                                           | REST           |
| Integration                | `/cc/v2`                                              | GraphQL        |
| OPC UA                     | `/opcua/v2`                                           | GraphQL        |
| System / Device Management | `/dm/...`                                             | REST           |

In Postman / environment files this is `{{edgeUrl}}`.

## Litmus Edge Manager

LEM has **three distinct host/path prefixes**:

| Prefix                          | Used by                                                                 | Roughly         | Auth header                          |
| ------------------------------- | ----------------------------------------------------------------------- | --------------- | ------------------------------------ |
| `{{LEM_URL}}/api/v1/...`        | Main fleet API (projects, devices, alerts, backups, marketplace deploy) | \~158 endpoints | `X-AuthToken`                        |
| `{{LEM_adminURL}}/admin/v1/...` | Admin console (companies, users, LEM-level backups, instance alerts)    | \~144 endpoints | `X-AuthToken`                        |
| `{{LEM_URL}}/mpcs/...`          | Marketplace catalog management                                          | \~13 endpoints  | `Authorization` (no `Bearer` prefix) |

`{{LEM_adminURL}}` typically points to port 8446 on the LEM host. Confirm with your admin.

### Common LEM URL variables

| Variable                                 | Frequency | Notes                             |
| ---------------------------------------- | --------- | --------------------------------- |
| `{{project_id}}`                         | \~99      | LEM project the device belongs to |
| `{{edge_device_id}}`                     | \~48      | Target edge device                |
| `{{company_name}}`                       | \~13      | Company (admin/v1 calls)          |
| `{{marketplace_catalog_id}}`             | \~11      | Catalog under `/mpcs/`            |
| `{{marketplace_catalog_application_id}}` | \~10      | App in a marketplace catalog      |

## Litmus UNS

UNS is **GraphQL-only**. All operations target a single endpoint:

```javascript
POST {{uns_url}}/mqtt/gql
```

The documented sections (Dashboard / UNS / Security / MQTT / Integrations / Tools) are organizational groupings - every request hits `/mqtt/gql` with a different GraphQL operation. There is no REST surface.

## Environment file template

For Postman / scripts:

```javascript
edgeUrl = https://<your-edge-host>
LEM_URL = https://<your-lem-host>
LEM_adminURL = https://<your-lem-host>:8446
uns_url = https://<your-uns-host>

client_id = <le-client-id>
client_secret = <le-client-secret>
LEM_AdminApiToken = <lem-admin-token>
```

