/ SONDA · BUILD

The API that is not there yet, and the database that already is.

An Echo answers at echo://name/path instead of a real API — from a data set that remembers what you posted, from a body with placeholders, from a script, or from a flow. A database becomes endpoints at sonda://name/path that any request calls, with every value bound and a switch that makes it read-only for real.

ECHO ON A PORT OR IN-PROCESS MONGODB · MYSQL · POSTGRESQL · SQL SERVER READS-ONLY, ENFORCED

At a glance

EchoAnswered in-process for any request, or on a real port for this computer or the LAN, CORS open. A delay per Echo and per endpoint. The last 300 hits in a traffic log.
DataJSON arrays with a key field, live while Sonda runs: what a POST adds, the next GET finds. Rows from CSV or JSON. "Start over" resets to the saved text.
DatabasesPure-Go drivers for MongoDB, MySQL and MariaDB, PostgreSQL, SQL Server. Up to 5,000 rows, 60 seconds a run.
BoundValues are parameters, always. An object from the body is only taken whole with :json, so there is no operator injection.
ThemisBuilds an Echo on request: the data set, the endpoints, the start.
/ ECHO

Four ways an endpoint answers.

Method, a path with :id or {id}, declared parameters — then what comes back.

From data

Plain REST over a data set: GET lists with an exact-match filter on a field, GET /:id, POST, PUT, PATCH, DELETE. New keys are the next number or a UUID.

With a body

A fixed status, headers and body, with placeholders, modifiers and defaults.

By script

JavaScript, Go or Python reading the request and the data, answering with sonda.answer. Fifty-nine snippets to start from.

By flow

A local webhook: the caller waits while a flow runs — up to ten minutes — and gets what the flow ends with.

Built from

By hand. From a request's saved Example in one click. From a Discover capture, as "name mock". From the demo: a users data set and seven endpoints with a scripted login. By Themis.

Used from

Any request in any project at echo://. "Try it" and "Add a request" build the call from the samples. Programs outside Sonda reach it on the port.

Logged

Starting an Echo on a port is one of the activity triggers an administrator can be mailed about.

Activity and mail
/ DATABASES

A query becomes an endpoint.

No port is opened. Any request calls sonda://name/path and gets the rows, with X-Sonda headers naming the database, the endpoint and the statement.

Endpoints

Method, path and parameters from the body, the query, a header or the path, each typed — string, int, number, bool, objectId, date, json — with required, default and sample. SQL is one statement with bound values. MongoDB: find, findOne, aggregate, count, insert, update, delete, with projection, sort, limit and skip.

Reads-only, enforced

A switch, not a promise. SQL: the statement is scanned and runs in a read-only transaction. MongoDB: write operations refused, and $out and $merge stages refused inside a pipeline. A write against a reads-only database is a 403.

The connection

The string takes variables from the environment and globals, is masked in the window and scrubbed from error messages. Connect, Test in 15 seconds, Close. Nothing of it reaches the team store.

/ LOCKFLARE SONDA

Echo and databases, in the free edition.

Echo and databases, listed →