What local-first looks like in practice
Put health.http beside the service it checks. Commit it, review it, and run it without first importing it into a proprietary collection. Karve can gather files from several repositories into one Windows workspace without moving the originals.
@baseUrl = http://localhost:5000
### Service health
GET {{baseUrl}}/health
Accept: application/json
Use git-ignored .env environments for tokens and hostnames that should not be committed. A file-level @variable overrides an active environment value when you need a local exception.
What stays on your machine
| Your work | Where it lives |
|---|---|
| Request definitions | Plain .http/.rest files you choose |
| Environment values | Plain .env files you register |
| Request and response history | Local SQLite storage managed by Karve |
| Collections and organization | A local view over files already on disk |
A focused tool, not a local copy of a cloud platform
Karve is for individual Windows developers sending REST requests. Authentication stays explicit in request headers, and Karve does not add team workspaces, GraphQL, gRPC, response chaining, or binary file attachment. If your work needs those, use a client built for them. If it needs a fast local loop over portable request files, the smaller scope is the advantage.
Compare the workflow with Postman on Windows, see how it fits .NET repositories, or start from a reviewed request in the .http recipe library.
Common questions
Can an API client really work offline?
The client can work without an account, cloud workspace, or internet connection to a vendor service. Sending a request still requires the target API to be reachable.
Does Karve upload my requests or history?
No. Request files stay where you put them, and searchable request and response history is stored locally in SQLite.
Can I keep local API requests in Git?
Yes. They are readable text files with ordinary diffs. Keep real credentials in git-ignored .env files.
Which API protocols does Karve support?
REST over HTTP. Karve does not provide GraphQL, gRPC, WebSocket, team workspaces, response chaining, or binary file attachment.