Expand description
Official Rust client library for the Dime.Scheduler API.
use dimescheduler::{entities::Tag, DimeSchedulerClient};
let client = DimeSchedulerClient::from_env()?; // reads DIMESCHEDULER_API_KEY
client
.tags
.create(&Tag { code: "VIP".into(), ..Default::default() })
.await?;
let entries = client.time_entries.get("2026-03-01", "2026-03-31").await?;
println!("{} time entries", entries.len());Unlike the other Dime.Scheduler SDKs, this crate does not retry failed
requests. A 429 or 5xx surfaces as Error::Api; retry at the call site
if your workload needs it.
Modules§
Structs§
- Appointment
Api - CRUD for appointments plus the date-range query and lookup by id.
get_allis inherited fromCrudApibut this route requires query parameters; useget. - Connector
Api - Register webhook-style connectors.
- CrudApi
- Generic accessor for every import-shaped entity (~33 of them). All write verbs accept one entity or a slice; the API accepts either shape.
- Dime
Scheduler Client - The Dime.Scheduler client. Every entity lives behind a public accessor
field (
client.appointments,client.resources, …) that exposes CRUD methods, mirroring the other Dime.Scheduler SDKs. - Geocode
Api - Convert addresses to geographic coordinates.
- Import
Api - Bulk imports: stored-procedure data records and setup payloads.
- JobApi
- CRUD for jobs plus lookup by job number.
- Message
Api - Send a transient message to a user, or to every user in the tenant.
- Notification
Api - CRUD for notifications plus the paginated query.
get_allis inherited fromCrudApibut this route requires query parameters; useget. - Notification
List Options - Optional sort / group / filter expressions for
NotificationApi::get. - Optimization
Api - Run the optimisation solvers.
- Read
Only Api - Read-only listing for entities the API exposes no write verbs on (calendars, resource types, appointment dependencies, appointment fields).
- Recommendation
Api - Resource recommendation engine.
- Recurring
Appointment Api - Create or delete a recurring appointment series.
- Resource
Capacity Api - CRUD for resource capacities plus the date-range query.
get_allis inherited fromCrudApibut this route requires query parameters; useget. - TaskApi
- CRUD for tasks plus the filtered, paginated list query.
- Task
Assignment Api - Assign a resource to a task, or remove that assignment. Takes one request object per call; the API answers with an empty 200.
- Task
Budget Entry Api - Task budget entries are append-only budget movements: the API exposes create and delete, but no update or list verb.
- Task
List Options - Optional filters for
TaskApi::list. Unset fields are omitted from the query. - Time
Entry Api - CRUD for time entries plus the date-range query over time sheet entries.
get_allis inherited fromCrudApibut this route requires query parameters; useget. - Time
Session Api - CRUD for time sessions plus the date-range query over session overviews.
get_allis inherited fromCrudApibut this route requires query parameters; useget. - UserApi
- API user administration.
Enums§
- Environment
- A Dime.Scheduler API environment. Each has a fixed base URL.
- Error
- Errors that can occur when using the Dime.Scheduler client.
Type Aliases§
- Result
- Convenience alias for results returned by this crate.