Sonde documentation
Guides and reference for the sonde CLI and Sonde Desktop.
Get started
- Getting startedInstall, first file, run, asserts/captures, test mode & reports, environments
- Sonde DesktopSonde Desktop: install and verify, first run, Send and cookies, Copy as, history and privacy, import, server mode, shortcuts, limits
- The Sonde file formatWhat a Sonde file is, .hurl vs .sonde, links to the shared Hurl grammar
- sonde.yamlProject file: environments, variables and secrets files, defaults
Guides
- Running request files from go testRunning request files from go test
- Running tests in GitHub ActionsRunning tests and keeping reports in GitHub Actions
- Data-driven runsRunning files once per row of a CSV or JSON data file (--data)
- OpenAPI contractsOpenAPI contracts: --openapi validation, sonde.yaml openapi:, sonde import openapi
- Mock serversonde mock: serve an OpenAPI spec's examples and generated responses
- Streaming: Server-Sent Events and WebSocketServer-Sent Events and WebSocket tests in .sonde files
- gRPCgRPC calls in .sonde files
- AI agents (sonde mcp)sonde mcp: let AI agents list, check and run request files
- Import and exportsonde import and sonde export curl: common flags, writer rules, kinds
- Migrating from HurlSwitching from Hurl: commands, flags, differences, what Sonde adds
- Migrating from PostmanImporting Postman collections and environments
- Editor supportsonde lsp: VS Code extension, Neovim, and any other LSP client
CLI reference
- CLI referenceEvery command and flag, one page each
- sondeRun and test HTTP requests written in plain text
- sonde checkCheck request files for syntax errors
- sonde exportExport request files to another format
- sonde export curlPrint each entry's equivalent curl command line, without sending it
- sonde fmtFormat request files canonically
- sonde importImport request files from another format
- sonde import curlConvert curl command lines to a request file, one entry per command
- sonde import httpConvert a .http file (JetBrains HTTP Client or VS Code REST Client) to Sonde request files
- sonde import openapiGenerate request files from an OpenAPI spec, one per operation
- sonde import opencollectionImport a Bruno OpenCollection YAML collection (a file, a directory or a zip)
- sonde import postmanConvert a Postman v2.1 collection to request files
- sonde lspRun the language server over stdio
- sonde mcpServe request files to AI agents over MCP
- sonde mockServe a mock of an OpenAPI spec
- sonde runRun request files (same as sonde FILE...)
- sonde testRun request files in test mode (same as sonde --test FILE...)
- sonde versionPrint version, commit, build date and Go version
Reference
- JSON result schemaJSON result schema shared by --json and --report-json
- Hurl CompatibilityHurl 8.0.1 compatibility: queries, filters, predicates, functions, options, CLI flags, env vars, config, differences
- StabilityThe v1 promise: compat level, CLI/flags, exit codes, JSON schema, sonde.yaml, Go API
- SecurityTrust model: request files and sonde.yaml are untrusted input, the CLI is trusted; also the desktop app and its server mode
- BenchmarksBinary size, startup, parse, engine and parallel-run baselines