ÿÿ Edgelet API | Datasance PoT Documentation
Skip to main content

Edgelet API (1.0.0)

Download OpenAPI specification:Download

Edgelet API v1 baseline for Edgelet daemon and CLI. Canonical namespace is /v1. Any path/schema/auth deviation must be explicitly approved before implementation.

System

Liveness probe

Responses

Readiness probe

Responses

Prometheus metrics

Responses

Get daemon status

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "daemonStatus": "string",
  • "controllerConnection": "string",
  • "engine": "string",
  • "runningMicroservices": 0,
  • "cpuUsagePercent": 0,
  • "memoryUsageMiB": 0,
  • "diskUsageGiB": 0,
  • "uptimeSeconds": 0
}

Get daemon runtime info

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{ }

Get daemon version

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "version": "string",
  • "buildTime": "string",
  • "gitCommit": "string",
  • "allowedContainerEngine": "string",
  • "allowedEngines": [
    ]
}

Provision agent with controller key

Authorizations:
BearerAuth
Request Body schema: application/json
required
provisioningKey
required
string

Responses

Request samples

Content type
application/json
{
  • "provisioningKey": "string"
}

Response samples

Content type
application/json
{ }

Deprovision agent

Optional scope controls cleanup behavior. Default scope is all. scope=local preserves local microservices while deprovisioning from controller.

Authorizations:
BearerAuth
query Parameters
scope
string
Enum: "all" "local"

Responses

Response samples

Content type
application/json
{ }

Trigger daemon config/module reload

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}

Trigger prune operation

Authorizations:
BearerAuth
query Parameters
mode
string
Default: "dangling"
Enum: "dangling" "containers" "volumes" "all"

Responses

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}

Get current GPS coordinates

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "timestamp": 0,
  • "lat": "string",
  • "lon": "string"
}

Set GPS coordinates

Authorizations:
BearerAuth
Request Body schema: application/json
required
required
string or number
required
string or number

Responses

Request samples

Content type
application/json
{
  • "lat": "string",
  • "lon": "string"
}

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}

Update controller certificate

Authorizations:
BearerAuth
Request Body schema: application/json
required
certificate
required
string

Base64-encoded PEM certificate string

Responses

Request samples

Content type
application/json
{
  • "certificate": "string"
}

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}

Get local ControlPlane deployment status

Admin-only. Returns singleton controller deployment status.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "controllerUuid": "string",
  • "namespace": "string",
  • "name": "string",
  • "image": "string",
  • "containerId": "string",
  • "state": "string",
  • "desiredState": "string",
  • "runtimeState": "string",
  • "lastError": "string",
  • "restartCount": 0,
  • "generation": 0,
  • "observedGeneration": 0,
  • "lastTransitionAt": 0,
  • "source": "controlplane",
  • "type": "controlplane"
}

Delete local ControlPlane deployment

Admin-only. Stops the controller container, removes volumes, and deletes the SQLite row.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}

Get ControlPlane manifest with secrets masked

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "manifestYaml": "string",
  • "masked": true
}

Restart local ControlPlane controller container

Admin-only. Bounces the singleton controller container without deprovisioning. Allowed when the agent is provisioned.

Authorizations:
BearerAuth
query Parameters
pull
boolean
Default: false

When true, recreate the container and pull the image.

Responses

Response samples

Content type
application/json
{
  • "controllerUuid": "string",
  • "namespace": "string",
  • "name": "string",
  • "image": "string",
  • "containerId": "string",
  • "state": "string",
  • "desiredState": "string",
  • "runtimeState": "string",
  • "lastError": "string",
  • "restartCount": 0,
  • "generation": 0,
  • "observedGeneration": 0,
  • "lastTransitionAt": 0,
  • "source": "controlplane",
  • "type": "controlplane",
  • "status": "ok"
}

Get local ControlPlane status (alias)

Alias of GET /v1/system/controlplane. Delete is not supported on this path.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "controllerUuid": "string",
  • "namespace": "string",
  • "name": "string",
  • "image": "string",
  • "containerId": "string",
  • "state": "string",
  • "desiredState": "string",
  • "runtimeState": "string",
  • "lastError": "string",
  • "restartCount": 0,
  • "generation": 0,
  • "observedGeneration": 0,
  • "lastTransitionAt": 0,
  • "source": "controlplane",
  • "type": "controlplane"
}

Logs

Fetch bounded daemon logs

Authorizations:
BearerAuth
query Parameters
tailLines
integer >= 1
since
string <date-time>
until
string <date-time>

Responses

Response samples

Content type
application/json
{
  • "entries": [
    ]
}

Stream daemon logs over websocket (follow mode)

Authorizations:
BearerAuth
query Parameters
tailLines
integer >= 1
since
string <date-time>
until
string <date-time>

Responses

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}

Fetch bounded logs

