Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

wasmCloud Application Deployment Manager (wadm) API

wadm provides a declarative application deployment API for wasmCloud. Applications are defined as YAML manifests specifying components, capability providers, and their links. wadm manages the desired state of applications across the lattice, handling scaling, updates, and self-healing through reconciliation loops using the Open Application Model format.

wasmCloud Application Deployment Manager (wadm) API is one of 5 APIs that wasmCloud publishes on the APIs.io network, described by an AsyncAPI event-driven specification.

This API exposes 2 JSON Schema definitions.

Tagged areas include Application Management, Declarative, Deployment, and OAM. The published artifact set on APIs.io includes API documentation, an API reference, a GitHub repository, an AsyncAPI specification, and 2 JSON Schemas.

This event API exposes 14 operations across 7 channels, and defines 24 schemas. It is described by AsyncAPI 2.6.0, at version 1.0.0.

The API connects through a single server, nats://localhost:4222 (nats).

14 operations 7 channels 24 schemas

Metadata

The identity and technical contract details declared by the specification.

Specification
AsyncAPI 2.6.0
API Version
1.0.0
Server
nats://localhost:4222 (nats)
License
Resource Areas
1

Channels & Operations 14

Across 7 channels, the API surfaces 14 operations. Each is listed below with its action, channel, parameters, and response codes.

Channels 14
SUB
wadm.api.{lattice}.model.put
Store Application Model Response
putModelResponse 1 param body
PUB
wadm.api.{lattice}.model.put
Store Application Model
putModel 1 param body
SUB
wadm.api.{lattice}.model.list
List Models Response
listModelsResponse 1 param body
PUB
wadm.api.{lattice}.model.list
List Application Models
listModels 1 param body
SUB
wadm.api.{lattice}.model.get.{name}
Get Model Response
getModelResponse 2 params body
PUB
wadm.api.{lattice}.model.get.{name}
Get Application Model
getModel 2 params body
SUB
wadm.api.{lattice}.model.del.{name}
Delete Model Response
deleteModelResponse 2 params body
PUB
wadm.api.{lattice}.model.del.{name}
Delete Application Model
deleteModel 2 params body
SUB
wadm.api.{lattice}.model.deploy.{name}
Deploy Model Response
deployModelResponse 2 params body
PUB
wadm.api.{lattice}.model.deploy.{name}
Deploy Application Model
deployModel 2 params body
SUB
wadm.api.{lattice}.model.undeploy.{name}
Undeploy Model Response
undeployModelResponse 2 params body
PUB
wadm.api.{lattice}.model.undeploy.{name}
Undeploy Application Model
undeployModel 2 params body
SUB
wadm.api.{lattice}.model.status.{name}
Get Model Status Response
getModelStatusResponse 2 params body
PUB
wadm.api.{lattice}.model.status.{name}
Get Model Status
getModelStatus 2 params body

Messages & Schemas 24

The contract defines 24 schemas that model the data carried by its messages. The most detailed are PutModelResponse (5 properties), ModelSummary (5 properties), LinkProperties (5 properties), OAMManifest (4 properties). Each schema is shown below with its type and property counts.

EmptyRequest
message
A request with no payload body.
PutModelRequest
message
An OAM application manifest to store in wadm.
PutModelResponse
message
Response to a model storage request.
ModelListResponse
message
List of all application model summaries.
ModelGetResponse
message
All versions of a specific application model.
DeleteModelResponse
message
Result of a model deletion operation.
DeployModelRequest
message
Request to deploy or undeploy an application model version.
DeployModelResponse
message
Result of a deploy or undeploy operation.
ModelStatusResponse
message
Current deployment status of an application model.
OAMManifest
object
An Open Application Model (OAM) manifest defining a wasmCloud application. The manifest declares components (WebAssembly actors) and capability providers along…
4 properties 4 required
OAMComponent
object
A component definition in a wasmCloud OAM manifest. Components represent either WebAssembly components (type: component) or capability providers (type: capabil…
4 properties 3 required
ComponentProperties
object
Properties for a wasmCloud OAM component specifying the image reference and optional configuration.
3 properties 1 required
ComponentTrait
object
A trait definition applied to a component controlling its scaling behavior or links to other components and providers.
2 properties 2 required
SpreadScalerProperties
object
Properties for a spreadscaler trait controlling how many instances of a component run and how they are distributed across hosts.
2 properties
LinkProperties
object
Properties for a link trait defining a connection between a source component and a target component or capability provider.
5 properties 1 required
PutModelResponse
object
Response from a model put operation.
5 properties
ModelSummary
object
A summary of an application model with current deployment information.
5 properties
ModelListResponse
object
Response to a model list request.
1 property
ModelGetResponse
object
Response containing all versions of a specific model.
2 properties
DeleteModelResponse
object
Response to a model delete request.
3 properties
DeployModelRequest
object
Request body for a model deploy operation.
1 property
DeployModelResponse
object
Response to a deploy or undeploy operation.
2 properties
ComponentStatus
object
Status of an individual component or provider within a deployment.
4 properties
ModelStatusResponse
object
Current deployment status of an application model.
4 properties

Specification

The full machine-readable AsyncAPI contract behind this narrative.

Source

wasmcloud-wadm-asyncapi.yml Raw ↑

Other APIs wasmCloud publishes across the network.

wasmCloud Control Interface API
wasmCloud wash CLI
wasmCloud WIT Interfaces
wasmCloud Kubernetes Operator