🦣 Postman for your Terminal
Beautiful HTTP client with superpowers

🎬 See mozzy in Action

mozzy showcase

Full feature showcase: Beautiful JSON, JQ filtering, Collections, and Enhanced Verbose Mode

Enhanced Verbose Mode v1.8.0

⏱️ Enhanced Verbose Mode (v1.8.0)

DNS Resolution β€’ TLS Certificate Info β€’ Transfer Sizes β€’ Visual Timeline Bars β€’ Performance Grading (A-F)

Inline JQ Filtering

πŸ” Inline JQ Filtering

Extract JSON data without external tools β€’ JSONPath/JQ-lite syntax

Request Collections

πŸ“š Request Collections

Save, organize, and execute requests β€’ Export to curl, Postman, HTTPie

POST Requests

πŸ“€ POST Requests

Send JSON payloads with ease β€’ Automatic Content-Type headers

$ mozzy GET https://api.github.com/users/octocat --color # Colorized JSON
{
"login": "octocat",
"name": "The Octocat",
"bio": "GitHub's mascot"
}
$ mozzy POST /api/users --json '{"name":"Alice"}' --jq .id # Query inline
12345
$ mozzy save my-api GET /api --env production # Save for later
βœ… Request saved to collection: my-api

✨ Features That Matter

🎨

Beautiful Output

Syntax-highlighted JSON with colors that actually make sense. Auto-formatted, easy to read, and pleasing to the eye.

πŸ”

Inline Querying

Extract data with JSONPath/JQ-like syntax directly in your request. No pipes, no extra toolsβ€”just --jq .data.users[0]

πŸ’Ύ

Request Collections

Save and organize your requests. Run them anytime with mozzy exec my-request. Export to curl, Postman, or HTTPie.

πŸ”—

Request Chaining

Capture variables from responses and use them in subsequent requests. Build complex workflows with YAML.

πŸ”

JWT Tools

Decode, verify, and sign JWTs right from the CLI. Inspect payloads, validate signatures, check expiry.

πŸ“Š

JSON Diffing

Compare two JSON responses side-by-side. See what changed between API versions or environments.

⚑

Performance Testing

Run load tests with mozzy load. Get instant stats on response times, success rates, and throughput.

πŸ”„

Smart Retries

Automatic retry with exponential backoff. Configure retry conditions: 5xx, 429, network errorsβ€”you name it.

🌍

Environments

Define environments in .mozzy.json. Switch between dev, staging, and prod with --env.

πŸ“œ

Request History

Never lose a request. Browse your history, re-run past requests, and export them to your collection.

πŸ“¦

File Uploads

Upload files with multipart form data. Progress bars, multiple files, and custom field names.

πŸͺ

Cookie Management

Persistent cookie jars for session management. Share authentication across requests automatically.

πŸ“¦ Installation

Quick Install (Recommended)
curl -fsSL https://raw.githubusercontent.com/humancto/mozzy/main/install.sh | bash
🍺
Homebrew
brew tap humancto/mozzy
brew install mozzy
πŸ“¦
Go Install
go install github.com/humancto/mozzy@latest
⬇️
Direct Download
Download from
GitHub Releases

Update anytime with:

mozzy update

πŸ’‘ Real-World Use Cases

πŸ§ͺ API Testing & Development

Test your APIs with enhanced verbose mode (v1.8.0). See DNS, TLS certs, transfer sizes, visual timing bars, and performance grades!

$ mozzy GET https://api.example.com --verbose 🌐 Connection Info: β€’ Resolved IP: 93.184.216.34 β€’ Protocol: HTTP/2.0 β€’ TLS Version: TLS 1.3 ⏱ Request Timeline: β”œβ”€ DNS Lookup 2ms β–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘ 13% β”œβ”€ TCP Connect 24ms β–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘ 15% β”œβ”€ TLS Handshake 30ms β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘ 18% └─ Total 139ms β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ πŸ“Š Performance Grade: β”œβ”€ DNS Lookup: A β”œβ”€ TCP Connect: A β”œβ”€ TLS Handshake: A β”œβ”€ Server Response: B └─ Overall: A πŸ’‘ Performance Insights: ✨ Excellent performance! This endpoint is well-optimized

πŸš€ CI/CD Integration

Run API tests in your pipeline. Exit codes, retries, and JSON querying make it perfect for automation.

$ mozzy test workflow.yaml --fail βœ… Test 1: Create user - PASSED (124ms) βœ… Test 2: Get user - PASSED (45ms) βœ… Test 3: Update user - PASSED (89ms) βœ… Test 4: Delete user - PASSED (52ms) πŸŽ‰ All tests passed (4/4) in 310ms

πŸ” Debugging & Troubleshooting

Inspect headers, timing, and responses. Compare API versions with diff. Debug JWT tokens on the fly.

$ mozzy jwt decode eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... πŸ“‹ JWT Header: alg: HS256 typ: JWT πŸ“¦ JWT Payload: sub: user123 exp: 2025-12-31 23:59:59 (valid)

πŸ”— Complex Workflows

Chain requests together. Capture variables from one response and use them in the next. Build entire test suites.

# workflow.yaml steps: - name: Login request: POST /auth/login capture: {token: .access_token} - name: Get Profile request: GET /me headers: {Authorization: "Bearer {{token}}"}