Skip to content
Praxis is in alpha. The supported API is praxis.io/alpha, and the contract can change while Praxis is in alpha.About the alpha contract

HTTP API

The CLI and direct clients use the same Restate ingress surface. Requests are JSON and target a registered Praxis service handler.

Terminal window
curl -X POST http://localhost:8080/PraxisCommandService/Apply \
-H 'content-type: application/json' \
-d '{
"template": "dev-instance",
"account": "prod",
"variables": {"environment": "staging"}
}'
  • PraxisCommandService accepts plan, apply, import, delete, approval, rollback, and discovery commands.
  • Deployment Virtual Objects expose current state, detail, events, and generations.
  • Resource Virtual Objects expose lifecycle handlers and read-only status, outputs, and inputs.
  • Workspace, template, auth, sink, and retention services expose their specific configuration contracts.

Restate ingress uses:

/<Service>/<Handler>
/<VirtualObject>/<Key>/<Handler>
/<Workflow>/<Key>/<Handler>

All state-changing calls should use the command service unless you are integrating with an explicitly documented lower-level service contract.