# LitmusEdge 4.0.x API Documentation/System/Support - LE, LEM, LUNS API Docs

## DeviceHub Status

**GET** `{{edgeUrl}}/devicehub/version`

# DeviceHub Status

Liveness / version probe for the **DeviceHub** service. A `200 OK` response means the service is up and reachable.

## Endpoint

```http
GET {{edgeUrl}}/devicehub/version
```
## Authentication

HTTP Basic Auth. **Username** is your API token, **password** is empty. Tokens are managed under `System > Access Control > Tokens`.

## Response

`200 OK` -- `application/json`

```json
{
  "version": "2.18.15",
  "git": "bf1dbfcc3c"
}
```

| Field      | Type   | Description                                          |
|------------|--------|------------------------------------------------------|
| `version`  | string | Semantic version of the DeviceHub service.           |
| `git`      | string | Short git commit hash of the deployed build.         |

## Errors

| HTTP status         | When it happens                                                                |
|---------------------|--------------------------------------------------------------------------------|
| `400 Bad Request`   | Missing or malformed query/body parameter.                                     |
| `401 Unauthorized`  | Missing or invalid credentials.                                                |
| `403 Forbidden`     | Token lacks permission for this operation.                                     |
| `404 Not Found`     | Target entity does not exist.                                                  |
| `5xx`               | Service is unreachable, restarting, or internally errored. Inspect device logs under `System > Support`. |

> **TLS note**: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.


### Response

**Status**: 200 OK

```json
{
    "version": "2.18.15",
    "git": "bf1dbfcc3c"
}
```

---

## DeviceManagement Status

**GET** `{{edgeUrl}}/dm/version`

# DeviceManagement Status

Liveness / version probe for the **DeviceManagement** service. A `200 OK` response means the service is up and reachable.

## Endpoint

```http
GET {{edgeUrl}}/dm/version
```
## Authentication

HTTP Basic Auth. **Username** is your API token, **password** is empty. Tokens are managed under `System > Access Control > Tokens`.

## Response

`200 OK` -- `application/json`

```json
{
  "version": "5.9.16",
  "git": "7e892d15db"
}
```

| Field      | Type   | Description                                          |
|------------|--------|------------------------------------------------------|
| `version`  | string | Semantic version of the DeviceManagement service.           |
| `git`      | string | Short git commit hash of the deployed build.         |

## Errors

| HTTP status         | When it happens                                                                |
|---------------------|--------------------------------------------------------------------------------|
| `400 Bad Request`   | Missing or malformed query/body parameter.                                     |
| `401 Unauthorized`  | Missing or invalid credentials.                                                |
| `403 Forbidden`     | Token lacks permission for this operation.                                     |
| `404 Not Found`     | Target entity does not exist.                                                  |
| `5xx`               | Service is unreachable, restarting, or internally errored. Inspect device logs under `System > Support`. |

> **TLS note**: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.


### Response

**Status**: 200 OK

```json
{
    "git": "7e892d15db",
    "version": "5.9.16"
}
```

---

## Marketplace Status

**GET** `{{edgeUrl}}/apps/version`

# Marketplace Status

Liveness / version probe for the **Marketplace** service. A `200 OK` response means the service is up and reachable.

## Endpoint

```http
GET {{edgeUrl}}/apps/version
```
## Authentication

HTTP Basic Auth. **Username** is your API token, **password** is empty. Tokens are managed under `System > Access Control > Tokens`.

## Response

`200 OK` -- `application/json`

```json
{
  "version": "1.23.19",
  "git": "43e98fc37c"
}
```

| Field      | Type   | Description                                          |
|------------|--------|------------------------------------------------------|
| `version`  | string | Semantic version of the Marketplace service.           |
| `git`      | string | Short git commit hash of the deployed build.         |

## Errors

| HTTP status         | When it happens                                                                |
|---------------------|--------------------------------------------------------------------------------|
| `400 Bad Request`   | Missing or malformed query/body parameter.                                     |
| `401 Unauthorized`  | Missing or invalid credentials.                                                |
| `403 Forbidden`     | Token lacks permission for this operation.                                     |
| `404 Not Found`     | Target entity does not exist.                                                  |
| `5xx`               | Service is unreachable, restarting, or internally errored. Inspect device logs under `System > Support`. |

> **TLS note**: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.


### Response

