Litmus Edge Manager 3.0.x - Admin Console: Docker Registry

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

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

Authentication

API key in a request header (case sensitive). The value is the LEM admin API token.

URL prefix Auth header
{{LEM_URL}}/api/v1/... (main fleet API) X-AuthToken: <token>
{{LEM_adminURL}}/admin/v1/... (admin console, port 8446) X-AuthToken: <token>
{{LEM_URL}}/mpcs/... (Marketplace Catalog) Authorization: <token> (3.0.x also accepts X-AuthToken)
## 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

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

Docker Pull

POST {{LEM_adminURL}}/admin/v1/registry/image/upload-remote

Changed in 3.0. Now required in the request body: externalName. Query parameters removed (they moved into the JSON request body): externalName, externalTag, externalUrl, internalName, internalTag, password, user.

Docker Pull

Pulls an image from an external registry into LEM's internal registry. Useful for mirroring vendor images for offline edge deployments. The pull parameters are a JSON request body; before 2.35 they were query parameters.

Endpoint

POST {{LEM_adminURL}}/admin/v1/registry/image/upload-remote

Authentication

API key in a request header (case sensitive). The value is the LEM admin API token.

URL prefix Auth header
{{LEM_URL}}/api/v1/... (main fleet API) X-AuthToken: <token>
{{LEM_adminURL}}/admin/v1/... (admin console, port 8446) X-AuthToken: <token>
{{LEM_URL}}/mpcs/... (Marketplace Catalog) Authorization: <token> (3.0.x also accepts X-AuthToken)
## Request body
Field Required Description
externalName Yes Source image name, e.g. library/alpine.
externalUrl No Source registry address, e.g. docker.io.
externalTag No Source tag.
internalName No Name inside LEM's registry; defaults to externalName.
internalTag No Tag inside LEM's registry.
username / password No Source registry credentials; omit both for an anonymous pull. Note the field is username; the old query parameter was user.
{
  "externalUrl": "docker.io",
  "externalName": "library/alpine",
  "externalTag": "latest",
  "internalName": "library/alpine",
  "internalTag": "latest"
}

Response

ApiResponse { code, message, messageDetails }.

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

{
  "externalUrl": "registry.example.com",
  "externalName": "library/alpine",
  "externalTag": "latest",
  "internalName": "library/alpine",
  "internalTag": "latest",
  "username": "jdoe",
  "password": "secret"
}

Response

Status: 200 OK

{
  "code": "S",
  "message": null,
  "messageDetails": null
}

Upload Local Image

POST {{LEM_adminURL}}/admin/v1/registry/image/upload-local

Upload Local Image

Uploads an image file from your machine into the LEM Docker registry. Docker Pull is the alternative that pulls from a remote registry.

Not exercised against a live server for this documentation; request and response are taken from the API specification and the admin console.

Endpoint

POST {{LEM_adminURL}}/admin/v1/registry/image/upload-local

Authentication

API key in a request header (case sensitive). The value is the LEM admin API token.

URL prefix Auth header
{{LEM_URL}}/api/v1/... (main fleet API) X-AuthToken: <token>
{{LEM_adminURL}}/admin/v1/... (admin console, port 8446) X-AuthToken: <token>
{{LEM_URL}}/mpcs/... (Marketplace Catalog) Authorization: <token> (3.0.x also accepts X-AuthToken)

Request

multipart/form-data with one part:

Part Type Required Description
file file Yes The image file.

The API specification declares the body as JSON; the admin console sends multipart form data, as above.

Response

200 OK with {"code": "S", "message": null, "messageDetails": null}. The uploaded image then appears in Image List.

Errors

HTTP status When it happens
401 Unauthorized Missing or invalid X-AuthToken.

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

Response

Status: 200 OK

