Skip to main content

API and Clients

Komodo Core exposes an RPC-like HTTP API to read data, write configuration, and execute actions. There are typesafe clients available in Rust and Typescript.

The full API documentation is available here.

Rust Client​

The Rust client is published to crates.io at komodo_client.

let komodo = KomodoClient::new("https://demo.komo.do", "your_key", "your_secret")
.with_healthcheck()
.await?;

let stacks = komodo.read(ListStacks::default()).await?;

let update = komodo
.execute(DeployStack {
stack: stacks[0].name.clone(),
stop_time: None
})
.await?;

Typescript Client​

The Typescript client is published to NPM at komodo_client.

import { KomodoClient, Types } from "komodo_client";

const komodo = KomodoClient("https://demo.komo.do", {
type: "api-key",
params: {
api_key: "your_key",
secret: "your secret",
},
});

// Inferred as Types.StackListItem[]
const stacks = await komodo.read("ListStacks", {});

// Inferred as Types.Update
const update = await komodo.execute("DeployStack", {
stack: stacks[0].name,
});