Bring everything you have. Leave with more than you came with.
Collections from Postman, Insomnia and Bruno come across with their auth, scripts, variables and tests. A specification — OpenAPI, Swagger, WSDL, OData, FHIR — becomes a project and stays attached to it, so every answer can be read against it. And a project writes its own documentation: an HTML file, or OpenAPI 3.1, 3.0 or Swagger 2.0.
What imports
The specification stays with the project.
A request remembers which operation it came from. That link is what makes the next three things possible.
What the operation expects
A Spec tab on the request: the parameters, the body schema, and whether the body you have was edited away from it.
Drift
A real answer read against the spec: a status it does not document, fields it does not list, headers it promised that did not come, a content type that differs. Also a check — "the answer matches the spec".
Update from a newer spec
From a file or by fetching the URL again. What the spec owns is updated; the person's edits are kept; new operations are added; removed ones move to a "Removed from the spec" folder. Nothing is deleted.
Exports and documentation.
Auth values are never written out. A variable whose name looks like a secret stays as its name.
Export
Sonda's own format, plain or sealed with a passphrase. Postman 2.1. Insomnia v4. A Bruno folder. Environments in Sonda's format or flattened for other tools. Exporting is an activity trigger; app runners cannot.
Documentation
Built from the requests, their Examples, descriptions, checks and the spec. One self-contained HTML file, or OpenAPI 3.1, OpenAPI 3.0 or Swagger 2.0 as JSON or YAML. Project title, version, summary, contact and license; per request an operation id, tags, deprecated, hidden.
Code samples
In the documentation and from any request: cURL, raw HTTP, JavaScript fetch, Go, Python requests — variables filled in, inherited auth applied.