For the complete documentation index, see llms.txt.
Skip to main content
Version: 8.10 (unreleased)

Quick start

Technical Preview

The Rust SDK is a technical preview. Its API surface may still evolve and changes may not follow semantic versioning. Pin an exact version if you need stability.

use camunda_orchestration_sdk::CamundaClient;

// Reads CAMUNDA_REST_ADDRESS, CAMUNDA_AUTH_STRATEGY, CAMUNDA_CLIENT_ID, ... from the env.
let client = CamundaClient::from_env()?;

let topology = client.topology().await?;
println!("Gateway version: {}", topology.gateway_version);

Programmatic configuration overrides take precedence over the environment:

use camunda_orchestration_sdk::{CamundaClient, CamundaOptions};

let client = CamundaClient::new(
CamundaOptions::new()
.with("CAMUNDA_REST_ADDRESS", "https://my-cluster.camunda.io")
.with("CAMUNDA_AUTH_STRATEGY", "OAUTH")
.with("CAMUNDA_CLIENT_ID", "my-client-id")
.with("CAMUNDA_CLIENT_SECRET", "my-secret")
.with(
"CAMUNDA_OAUTH_URL",
"https://login.cloud.camunda.io/oauth/token",
)
.with("CAMUNDA_TOKEN_AUDIENCE", "zeebe.camunda.io"),
)?;

For a complete, runnable program see examples/topology.rs.