About the SDK
Dime.Scheduler ships official SDKs in three languages. All of them live in the dime-scheduler/sdk monorepo, all are generated from the same OpenAPI specification, and all expose the same surface - only the casing and idioms change.
| Language | Package | Status |
|---|---|---|
| .NET | Dime.Scheduler on NuGet | Stable |
| JavaScript / TypeScript | @dimescheduler/sdk on npm | Stable |
| Python | dimescheduler on PyPI | Alpha |
The dimescheduler CLI is generated from the same OpenAPI specification, so its commands stay in lockstep with the SDKs.
Shape
Every SDK exposes a single DimeSchedulerClient constructed with an API key and (optionally) an environment. Each entity hangs off a typed accessor:
// JavaScript / TypeScript
const client = new DimeSchedulerClient({ apiKey: "MY_API_KEY" });
await client.categories.create({ name: "VIP", color: "#22d3ee" });
// .NET
var client = new DimeSchedulerClient("MY_API_KEY");
await client.Categories.CreateAsync(new Category { Name = "VIP", Color = "#22d3ee" });
# Python
client = DimeSchedulerClient(api_key="MY_API_KEY")
client.categories.create({"name": "VIP", "color": "#22d3ee"})
Two kinds of accessor:
- CRUD entities - about thirty of them - expose
create/update/delete/getAllon a generic accessor. Both single entities and batches work. - Specialized endpoints (appointments date-range queries, geocoding, optimization, recommendation, notifications, messages, …) get their own methods.
Pick a language and follow the install / usage / examples pages on the left. If you're already familiar with one SDK, the other two will read the same way - the accessor names are kept in lockstep across all three.
When to use the SDK vs the CLI vs raw HTTP
- SDK - embedding in an application (web app, integration service, scheduled worker). You get typed entities, retries, and per-language ergonomics.
- CLI - scripts, CI jobs, one-off batch loads. Same accessor model, but you script it from a shell.
- Raw HTTP - when neither fits, or you're working in a language without an official SDK. The API is documented in the reference.