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