{
    "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

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

Authentication

API key in a request header (case sensitive). The value is the LEM admin API token.

URL prefix Auth header
{{LEM_URL}}/api/v1/... (main fleet API) X-AuthToken: <token>
{{LEM_adminURL}}/admin/v1/... (admin console, port 8446) X-AuthToken: <token>
{{LEM_URL}}/mpcs/... (Marketplace Catalog) Authorization: <token> (3.0.x also accepts X-AuthToken)
## 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

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

Authentication

API key in a request header (case sensitive). The value is the LEM admin API token.

URL prefix Auth header
{{LEM_URL}}/api/v1/... (main fleet API) X-AuthToken: <token>
{{LEM_adminURL}}/admin/v1/... (admin console, port 8446) X-AuthToken: <token>
{{LEM_URL}}/mpcs/... (Marketplace Catalog) Authorization: <token> (3.0.x also accepts X-AuthToken)
## Response
{ "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

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

Enable/Disable Docker Hub Proxy

POST {{LEM_adminURL}}/admin/v1/registry/proxy/true

Enable/Disable Docker Hub Proxy

Switches the registry's Docker Hub pull-through proxy on or off. This is instance-wide: it affects every company and project on the LEM server. Read the current state from Registry Info (proxyState).

Not exercised against a live server for this documentation; request and response are taken from the API specification and the admin console.

Endpoint

POST {{LEM_adminURL}}/admin/v1/registry/proxy/{enable}

Authentication

API key in a request header (case sensitive). The value is the LEM admin API token.

URL prefix Auth header
{{LEM_URL}}/api/v1/... (main fleet API) X-AuthToken: <token>
{{LEM_adminURL}}/admin/v1/... (admin console, port 8446) X-AuthToken: <token>
{{LEM_URL}}/mpcs/... (Marketplace Catalog) Authorization: <token> (3.0.x also accepts X-AuthToken)

Request

Path parameter Type Required Description
enable boolean Yes true to switch on, false to switch off.

No body. The admin console sends an empty POST.

Response

200 OK with {"code": "S", "message": null, "messageDetails": null}.

Errors

HTTP status When it happens
401 Unauthorized Missing or invalid X-AuthToken.

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

{
    "code": "S",
    "message": null,
    "messageDetails": null
}

Enable/Disable Registry Authentication

POST {{LEM_adminURL}}/admin/v1/registry/auth/true

Enable/Disable Registry Authentication

Switches login enforcement on the LEM Docker registry on or off. With authentication on, clients log in as one of the Registry Users. This is instance-wide: it affects every company and project on the LEM server. Read the current state from Registry Info (authState).

Not exercised against a live server for this documentation; request and response are taken from the API specification and the admin console.

Endpoint

POST {{LEM_adminURL}}/admin/v1/registry/auth/{enable}

Authentication

API key in a request header (case sensitive). The value is the LEM admin API token.

URL prefix Auth header
{{LEM_URL}}/api/v1/... (main fleet API) X-AuthToken: <token>
{{LEM_adminURL}}/admin/v1/... (admin console, port 8446) X-AuthToken: <token>
{{LEM_URL}}/mpcs/... (Marketplace Catalog) Authorization: <token> (3.0.x also accepts X-AuthToken)

Request

Path parameter Type Required Description
enable boolean Yes true to switch on, false to switch off.

No body. The admin console sends an empty POST.

Response

200 OK with {"code": "S", "message": null, "messageDetails": null}.

Errors

HTTP status When it happens
401 Unauthorized Missing or invalid X-AuthToken.

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

{
    "code": "S",
    "message": null,
    "messageDetails": null
}

Enable/Disable Docker Registry

POST {{LEM_adminURL}}/admin/v1/registry/enable/true

Enable/Disable Docker Registry

Switches the LEM Docker registry on or off. This is instance-wide: it affects every company and project on the LEM server. Read the current state from Registry Info (state).

Not exercised against a live server for this documentation; request and response are taken from the API specification and the admin console.

Endpoint

POST {{LEM_adminURL}}/admin/v1/registry/enable/{enable}

Authentication

API key in a request header (case sensitive). The value is the LEM admin API token.

URL prefix Auth header
{{LEM_URL}}/api/v1/... (main fleet API) X-AuthToken: <token>
{{LEM_adminURL}}/admin/v1/... (admin console, port 8446) X-AuthToken: <token>
{{LEM_URL}}/mpcs/... (Marketplace Catalog) Authorization: <token> (3.0.x also accepts X-AuthToken)

Request

Path parameter Type Required Description
enable boolean Yes true to switch on, false to switch off.

No body. The admin console sends an empty POST.

Response

200 OK with {"code": "S", "message": null, "messageDetails": null}.

Errors

HTTP status When it happens
401 Unauthorized Missing or invalid X-AuthToken.

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

{
    "code": "S",
    "message": null,
    "messageDetails": null
}

Registry Users

GET {{LEM_adminURL}}/admin/v1/registry/user

Registry Users

Lists the users that can log in to the LEM Docker registry.

Endpoint

GET {{LEM_adminURL}}/admin/v1/registry/user

Authentication

API key in a request header (case sensitive). The value is the LEM admin API token.

URL prefix Auth header
{{LEM_URL}}/api/v1/... (main fleet API) X-AuthToken: <token>
{{LEM_adminURL}}/admin/v1/... (admin console, port 8446) X-AuthToken: <token>
{{LEM_URL}}/mpcs/... (Marketplace Catalog) Authorization: <token> (3.0.x also accepts X-AuthToken)

Request

None.

Response

200 OK. Array of {username}.

Errors

HTTP status When it happens
401 Unauthorized Missing or invalid X-AuthToken.

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

[
    {
        "username": "ci-pusher"
    }
]

Create or Update Registry User

POST {{LEM_adminURL}}/admin/v1/registry/user

Create or Update Registry User

Creates a Docker registry user, or sets a new password if the user already exists. User management works whether or not the registry itself is enabled.

Endpoint

POST {{LEM_adminURL}}/admin/v1/registry/user

Authentication

API key in a request header (case sensitive). The value is the LEM admin API token.

URL prefix Auth header
{{LEM_URL}}/api/v1/... (main fleet API) X-AuthToken: <token>
{{LEM_adminURL}}/admin/v1/... (admin console, port 8446) X-AuthToken: <token>
{{LEM_URL}}/mpcs/... (Marketplace Catalog) Authorization: <token> (3.0.x also accepts X-AuthToken)

Request

Field Type Required Description
username string Yes Registry user name.
password string Yes Password.

Response

200 OK with {"code": "S", "message": null, "messageDetails": null}.

Errors

HTTP status When it happens
401 Unauthorized Missing or invalid X-AuthToken.
500 Internal Server Error password missing (rawPassword cannot be null).

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

{
    "username": "ci-pusher",
    "password": "ChangeMe-2024!"
}

Response

Status: 200 OK

{
    "code": "S",
    "message": null,
    "messageDetails": null
}

Delete Registry User

DELETE {{LEM_adminURL}}/admin/v1/registry/user/{{registry_username}}

Delete Registry User

Deletes a Docker registry user.

Endpoint

DELETE {{LEM_adminURL}}/admin/v1/registry/user/{{registry_username}}

Authentication

API key in a request header (case sensitive). The value is the LEM admin API token.

URL prefix Auth header
{{LEM_URL}}/api/v1/... (main fleet API) X-AuthToken: <token>
{{LEM_adminURL}}/admin/v1/... (admin console, port 8446) X-AuthToken: <token>
{{LEM_URL}}/mpcs/... (Marketplace Catalog) Authorization: <token> (3.0.x also accepts X-AuthToken)

Request

Path parameter Type Required Description
registry_username string Yes Registry user name.

Response

204 No Content, empty body.

Errors

HTTP status When it happens
401 Unauthorized Missing or invalid X-AuthToken.
404 Not Found User `<name>` not found.

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


View this page as Markdown