**Status**: 200 OK

```json
{
    "version": "1.23.19",
    "git": "43e98fc37c"
}
```

---

## Auth Status

**GET** `{{edgeUrl}}/auth/v2/version`

# Auth Status

Liveness / version probe for the **Auth** service. A `200 OK` response means the service is up and reachable.

## Endpoint

```http
GET {{edgeUrl}}/auth/v2/version
```
## Authentication

HTTP Basic Auth. **Username** is your API token, **password** is empty. Tokens are managed under `System > Access Control > Tokens`.

## Response

`200 OK` -- `application/json`

```json
{
  "version": "4.5.53",
  "git": "c20e59005e"
}
```

| Field      | Type   | Description                                          |
|------------|--------|------------------------------------------------------|
| `version`  | string | Semantic version of the Auth service.           |
| `git`      | string | Short git commit hash of the deployed build.         |

## Errors

| HTTP status         | When it happens                                                                |
|---------------------|--------------------------------------------------------------------------------|
| `400 Bad Request`   | Missing or malformed query/body parameter.                                     |
| `401 Unauthorized`  | Missing or invalid credentials.                                                |
| `403 Forbidden`     | Token lacks permission for this operation.                                     |
| `404 Not Found`     | Target entity does not exist.                                                  |
| `5xx`               | Service is unreachable, restarting, or internally errored. Inspect device logs under `System > Support`. |

> **TLS note**: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.


### Response

**Status**: 200 OK

```json
{
    "git": "c20e59005e",
    "version": "4.5.53"
}
```

---

## FTP Status

**GET** `{{edgeUrl}}/ftp/version`

# FTP Status

Liveness / version probe for the **FTP** service. A `200 OK` response means the service is up and reachable.

## Endpoint

```http
GET {{edgeUrl}}/ftp/version
```
## Authentication

HTTP Basic Auth. **Username** is your API token, **password** is empty. Tokens are managed under `System > Access Control > Tokens`.

## Response

`200 OK` -- `application/json`

```json
{
  "version": "1.4.4",
  "git": "f35f85fb14"
}
```

| Field      | Type   | Description                                          |
|------------|--------|------------------------------------------------------|
| `version`  | string | Semantic version of the FTP service.           |
| `git`      | string | Short git commit hash of the deployed build.         |

## Errors

| HTTP status         | When it happens                                                                |
|---------------------|--------------------------------------------------------------------------------|
| `400 Bad Request`   | Missing or malformed query/body parameter.                                     |
| `401 Unauthorized`  | Missing or invalid credentials.                                                |
| `403 Forbidden`     | Token lacks permission for this operation.                                     |
| `404 Not Found`     | Target entity does not exist.                                                  |
| `5xx`               | Service is unreachable, restarting, or internally errored. Inspect device logs under `System > Support`. |

> **TLS note**: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.


### Response

**Status**: 200 OK

```json
{
    "version": "1.4.4",
    "git": "f35f85fb14"
}
```

---

## Integrations/CC Status

**GET** `{{edgeUrl}}/cc/version`

# Integrations (CC) Status

Liveness / version probe for the **Integrations (CC)** service. A `200 OK` response means the service is up and reachable.

## Endpoint

```http
GET {{edgeUrl}}/cc/version
```
## Authentication

HTTP Basic Auth. **Username** is your API token, **password** is empty. Tokens are managed under `System > Access Control > Tokens`.

## Response

`200 OK` -- `application/json`

```json
{
  "version": "1.15.5",
  "git": "3a1ecffeea"
}
```

| Field      | Type   | Description                                          |
|------------|--------|------------------------------------------------------|
| `version`  | string | Semantic version of the Integrations (CC) service.           |
| `git`      | string | Short git commit hash of the deployed build.         |

## Errors

| HTTP status         | When it happens                                                                |
|---------------------|--------------------------------------------------------------------------------|
| `400 Bad Request`   | Missing or malformed query/body parameter.                                     |
| `401 Unauthorized`  | Missing or invalid credentials.                                                |
| `403 Forbidden`     | Token lacks permission for this operation.                                     |
| `404 Not Found`     | Target entity does not exist.                                                  |
| `5xx`               | Service is unreachable, restarting, or internally errored. Inspect device logs under `System > Support`. |

> **TLS note**: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.


### Response

**Status**: 200 OK

