This tutorial builds the smallest useful flow: call a public API, then assert on the response. No API keys, no setup. Just a workspace folder.
1. Create the file
In the File Explorer, right-click the background and choose New File. Name it:
first-flow.aether
The flow editor opens with the Graph tab active.
2. Add a request node
Right-click the empty canvas, choose Add node, and pick Request. The new node
arrives prefilled with a working example (a GET to a public test API), so it runs as-is.
Click the node to select it. The inspector on the right shows its full YAML in the Node tab:
- id: fetch_todo
type: request
config:
method: GET
url: https://jsonplaceholder.typicode.com/todos/1
next: null
Everything about a node is editable right here: the method, the URL, headers, and next,
which names the node that runs after this one.
3. Add an assertion
Right-click the canvas again and add an Assertion node. Its check is a JavaScript expression that must be truthy; set it in the Node tab:
- id: check_status
type: assertion
config:
check: "response.status === 200 && response.body.id === 1"
next: null
Then wire the two together: drag from the port on the right edge of the request node onto the assertion card. An edge appears, and the request node’s YAML gains a line:
next: check_status
That line is the edge. Routing always lives on the node itself (next, or then/else for
conditions), and the graph draws its edges from those fields, so what you see is exactly what’s in
the file. Typing the next: line by hand in the Code tab does the same thing and draws the
same edge, which is the point of having both views.
4. Save and run
Press ⌘S to save, then ⌘⏎ (or the brass ▶ Run button, or F5) to run.
Watch the graph: each node pulses while it runs, then takes a green ring for passed or a red ring for failed. The status bar bottom-right flips from Running… to Completed or Failed.
5. Read the results
- Console (bottom panel, ⌘J if hidden): a timestamped log of every step.
- Click a node → Result tab (inspector): for a request node, the exact request it sent (with every variable resolved) and the status, headers, and body that came back.
- Variables (bottom panel): the variable values as of the end of the run.
- History: this run and every run before it; click a row for full detail.
6. Peek at the file
Switch to the Code tab. That YAML is the entire flow, the same thing the graph was showing, and the same file you’d commit to Git. Edit it here if you prefer text; the graph follows.
Where to go next
- Chain real steps together (log in, capture a token, use it): Variables & environments
- Every node type and its fields: Node reference
- Already have Postman collections? Import them