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
| Language | Package | Status |
|---|---|---|
| TypeScript / JavaScript | @orkstra/sdk | GA |
| Python | orkstra (pip) | GA |
| .NET | Orkstra.Sdk | Planned Q3 2026 |
| Go | github.com/orkstra/go-sdk | Planned 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 errors —
OrkstraValidationError,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
- TypeScript: github.com/orkstra/ts-sdk/releases
- Python: github.com/orkstra/py-sdk/releases
Source code
- TypeScript: github.com/orkstra/ts-sdk
- Python: github.com/orkstra/py-sdk
PRs welcome. Please open an issue first for substantial changes.
See also: API reference, Webhooks.