```json
{
    "version": "1.15.5",
    "git": "3a1ecffeea"
}
```

---

## UI Status

**GET** `{{edgeUrl}}/en-US/assets/version.json`

# UI Status

Liveness / version probe for the **UI** service. A `200 OK` response means the service is up and reachable.

## Endpoint

```http
GET {{edgeUrl}}/en-US/assets/version.json
```
## Authentication

HTTP Basic Auth. **Username** is your API token, **password** is empty. Tokens are managed under `System > Access Control > Tokens`.

## Response

`200 OK` -- `application/json`

```json
{
  "version": "3.8.36",
  "git": "f7fb30967"
}
```

| Field      | Type   | Description                                          |
|------------|--------|------------------------------------------------------|
| `version`  | string | Semantic version of the UI service.           |
| `git`      | string | Short git commit hash of the deployed build.         |

## Errors

| HTTP status         | When it happens                                                                |
|---------------------|--------------------------------------------------------------------------------|
| `400 Bad Request`   | Missing or malformed query/body parameter.                                     |
| `401 Unauthorized`  | Missing or invalid credentials.                                                |
| `403 Forbidden`     | Token lacks permission for this operation.                                     |
| `404 Not Found`     | Target entity does not exist.                                                  |
| `5xx`               | Service is unreachable, restarting, or internally errored. Inspect device logs under `System > Support`. |

> **TLS note**: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.


### Response

**Status**: 200 OK

```json
{
    "version": "3.8.36",
    "git": "f7fb30967"
}
```

---

## OPC UA Status

**GET** `{{edgeUrl}}/opcua/version`

# OPC UA Status

Liveness / version probe for the **OPC UA** service. A `200 OK` response means the service is up and reachable.

## Endpoint

```http
GET {{edgeUrl}}/opcua/version
```
## Authentication

HTTP Basic Auth. **Username** is your API token, **password** is empty. Tokens are managed under `System > Access Control > Tokens`.

## Response

`200 OK` -- `application/json`

```json
{
  "version": "1.12.6",
  "git": "75b07950c7"
}
```

| Field      | Type   | Description                                          |
|------------|--------|------------------------------------------------------|
| `version`  | string | Semantic version of the OPC UA service.           |
| `git`      | string | Short git commit hash of the deployed build.         |

## Errors

| HTTP status         | When it happens                                                                |
|---------------------|--------------------------------------------------------------------------------|
| `400 Bad Request`   | Missing or malformed query/body parameter.                                     |
| `401 Unauthorized`  | Missing or invalid credentials.                                                |
| `403 Forbidden`     | Token lacks permission for this operation.                                     |
| `404 Not Found`     | Target entity does not exist.                                                  |
| `5xx`               | Service is unreachable, restarting, or internally errored. Inspect device logs under `System > Support`. |

> **TLS note**: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.


### Response

**Status**: 200 OK

```json
{
    "version": "1.12.6",
    "git": "75b07950c7"
}
```

---

## Analytics Status

**GET** `{{edgeUrl}}/analytics/v2/version`

# Analytics Status

Liveness / version probe for the **Analytics** service. A `200 OK` response means the service is up and reachable.

## Endpoint

```http
GET {{edgeUrl}}/analytics/v2/version
```
## Authentication

HTTP Basic Auth. **Username** is your API token, **password** is empty. Tokens are managed under `System > Access Control > Tokens`.

## Response

`200 OK` -- `application/json`

```json
{
  "version": "1.17.5",
  "git": "04d3664a17"
}
```

| Field      | Type   | Description                                          |
|------------|--------|------------------------------------------------------|
| `version`  | string | Semantic version of the Analytics service.           |
| `git`      | string | Short git commit hash of the deployed build.         |

## Errors

| HTTP status         | When it happens                                                                |
|---------------------|--------------------------------------------------------------------------------|
| `400 Bad Request`   | Missing or malformed query/body parameter.                                     |
| `401 Unauthorized`  | Missing or invalid credentials.                                                |
| `403 Forbidden`     | Token lacks permission for this operation.                                     |
| `404 Not Found`     | Target entity does not exist.                                                  |
| `5xx`               | Service is unreachable, restarting, or internally errored. Inspect device logs under `System > Support`. |

> **TLS note**: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.


### Response

**Status**: 200 OK

```json
{
    "version": "1.17.5",
    "git": "04d3664a17"
}
```

