Skip to main content

SDKs

Official client libraries for the ORKSTRA REST API. SDKs handle auth, retries, pagination, and typing so your integration code stays focused on business logic.

Available SDKs

LanguagePackageStatus
TypeScript / JavaScript@orkstra/sdkGA
Pythonorkstra (pip)GA
.NETOrkstra.SdkPlanned Q3 2026
Gogithub.com/orkstra/go-sdkPlanned Q4 2026

TypeScript

npm install @orkstra/sdk
import { OrkstraClient } from "@orkstra/sdk";

const client = new OrkstraClient({
token: process.env.ORKSTRA_TOKEN!,
// optional: baseUrl, timeout, retryConfig
});

const projects = await client.projects.list({ status: "in-progress" });
for await (const project of projects) {
console.log(project.name);
}

const ipc = await client.ipcs.create({
project_id: 42,
cut_off_date: "2026-05-31",
boq_revision: "v3",
});

The TS SDK is fully typed against the OpenAPI spec.

Python

pip install orkstra
from orkstra import OrkstraClient

client = OrkstraClient(token="YOUR_TOKEN")

for project in client.projects.list(status="in-progress"):
print(project.name)

ipc = client.ipcs.create(
project_id=42,
cut_off_date="2026-05-31",
boq_revision="v3",
)

Async variant available as AsyncOrkstraClient.

Behavior

All SDKs handle:

  • Auth refresh for OAuth tokens.
  • Retries with exponential backoff for 5xx and 429.
  • Pagination — list methods return iterators that lazily fetch pages.
  • Idempotency keys — auto-generated for mutating calls; can be overridden.
  • Typed errorsOrkstraValidationError, OrkstraRateLimitError, OrkstraNotFoundError, etc.

Versioning

SDKs follow semver. The API version is pinned per SDK release; bumping to a new API version is a major SDK release.

Releases & changelog

Source code

PRs welcome. Please open an issue first for substantial changes.

See also: API reference, Webhooks.