# LitmusEdgeManager 2.31.x API Documentation/Admin Console APIs/Docker Registry - LE, LEM, LUNS API Docs

## Image List

**GET** `{{LEM_adminURL}}/admin/v1/registry/image`

# Image List

Returns the images stored in LEM's internal Docker registry. Each entry: `name`, `tag`, `digest`, `timestamp`, `size`.
## Endpoint

```http
GET {{LEM_adminURL}}/admin/v1/registry/image
```
## 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**: 200 OK

```json
[
    {
        "name": "python",
        "tag": "3.9",
        "digest": "sha256:ddf3e328f78494805eeb0c43b6754178a941ae93b26949e493368af633c9c8a2",
        "timestamp": 1698800006000,
        "size": 373886615
    }
]
```

---

## Docker Pull

**POST** `{{LEM_adminURL}}/admin/v1/registry/image/upload-remote?externalUrl=docker.io&externalName=python&externalTag=3.9&internalName=python&internalTag=3.9`

# Docker Pull

Pulls an image from an **external** registry into LEM's internal registry. Useful for mirroring vendor images to a self-hosted registry for offline edge deployments.
## Endpoint

```http
POST {{LEM_adminURL}}/admin/v1/registry/image/upload-remote?externalUrl=docker.io&externalName=python&externalTag=3.9&internalName=python&internalTag=3.9
```
## Authentication

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

| Parameter        | Description                                              |
|------------------|----------------------------------------------------------|
| `externalUrl`    | Source registry (e.g. `docker.io`).                       |
| `externalName`   | Source image name.                                       |
| `externalTag`    | Source tag.                                              |
| `internalName`   | Name to store as inside LEM's registry.                   |
| `internalTag`    | Tag to store as.                                          |

## 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
{
    "code": "S",
    "message": null,
    "messageDetails": null
}
```

---

## Delete Image

**DELETE** `{{LEM_adminURL}}/admin/v1/registry/image/?name=python&digest=sha256:ddf3e328f78494805eeb0c43b6754178a941ae93b26949e493368af633c9c8a2`

# Delete Image

Removes an image from LEM's registry by name + digest.
## Endpoint

```http
DELETE {{LEM_adminURL}}/admin/v1/registry/image/?name=python&digest=sha256:ddf3e328f78494805eeb0c43b6754178a941ae93b26949e493368af633c9c8a2
```
## 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

---

## Registry Info

**GET** `{{LEM_adminURL}}/admin/v1/registry/info`

# Registry Info

Returns the registry's runtime state, auth state, and proxy config.
## Endpoint

```http
GET {{LEM_adminURL}}/admin/v1/registry/info
```
## Authentication

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

```json
{ "state": true, "authState": true, "proxyState": true, "proxyUser": null }
```

## 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
{
    "state": true,
    "authState": true,
    "proxyState": true,
    "proxyUser": null
}
```

---