---

## Flows Manager Status

**GET** `{{edgeUrl}}/flows-manager/version`

# Flows Manager Status

Liveness / version probe for the **Flows Manager** service. A `200 OK` response means the service is up and reachable.

## Endpoint

```http
GET {{edgeUrl}}/flows-manager/version
```
## Authentication

HTTP Basic Auth. **Username** is your API token, **password** is empty. Tokens are managed under `System > Access Control > Tokens`.

## Response

`200 OK` -- `application/json`

```json
{
  "version": "1.9.3",
  "git": "48e313fa2b"
}
```

| Field      | Type   | Description                                          |
|------------|--------|------------------------------------------------------|
| `version`  | string | Semantic version of the Flows Manager service.           |
| `git`      | string | Short git commit hash of the deployed build.         |

## Errors

| HTTP status         | When it happens                                                                |
|---------------------|--------------------------------------------------------------------------------|
| `400 Bad Request`   | Missing or malformed query/body parameter.                                     |
| `401 Unauthorized`  | Missing or invalid credentials.                                                |
| `403 Forbidden`     | Token lacks permission for this operation.                                     |
| `404 Not Found`     | Target entity does not exist.                                                  |
| `5xx`               | Service is unreachable, restarting, or internally errored. Inspect device logs under `System > Support`. |

> **TLS note**: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.


### Response

**Status**: 200 OK

```json
{
    "version": "1.9.3",
    "git": "48e313fa2b"
}
```

---

## Licensing Status

**GET** `{{edgeUrl}}/lic//v2/version`

# Licensing Status

Liveness / version probe for the **Licensing** service. A `200 OK` response means the service is up and reachable.
> **Collection quirk**: the Postman URL has a double slash (`/lic//v2/version`). The canonical path is `/lic/v2/version` -- both work due to URL normalization.

## Endpoint

```http
GET {{edgeUrl}}/lic//v2/version
```
## Authentication

HTTP Basic Auth. **Username** is your API token, **password** is empty. Tokens are managed under `System > Access Control > Tokens`.

## Response

`200 OK` -- `application/json`

```json
{
  "version": "1.6.26",
  "git": "f9a81c705d"
}
```

| Field      | Type   | Description                                          |
|------------|--------|------------------------------------------------------|
| `version`  | string | Semantic version of the Licensing service.           |
| `git`      | string | Short git commit hash of the deployed build.         |

## Errors

| HTTP status         | When it happens                                                                |
|---------------------|--------------------------------------------------------------------------------|
| `400 Bad Request`   | Missing or malformed query/body parameter.                                     |
| `401 Unauthorized`  | Missing or invalid credentials.                                                |
| `403 Forbidden`     | Token lacks permission for this operation.                                     |
| `404 Not Found`     | Target entity does not exist.                                                  |
| `5xx`               | Service is unreachable, restarting, or internally errored. Inspect device logs under `System > Support`. |

> **TLS note**: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.


### Response

**Status**: 200 OK

```json
{
    "version": "1.6.26",
    "git": "f9a81c705d"
}
```

---

## Digital Twin Status

**POST** `{{edgeUrl}}/digital-twins`

# Digital Twin Status

Liveness probe for the **Digital Twins** service. Unlike the other service probes in this folder, Digital Twins exposes its version as a GraphQL query rather than a REST endpoint.

## Endpoint

```http
POST {{edgeUrl}}/digital-twins
Content-Type: application/json
```

## Authentication

HTTP Basic Auth. **Username** is your API token, **password** is empty. Tokens are managed under `System > Access Control > Tokens`.

## Request body

```graphql
query Version {
  Version { Git Version }
}
```

## Response

```json
{ "data": { "Version": { "Git": "20e4e53e40", "Version": "1.1.14" } } }
```

## Errors

| HTTP status         | When it happens                                                                |
|---------------------|--------------------------------------------------------------------------------|
| `400 Bad Request`   | Missing or malformed query/body parameter.                                     |
| `401 Unauthorized`  | Missing or invalid credentials.                                                |
| `403 Forbidden`     | Token lacks permission for this operation.                                     |
| `404 Not Found`     | Target entity does not exist.                                                  |
| `5xx`               | Service is unreachable, restarting, or internally errored. Inspect device logs under `System > Support`. |

> **TLS note**: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.


### Request Body

