How Esy works
Esy runs a declared workflow and keeps the receipt. Five nouns carry the whole system, and once you can name them the API stops being surprising. This page is the map; every box on it links to the page that goes deeper.
The five nouns
Everything in the API is one of these, in this order. A workspace holds projects; a workflow is a reusable definition; a run is one execution of it; an artifact is what the run produced.
workspace, and a workspace has a kind of either organization or personal.| Noun | What it is | Where it lives |
|---|---|---|
| Workspace | The billing and membership boundary. Yours is created for you at signup. | /v1/workspaces |
| Project | An optional grouping inside a workspace, so runs and costs roll up somewhere meaningful. | …/projects |
| Workflow | The versioned definition: what inputs it takes, what steps it runs, which models, which gates, what it outputs. | /v1/workflows |
| Run | One execution, with per-step telemetry and cost. Immutable once terminal. | /v1/runs |
| Artifact | What the run produced, plus the QA record and the cost ledger that made it. | /v1/artifacts |
kind is organization (the other kind is personal). These docs say workspace throughout.What happens inside a run
A workflow is not a prompt. It is a short program: an ordered list of steps, each bound to a model or a tool, with gates between them that decide whether the next step is allowed to start.
unlocks. Steps do; gates judge.Steps come in kinds — image, llm, tool, subWorkflow, agent, code — and each names a role rather than a model. The workflow binds roles to concrete models, which is why you can swap the image model without editing a single step. Runs and steps has the detail.
The lifecycle you will actually see
Nine statuses, not five. Most runs go pending → queued → running → completed, but a workflow that declares an approval gate parks its run in review until a human decides.
running goes straight to completed.Ask for outcomes, not mechanisms
This is the one design rule that explains most of the intake schemas you will meet. Every run answers two questions, and they belong to different layers.
The practical consequence: an intake field asks for a result you would still want in a year, never for an implementation you happen to know about today. See Intake.
Where the money is counted
Cost is recorded per provider call, not per run, and each entry moves through three states. There is no fourth state.
What Esy is not
Esy runs workflows and preserves how their outputs were made. It does not optimise what happens to an artifact afterwards — sales, clicks, engagement — and it does not replace the judgement about what is worth making. If you are looking for a chat API, this is the wrong system: Esy is artifact-first, and a conversation is at most an input.
- Workspace → project → workflow → run → artifact. Every endpoint hangs off one of those five.
- A workflow is a program with gates, not a prompt. Steps name roles; the workflow binds roles to models.
- Intake asks for outcomes. The engine picks the mechanism from model capabilities and records which one it used.
- Cost is per provider call, in three states, enforced against budgets before the run starts.
