Flows with assertions
Nine node kinds on a visual canvas, from Request and Delay to Branch, Loop, Poll, and SSE. 14 assertion operators, every result recorded with expected vs actual.
Flow builderChain API calls into visual flows with a real assertions engine, then run the same suite from the cloud, your own infrastructure, or CI — with live node-by-node progress.
Install in one line — checksum-verified, no sudo, straight to
~/.local/bin. Self-update with echopoint update.
curl -fsSL https://raw.githubusercontent.com/nanostack-dev/echopoint-cli/main/install.sh | sh Build flows with a real assertions engine, run them anywhere, keep collections synced to your OpenAPI spec, and let Echopoint AI help on the canvas.
Nine node kinds on a visual canvas, from Request and Delay to Branch, Loop, Poll, and SSE. 14 assertion operators, every result recorded with expected vs actual.
Flow builderManaged cloud runners by default. Self-host on your own infrastructure, or run ephemeral one-shot executions in CI.
CLI & GitHub ActionUpload a spec to generate a collection of requests, then keep it continuously reconciled with drift and sync history.
OpenAPI syncAsk Echopoint AI to inspect a flow or propose the next change on the canvas. It applies edits as restorable snapshots, so you can undo any AI run.
Echopoint AIDrag nodes onto the canvas — nine kinds, from Request and Delay to Branch, Loop, Poll, and SSE — wire success and error paths between them, and let assertions decide whether a run passes.
equals to regex to between — every result recorded with expected vs actual, even on passing runs {{$uuid}} and {{$email}}, deterministically seeded per execution Tag flows into suites and run them from the GitHub Action or the CLI — with live node-by-node progress, strict exit codes, and no secrets in your logs.
name: API tests
on: pull_request
jobs:
smoke:
runs-on: ubuntu-latest
steps:
- uses: nanostack-dev/echopoint-cli@v1
with:
api-key: ${{ secrets.ECHOPOINT_API_KEY }}
organization-id: ${{ secrets.ECHOPOINT_ORG_ID }}
tags: smoke
parallel: '3' echopoint flows run --tag smoke --environment staging Flows, CI/CD, OpenAPI Sync, and Requests — the same product from first request to green build.
Drag nodes onto a canvas and connect them with success and error edges — nine node kinds, from Request and Delay to Branch, Loop, Poll, and SSE. Extract values with JSONPath, then assert on every response — expected vs actual is recorded even when an assertion passes.
Drop your work email. We let you in as your spot opens. Then sign in with GitHub, Google, or email.
Import an OpenAPI spec to generate a collection of requests, or build requests by hand in the workbench.
Chain requests with Branch, Loop, Poll, and the other node kinds, extract outputs, and add assertions that record expected vs actual.
Tag the flow, then run the suite with the GitHub Action or echopoint flows run --tag smoke.
Everything below is in the product today.
14 operators, from equals to regex to between. Every assertion records expected vs actual — even when it passes.
Request, Delay, and Module cover the basics; Branch, Loop, Poll, SSE, Set Variable, and Assert give flows real control flow.
Wire edges for both outcomes. Always-steps run even after an upstream failure — built for cleanup.
Skipped nodes record a skip reason and missing inputs, so you know exactly why a step did not run.
{{$uuid}}, {{$email}}, {{$creditCard}} and more — faker-backed, deterministically seeded per execution.
Node-by-node execution progress streams onto the canvas in real time over SSE — no refresh, no polling.
Publish snapshots you can view and restore; launches can pin an exact version of a flow.
Managed cloud runners, self-hosted runners on your own infrastructure, or ephemeral one-shot runs in CI.
echopoint flows run --tag smoke selects up to 50 flows and runs them in parallel — locally, in CI, or on a schedule as a monitor with failure email alerts.
Upload a spec to generate a collection, then keep it continuously reconciled with drift and sync history.
Org-scoped keys with scoped permissions and a curated ci preset — shown once, rotatable, with expiration.
Need to capture a webhook? Create an endpoint with just a name and watch requests stream in live over SSE.
Echopoint is an API flow automation and testing platform. You build visual API flows with a real assertions engine, then run the same suite from the cloud, your own infrastructure, or CI. It can also capture webhooks on instant endpoints when you need to inspect incoming requests.
Yes — Echopoint is free while in beta, with no credit card required. Join the waitlist. When your spot opens, sign in with GitHub, Google, or email and your workspace is provisioned.
Yes. Use the nanostack-dev/echopoint-cli@v1 GitHub Action, or run echopoint flows run --tag smoke from any CI. Exit codes report the result (0 success, 1 flow failed, 3 contract or API error), the API key is auto-masked, and resolved secrets are never logged.
Yes. Schedules — called monitors in the app — run a tagged flow suite on a recurring basis. Each monitor can be paused and resumed, keeps its own run history, and emails the recipients you configure when a scheduled run fails.
Yes. Import an OpenAPI spec to generate a collection of requests, then enable per-collection OpenAPI Sync to keep it reconciled as the spec changes, with drift and sync history.
Yes. Flows run on managed cloud runners by default, but self-hosted runners on your own infrastructure claim jobs with lease-based claiming and heartbeats — the app shows live runners with load and heartbeat freshness. CI and CLI runs can use ephemeral one-shot runners, and resolved values go only to the launched execution and are never logged.
Yes. Create an endpoint with just a name to get a capture URL at api.echopoint.dev/webhook/{id}. It accepts GET, POST, PUT, PATCH, and DELETE with no auth required, and requests stream into the app live over SSE where you can inspect headers, query params, and body, and search the history.
Free while in beta. Join the waitlist. When your spot opens, sign in with GitHub, Google, or email and your workspace is provisioned.