**GraphQL Query**

```graphql
query Version {
    Version {
        Git
        Version
    }
}

```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "Version": {
            "Git": "20e4e53e40",
            "Version": "1.1.14"
        }
    }
}
```

---

## Generate and Download Support Bundle

**GET** `{{edgeUrl}}/dm/supportbundle/generate`

# Generate and Download Support Bundle

Generates a **support bundle** (a tarball of logs, configuration, and diagnostics from every LE service) and streams it back as a download.

The generation step can take several minutes on busy devices. The response body begins streaming as the bundle is being assembled -- configure your HTTP client with a generous timeout (15+ minutes).

For ad-hoc generation without immediate download, the LE UI flow uses `Get Support Bundle Generation Status` to monitor progress.

## Endpoint

```http
GET {{edgeUrl}}/dm/supportbundle/generate
```
## Authentication

HTTP Basic Auth. **Username** is your API token, **password** is empty. Tokens are managed under `System > Access Control > Tokens`.

## Response

`200 OK` -- `application/octet-stream` (tar.gz). Use Postman's **Send and Download** to save to disk.

## Errors

| HTTP status         | When it happens                                                                |
|---------------------|--------------------------------------------------------------------------------|
| `400 Bad Request`   | Missing or malformed query/body parameter.                                     |
| `401 Unauthorized`  | Missing or invalid credentials.                                                |
| `403 Forbidden`     | Token lacks permission for this operation.                                     |
| `404 Not Found`     | Target entity does not exist.                                                  |
| `5xx`               | Service is unreachable, restarting, or internally errored. Inspect device logs under `System > Support`. |

> **TLS note**: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.


---

## Get Support Bundle Generation Status

**GET** `{{edgeUrl}}/dm/supportbundle/status`

# Get Support Bundle Generation Status

Returns the progress of an in-flight support bundle generation.

## Endpoint

```http
GET {{edgeUrl}}/dm/supportbundle/status
```
## Authentication

HTTP Basic Auth. **Username** is your API token, **password** is empty. Tokens are managed under `System > Access Control > Tokens`.

## Response

```json
{
  "msg": "writing the bundle",
  "status": "running",
  "step": 6,
  "steps": 6
}
```

| Field       | Type    | Description                                                       |
|-------------|---------|-------------------------------------------------------------------|
| `status`    | string  | `idle`, `running`, `completed`, `error`.                          |
| `step` / `steps` | integer | Current step / total steps.                                  |
| `msg`       | string  | Free-form progress message.                                       |

## Errors

| HTTP status         | When it happens                                                                |
|---------------------|--------------------------------------------------------------------------------|
| `400 Bad Request`   | Missing or malformed query/body parameter.                                     |
| `401 Unauthorized`  | Missing or invalid credentials.                                                |
| `403 Forbidden`     | Token lacks permission for this operation.                                     |
| `404 Not Found`     | Target entity does not exist.                                                  |
| `5xx`               | Service is unreachable, restarting, or internally errored. Inspect device logs under `System > Support`. |

> **TLS note**: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.


### Response

**Status**: 200 OK

```json
{
    "msg": "writing the bundle",
    "status": "running",
    "step": 6,
    "steps": 6
}
```

---

## Reset Support Bundle Creation

**DELETE** `{{edgeUrl}}/dm/supportbundle`

# Reset Support Bundle Creation

Cancels any in-flight support bundle generation and clears its intermediate state. Use to recover from a hung generation.

## Endpoint

```http
DELETE {{edgeUrl}}/dm/supportbundle
```
## Authentication

HTTP Basic Auth. **Username** is your API token, **password** is empty. Tokens are managed under `System > Access Control > Tokens`.

## Errors

| HTTP status         | When it happens                                                                |
|---------------------|--------------------------------------------------------------------------------|
| `400 Bad Request`   | Missing or malformed query/body parameter.                                     |
| `401 Unauthorized`  | Missing or invalid credentials.                                                |
| `403 Forbidden`     | Token lacks permission for this operation.                                     |
| `404 Not Found`     | Target entity does not exist.                                                  |
| `5xx`               | Service is unreachable, restarting, or internally errored. Inspect device logs under `System > Support`. |

> **TLS note**: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.


### Response

**Status**: 204 No Content

---

## List File Downloads

**GET** `{{edgeUrl}}/downloads`

# List File Downloads

Returns the catalog of client-tool downloads the device hosts: DH Agent, Zerotouch, open-source license bundles, etc. Each entry includes architecture, OS, and version metadata.

## Endpoint

```http
GET {{edgeUrl}}/downloads
```
## Authentication

HTTP Basic Auth. **Username** is your API token, **password** is empty. Tokens are managed under `System > Access Control > Tokens`.

## Response

| Field           | Type    | Description                                                       |
|-----------------|---------|-------------------------------------------------------------------|
| `itemname`      | string  | Internal item identifier. Use with `Get File Download Details`.   |
| `description`   | string  | Human-readable description.                                       |
| `filename`      | string  | Downloadable file name.                                           |
| `os` / `arch`   | string  | Target platform.                                                  |
| `size`          | integer | File size in bytes.                                               |
| `version`       | string  | Tool version.                                                     |

## Errors

| HTTP status         | When it happens                                                                |
|---------------------|--------------------------------------------------------------------------------|
| `400 Bad Request`   | Missing or malformed query/body parameter.                                     |
| `401 Unauthorized`  | Missing or invalid credentials.                                                |
| `403 Forbidden`     | Token lacks permission for this operation.                                     |
| `404 Not Found`     | Target entity does not exist.                                                  |
| `5xx`               | Service is unreachable, restarting, or internally errored. Inspect device logs under `System > Support`. |

> **TLS note**: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.


### Response

**Status**: 200 OK

```json
[
    {
        "arch": "x86",
        "description": "Edge Zerotouch",
        "filename": "edge-zerotouch",
        "itemname": "litmus-zerotouch",
        "os": "Linux",
        "size": 8535967,
        "version": "2.0.3"
    },
    {
        "arch": "x86",
        "description": "Edge DH Agent",
        "filename": "DeviceHubAgent_3.5.2_x86.exe",
        "itemname": "loopedge-dh-agent",
        "os": "Windows",
        "size": 31456389,
        "version": "3.5.2"
    },
    {
        "description": "Open Source Licenses",
        "filename": "opensource-licenses.tar.gz",
        "itemname": "opensource-licenses",
        "os": "Any",
        "size": 1572195
    }
]
```

---

## Get File Download Details

**GET** `{{edgeUrl}}/downloads/details/{name}`

# Get File Download Details

Returns the metadata for one named download plus its README content (markdown). Use this to render a per-tool detail page.

## Endpoint

```http
GET {{edgeUrl}}/downloads/details/{name}
```
## Authentication

HTTP Basic Auth. **Username** is your API token, **password** is empty. Tokens are managed under `System > Access Control > Tokens`.

## Path parameters

| Location | Name      | Required | Description                                              |
|----------|-----------|----------|----------------------------------------------------------|
| Path     | `{name}`  | Yes      | `itemname` from `List File Downloads`.                   |

## Response

```json
{
  "metadata": { "desc": "...", "version": "...", "os": "Windows", "arch": "x86", "file": "...", "readme": "README.md" },
  "readme": "Edge DH Agent\n=============\n..."
}
```

## Errors

| HTTP status         | When it happens                                                                |
|---------------------|--------------------------------------------------------------------------------|
| `400 Bad Request`   | Missing or malformed query/body parameter.                                     |
| `401 Unauthorized`  | Missing or invalid credentials.                                                |
| `403 Forbidden`     | Token lacks permission for this operation.                                     |
| `404 Not Found`     | Target entity does not exist.                                                  |
| `5xx`               | Service is unreachable, restarting, or internally errored. Inspect device logs under `System > Support`. |

> **TLS note**: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.


### Response

**Status**: 200 OK

```json
{
    "metadata": {
        "arch": "x86",
        "desc": "Edge DH Agent",
        "file": "DeviceHubAgent_3.5.2_x86.exe",
        "os": "Windows",
        "readme": "README.md",
        "version": "3.5.2"
    },
    "readme": "Edge DH Agent\n=============\n\nEdge DH Agent is a proxy between OPC DA server and Edge system. It helps users\nto search for available servers and extract list of tags from a server. A user\ncan then select tags which need to be added and send them to Edge device.\n\nThere are options to export tags from the OPC DA server to a csv file or send\nthem directly to an Edge device. Status of the tags is checked periodically\nand multiple servers can be connected at the same time.\n"
}
```

---