Authorizations:
BearerAuth
path Parameters
id
required
string
query Parameters
tailLines
integer >= 1
since
string <date-time>
until
string <date-time>
timestamps
boolean

Responses

Response samples

Content type
application/json
{
  • "entries": [
    ]
}

Stream logs over websocket (follow mode)

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}

Images

List local images

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Pull image

Authorizations:
BearerAuth
Request Body schema: application/json
required
image
required
string
registryId
integer
platform
string
async
boolean

When true, starts asynchronous pull operation and returns operationId.

Responses

Request samples

Content type
application/json
{
  • "image": "string",
  • "registryId": 0,
  • "platform": "string",
  • "async": true
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Get image pull operation status

Authorizations:
BearerAuth
path Parameters
operationId
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Load image archive from daemon-local path (async)

Accepts load work and returns operationId. Poll GET /v1/images:load/{operationId}.

Authorizations:
BearerAuth
Request Body schema: application/json
required
path
required
string

Responses

400

Invalid argument

Request samples

Content type
application/json
{
  • "path": "string"
}

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}

Image load operation status

Authorizations:
BearerAuth
path Parameters
operationId
required
string

Responses

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}

Prune dangling images

Authorizations:
BearerAuth
query Parameters
mode
string
Default: "dangling"
Value: "dangling"

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Remove local image by selector

Authorizations:
BearerAuth
Request Body schema: application/json
required
selector
required
string

Responses

Request samples

Content type
application/json
{
  • "selector": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Config

Get active config

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "controllerUrl": "string",
  • "containerEngine": "string",
  • "containerEngineUrl": "string",
  • "pruningFrequency": 0,
  • "watchdogEnabled": true,
  • "networkInterface": "string",
  • "diskLimitGiB": 0,
  • "memoryLimitMiB": 0,
  • "cpuLimitPercent": 0,
  • "logLevel": "string",
  • "statusFrequencySeconds": 0,
  • "changeFrequencySeconds": 0,
  • "secureMode": true,
  • "devMode": true,
  • "timezone": "string"
}

Patch active config

Authorizations:
BearerAuth
Request Body schema: application/json
required
object (ConfigView)
controllerUrl
string
containerEngine
string
containerEngineUrl
string
pruningFrequency
integer
watchdogEnabled
boolean
networkInterface
string
diskLimitGiB
number
memoryLimitMiB
number
cpuLimitPercent
number
logLevel
string
statusFrequencySeconds
integer
changeFrequencySeconds
integer
secureMode
boolean
devMode
boolean
timezone
string

Responses

Request samples

Content type
application/json
{
  • "set": {
    }
}

Response samples

Content type
application/json
{ }

Switch active config profile

Authorizations:
BearerAuth
Request Body schema: application/json
required
profile
required
string
Enum: "dev" "prod" "def" "development" "production" "default"

Responses

Request samples

Content type
application/json
{
  • "profile": "dev"
}

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}

Microservices

Get calling microservice config (self)

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{ }

WebSocket control channel (self)

Upgrades to WSS control channel for the calling microservice identity. Server resolves microservice UUID from JWT claim iofog.org.microservice.uuid. Server may push binary opcodes: 0xC (config changed - fetch GET /v1/microservices/config), 0xF (agent resource limits changed).

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}

List microservices

Authorizations:
BearerAuth
query Parameters
source
string
Enum: "managed" "local" "controlplane" "all"

Filter by workload source (default all).

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Inspect microservice

Selector supports UUID, container ID prefix, or dotted application/name. Local microservices can be resolved as edgelet. (for example edgelet.router).

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "name": "string",
  • "application": "string",
  • "source": "string",
  • "state": "string",
  • "image": "string",
  • "containerId": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "env": {
    },
  • "ports": [
    ],
  • "labels": {
    },
  • "healthStatus": "string",
  • "errorMessage": "string"
}

Remove microservice

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}

Start microservice

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}

Stop microservice

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}

Kill microservice

Authorizations:
BearerAuth
path Parameters
id
required
string
Request Body schema: application/json
optional
signal
string

Responses

Request samples

Content type
application/json
{
  • "signal": "string"
}

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}

Restart microservice

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}

Exec

Create exec session

Authorizations:
BearerAuth
path Parameters
id
required
string
Request Body schema: application/json
required
command
required
Array of strings
tty
boolean
Default: true
stdin
boolean
Default: true
stdout
boolean
Default: true
stderr
boolean
Default: true
cols
integer >= 1
rows
integer >= 1

Responses

Request samples

Content type
application/json
{
  • "command": [
    ],
  • "tty": true,
  • "stdin": true,
  • "stdout": true,
  • "stderr": true,
  • "cols": 1,
  • "rows": 1
}

Response samples

Content type
application/json
{
  • "sessionId": "string",
  • "wsUrl": "string",
  • "expiresAt": "2019-08-24T14:15:22Z"
}

Get exec session status

Authorizations:
BearerAuth
path Parameters
id
required
string
sessionId
required
string

