Repolode
unkn0wn-root

unkn0wn-root/resterm

Terminal API client that stores HTTP, GraphQL, gRPC, WebSocket and SSE requests as plain .http files you can version in git.

Open-source alternative to:PostmanInsomnia

Stars
1,990
Forks
59
Open issues
0
Last commit
2 days ago

What is it?

Resterm is a code-first API client that runs in the terminal. Requests, workflows and local mock definitions are written as plain .http or .rest files, so they can be read, diffed and kept under version control. You send requests from its terminal UI, and the resterm run command executes the same files in CI with text, JSON or JUnit output.

Beyond sending requests, it adds captures and assertions with @capture and @assert, polling and retries, chained workflows, and a RestermScript language for logic and tests. It can compare one request across several environments, trace request timing, and profile latency with percentiles. Authentication covers bearer tokens, OAuth 2.0 flows including PKCE, and tokens pulled from local CLIs.

For services behind an SSH bastion or inside a Kubernetes cluster, Resterm opens the tunnel or port-forward itself before sending the request. It can also run local mock servers from the same files and record proxied traffic into requests or mocks. Installation is available through Homebrew, install scripts, prebuilt binaries, or go install.

Key features

  • 01Supports HTTP, GraphQL, gRPC with reflection, WebSocket and SSE requests
  • 02Captures and assertions with @capture and @assert, plus @poll and @retry
  • 03Chained workflows with conditional and loop steps
  • 04OAuth 2.0 flows, client certificates, and per-environment cookie jars
  • 05Local mock servers generated from .http files and a recording proxy
  • 06resterm run for CI with JSON or JUnit output

Use cases

  • Keeping API request collections in the same git repository as the code
  • Running API smoke and contract checks in a CI pipeline
  • Reaching internal APIs through an SSH bastion or Kubernetes port-forward
  • Mocking upstream services locally while frontend or backend work is in progress

Quick start

  1. 1

    Install with Homebrew (macOS and Linux)

    brew install resterm
  2. 2

    Create a project folder and initialize sample requests

    mkdir my-api && cd my-api resterm init
  3. 3

    Launch the terminal UI

    resterm

Things to know

  • Linux binaries require glibc 2.32 or newer.
  • Resterm has no built-in AI features or MCP server.

Topics

FAQ

What is resterm?
Terminal API client that stores HTTP, GraphQL, gRPC, WebSocket and SSE requests as plain .http files you can version in git. Resterm is a code-first API client that runs in the terminal. Requests, workflows and local mock definitions are written as plain .http or .rest files, so they can be read, diffed and kept under version control. You send requests from its terminal UI, and the resterm run command executes the same files in CI with text, JSON or JUnit output.
Is resterm free to use? What license does it have?
resterm is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is resterm still maintained?
Actively maintained. The last commit to resterm was on Oct 18, 2026.
What can I use resterm for?
Keeping API request collections in the same git repository as the code Running API smoke and contract checks in a CI pipeline Reaching internal APIs through an SSH bastion or Kubernetes port-forward Mocking upstream services locally while frontend or backend work is in progress
How do I install resterm?
Install with Homebrew (macOS and Linux): brew install resterm Create a project folder and initialize sample requests: mkdir my-api && cd my-api resterm init Launch the terminal UI: resterm
Where can I get resterm?
The source code and installation instructions are on GitHub: https://github.com/unkn0wn-root/resterm

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects