Expand description
Zart HTTP API — optional Axum server for external interaction with durable executions.
§Endpoints
GET /api/v1/executions — List executions
POST /api/v1/executions — Start a new execution
GET /api/v1/executions/:execution_id — Get execution status
POST /api/v1/executions/:execution_id/cancel — Cancel an execution
GET /api/v1/executions/:execution_id/wait — Long-poll until completion
GET /api/v1/stats — Aggregate execution counts by status
POST /api/v1/events/:execution_id/:event_name — Deliver an event
GET /healthz — Liveness probe
GET /readyz — Readiness probe
GET /metrics — Prometheus metrics
GET /admin/v1/executions/:id/detail — Full execution detail with steps & attempts
POST /admin/v1/executions/:id/retry-step — Retry a dead step
POST /admin/v1/executions/:id/restart — Restart an execution
POST /admin/v1/executions/:id/rerun — Selective step rerun
GET /admin/v1/executions/:id/runs — List runs for an execution
POST /admin/v1/pause — Create a pause rule
GET /admin/v1/pause — List pause rules
POST /admin/v1/pause/:rule_id — Resume (soft-delete) a pause rule
DELETE /admin/v1/pause/:rule_id — Delete a pause rule§Usage
use zart_api::ApiServer;
use zart::{DurableScheduler, TaskRegistry, into_durable_api};
use std::sync::Arc;
// let scheduler = Arc::new(/* PostgresScheduler */);
// let durable = into_durable_api(DurableScheduler::new(scheduler));
// ApiServer::new("0.0.0.0:8080", durable).serve().await.unwrap();Re-exports§
pub use admin_routes::admin_router;pub use server::ApiServer;pub use state::AdminState;pub use state::AppState;
Modules§
- admin_
routes - Admin route definitions and handler implementations.
- models
- Request and response types for the Zart HTTP API.
- routes
- Route definitions and handler implementations for the Zart HTTP API.
- server
- HTTP server setup and lifecycle management.
- state
- Shared Axum application state.