Responses

Response samples

Content type
application/json
{ }

Stop exec session

Authorizations:
BearerAuth
path Parameters
id
required
string
sessionId
required
string

Responses

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}

Attach interactive terminal over websocket

Authorizations:
BearerAuth
path Parameters
id
required
string
sessionId
required
string

Responses

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}

Deploy

Apply local microservice YAML (asynchronous operation)

Authorizations:
BearerAuth
Request Body schema: multipart/form-data
required
manifest
required
string <binary>

YAML document; microservice deploys use LocalDeployMicroserviceManifest (spec.image)

sourceName
string
dryRun
boolean
async
string

Optional boolean-like field used by deploy handlers that support operation polling.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Get asynchronous apply operation status

Authorizations:
BearerAuth
path Parameters
operationId
required
string

Responses

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "data": {
    }
}

Validate local microservice YAML

Authorizations:
BearerAuth
Request Body schema: multipart/form-data
required
manifest
required
string <binary>

YAML document; microservice deploys use LocalDeployMicroserviceManifest (spec.image)

sourceName
string
dryRun
boolean
async
string

Optional boolean-like field used by deploy handlers that support operation polling.

Responses

Response samples

Content type
application/json
{ }

List local deployed microservices

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{ }

Get local deployed microservice

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{ }

Remove local deployed microservice

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}

Apply local registry YAML

Authorizations:
BearerAuth
Request Body schema: multipart/form-data
required
manifest
required
string <binary>

YAML document; microservice deploys use LocalDeployMicroserviceManifest (spec.image)

sourceName
string
dryRun
boolean
async
string

Optional boolean-like field used by deploy handlers that support operation polling.

Responses

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}

Validate local registry YAML

Authorizations:
BearerAuth
Request Body schema: multipart/form-data
required
manifest
required
string <binary>

YAML document; microservice deploys use LocalDeployMicroserviceManifest (spec.image)

sourceName
string
dryRun
boolean
async
string

Optional boolean-like field used by deploy handlers that support operation polling.

Responses

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}

List local registries

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{ }

Get local registry

Authorizations:
BearerAuth
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}

Delete local registry

Authorizations:
BearerAuth
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}

Apply ControlPlane manifest (async)

Admin-only. Accepts the manifest and runs apply in the background. Poll GET /v1/deploy/controlplane:apply/{operationId}. At most one apply may be running; a second POST returns 409 APPLY_IN_PROGRESS.

Authorizations:
BearerAuth
Request Body schema: multipart/form-data
required
manifest
required
string <binary>

YAML document; microservice deploys use LocalDeployMicroserviceManifest (spec.image)

sourceName
string
dryRun
boolean
async
string

Optional boolean-like field used by deploy handlers that support operation polling.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

ControlPlane apply operation status

Authorizations:
BearerAuth
path Parameters
operationId
required
string

Responses

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "data": {
    }
}

Validate ControlPlane manifest

Authorizations:
BearerAuth
Request Body schema: multipart/form-data
required
manifest
required
string <binary>

YAML document; microservice deploys use LocalDeployMicroserviceManifest (spec.image)

sourceName
string
dryRun
boolean
async<ÿÿdiv>
string

Optional boolean-like field used by deploy handlers that support operation polling.

Responses

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}

Apply RuntimeClass manifest

Authorizations:
BearerAuth
Request Body schema: multipart/form-data
required
manifest
required
string <binary>
dryRun
boolean
Default: false
async
boolean
Default: false

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Get RuntimeClass apply operation status

Authorizations:
BearerAuth
path Parameters
operationId
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Validate RuntimeClass manifest

Authorizations:
BearerAuth
Request Body schema: multipart/form-data
required
manifest
required
string <binary>

YAML document; microservice deploys use LocalDeployMicroserviceManifest (spec.image)

sourceName
string
dryRun
boolean
async
string

Optional boolean-like field used by deploy handlers that support operation polling.

Responses

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}

List RuntimeClasses

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Inspect RuntimeClass

Authorizations:
BearerAuth
path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Delete RuntimeClass

Authorizations:
BearerAuth
path Parameters
name
required
string
query Parameters
async
boolean
Default: false

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Get RuntimeClass delete operation status

Authorizations:
BearerAuth
path Parameters
operationId
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Auth

Inspect caller token identity

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "subject": "string",
  • "tokenType": "string",
  • "issuer": "string",
  • "audience": [
    ],
  • "jti": "string",
  • "expiresAt": "2019-08-24T14:15:22Z",
  • "claims": {
    }
}

List token metadata

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{ }

Revoke token(s)

Authorizations:
BearerAuth
Request Body schema: application/json
required
jti
string
subject
string

Responses

Request samples

Content type
application/json
{
  • "jti": "string",
  • "subject": "string"
}

Response samples

Content type
application/json
{
  • "success": false,
  • "error": {
    }
}
ÿÿÿÿ