API Stash Docs Open app →

Flows

Flows turn a sequence of requests into a repeatable, asserted process — an order-creation flow, a login-then-fetch sequence, an end-to-end smoke test.

Steps

A flow is an ordered list of steps. There are three kinds:

  • Request steps — send a saved or inline request.
  • JS transform / script steps — run JavaScript to reshape data, compute values, or make decisions.
  • Delay steps — pause for a fixed duration (useful when a downstream system needs time to process).

Piping values between steps

The point of a flow is that steps share data. Extract a value from one step's response and feed it into the next — capture an id or token from a create call and use it in the follow-up request.

// In a post-response / transform step:
const token = response.body.access_token;
setVar("API_TOKEN", token);

// A later request step can then use:
//   Authorization: Bearer {{API_TOKEN}}

Branching & assertions

Flows can react to results:

  • Branch on status — take a different path depending on a response's status code or an extracted value.
  • Assert on results — check that a value matches what you expect.
Failed assertions fail the run. A failing assertion marks the whole flow run as failed and can trigger alerts when the flow runs on a schedule.

Session cookies

Session cookies inherit across steps automatically. Log in during one step and the resulting session cookie is sent on subsequent steps without any manual wiring — just like a real client session.

Running a flow

You can run a flow three ways:

  • From the UI — click Run and watch each step execute with its inputs, outputs, and assertion results.
  • On a schedule — turn it into a cron monitor. See Scheduled runs & alerts.
  • In CI — run it from a pipeline with the CLI. See CLI & CI.