๐ฏ Features in Detail
August 18, 2026 ยท View on GitHub
๐ข Workspace Management
Local Workspace
- โ Perfect for personal projects
- โ Data stored locally for privacy
- โ No network required
- โ Full control over your data
Git Workspace
- โ Version control support
- โ Team collaboration enabled
- โ Clone from remote repositories (GitHub/Gitee/GitLab)
- โ Initialize local Git repository
- โ Project-level data isolation
- โ Quick workspace switching
- โ
Multiple authentication methods:
- Username/Password
- Personal Access Token
- SSH Key
Git Operations
- Commit: Save local changes to version control
- Push: Push local commits to remote repository
- Pull: Fetch latest changes from remote
- Conflict Detection: Smart conflict handling and resolution
Team Collaboration Workflow
- Team Leader:
- Create Git workspace (clone or local init)
- Configure API collections and environments
- Commit and push to remote
- Team Members:
- Create Git workspace (clone from remote)
- Get latest API data and environments
- Commit and push updates after local changes
- Daily Collaboration:
- Before work: Pull to get latest changes
- After changes: Commit local changes
- Share updates: Push to remote
๐ API Debugging
Protocol Support
- โ HTTP/1.1 and HTTP/2
- โ Full REST API methods: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS
- โ SSE (Server-Sent Events)
- โ WebSocket
Request Body Formats
- Form Data
- x-www-form-urlencoded
- JSON
- XML
- Binary
Features
- โ File upload/download (drag & drop supported)
- โ Cookie auto-management and manual editing
- โ Visual editing for headers and query params
- โ Formatted response display (JSON, XML, HTML)
- โ Response time, status code, size statistics
Self-hosted Mock Server
- โ Create workspace-scoped servers from the top-level Mock Server sidebar menu
- โ Collections are optional: link zero, one, or multiple collections and show all HTTP requests, including requests without a configured response
- โ Add standalone routes and edit status, headers, body, and delay without calling a real API or creating a collection first
- โ Create a server from a collection menu or add a Mock response from a request menu
- โ
Keep collection-backed responses as Examples; persist standalone routes directly in
mock_servers.json - โ Match method/path/query, with optional named headers and JSON/text request bodies
- โ
Select Examples with
x-mock-response-id,x-mock-response-name, orx-mock-response-code - โ
Enable exact matching per call with
x-mock-match-request-bodyorx-mock-match-request-headers - โ
Route-level Code Mock plus an optional global script through
pm.request,pm.response, andpm.state - โ
pm.*completion, enabled state, API quick reference, and 8 curated built-in examples with preview and insert/replace actions - โ
CORS, server/route delay, per-call
x-mock-response-delay, bounded/optional call logs, andx-mock-session-idstate isolation - โ
Zero-dependency JDK
HttpServerruntime with CPU-scaled workers and method-indexed routes for concurrent development and lightweight load tests - โ
Listen on all network interfaces by default and display a shareable LAN URL, with an optional shared
x-api-key - โ
Store
mock_servers.jsonbesidecollections.jsonin the current workspace so Git workspaces version them together - โ
Run headlessly with
mock runafter copying the workspace to a server or CI runner - โ Copy the workspace-specific self-host command directly from the management page
- โ No EasyPostman cloud hosting, team permissions, external npm packages, or AI generation
Server example:
EASY_POSTMAN_MOCK_API_KEY=change-me \
java -jar easy-postman.jar mock run /path/to/workspace \
--server "Payments Mock" --host 0.0.0.0 --port 3001
For internet-facing use, terminate HTTPS behind Nginx, Caddy, or a cloud load balancer and restrict the inbound firewall rule.
Script example:
const input = JSON.parse(pm.request.body || "{}");
if (Number(input.amount) === 0.5) {
pm.response.setStatusCode(402);
pm.response.setBody(JSON.stringify({ status: "deny" }));
} else if (Number(input.amount) === 1.1) {
pm.response.setStatusCode(200);
pm.response.setBody(JSON.stringify({ status: "partial_approval" }));
}
pm.request exposes method, path, body, header(name), query(name), and pathVariable(name). pm.response lets scripts set the status code, headers, body, and delayMs. State is memory-only and is discarded when cleared, when the runtime is refreshed, or when the app exits.
๐ Environment Management
- โ Quick environment switching (dev/test/prod)
- โ Global and environment variables
- โ
Nested variable reference:
{{baseUrl}}/api/{{version}} - โ
Dynamic variables:
{{$timestamp}}- Current timestamp{{$randomInt}}- Random integer{{$uuid}}- UUID generator
- โ Import/export environments
๐ Script Support
Pre-request Script
- Run JavaScript before sending request
- Set variables dynamically
- Prepare test data
- Modify request parameters
Tests Script
- Run JavaScript after receiving response
- Parse response data
- Set variables from response
- Chain requests together
- Assertion support
Built-in Features
- โ Code snippets library
- โ JavaScript runtime environment
- โ Assertion testing
- โ Request chaining
โก Performance Testing
Thread Group Modes
-
Fixed: Stable load testing
- Constant number of threads
- Suitable for baseline performance testing
-
Ramp-up: Gradually increasing load
- Incrementally add threads
- Test system behavior under increasing load
-
Stair-step: Staged load testing
- Load increases in steps
- Identify performance bottlenecks at different levels
-
Spike: Burst load testing
- Sudden traffic surge
- Test system resilience
Monitoring & Reports
- โ Real-time performance monitoring
- โ
Detailed test reports:
- Response time distribution
- TPS (Transactions Per Second)
- Error rate analysis
- Success/failure statistics
- โ Result tree analysis
- โ Performance trend charts
- โ Export test results
๐ Data Analysis
Request History
- โ Timeline view of all requests
- โ Quick replay previous requests
- โ Filter by status code, method, URL
- โ Auto-save and persistent storage
Network Event Logs
- โ Detailed network event monitoring
- โ Request/response headers
- โ Timing breakdown
- โ Error diagnosis
Response Statistics
- โ Response time analysis
- โ Data size tracking
- โ Auto-categorized error requests
- โ Export statistics data
๐ Data Migration
Import Support
- โ Postman Collection v2.1: Supported import/export
- โ cURL commands: Convert to requests
- ๐ง HAR files: In development
- ๐ง OpenAPI/Swagger: In development
Export Support
- โ Postman Collection format
- โ cURL commands
- โ Environment variables
- โ Test results
๐จ User Interface
Themes
- โ Light mode
- โ Dark mode
- โ Auto-switch based on system preference
Editor Features
- โ
Syntax highlighting for:
- JSON
- XML
- JavaScript
- HTML
- โ Auto-formatting
- โ Code folding
- โ Search and replace
Internationalization
- โ Simplified Chinese (็ฎไฝไธญๆ)
- โ English
- ๐ง More languages coming soon
โ Additional Tools
Java Decompiler
- โ Built-in decompiler for analyzing Java classes
- โ View source code from JAR files
- โ Useful for debugging and reverse engineering
Client Certificates
- โ Support for mTLS (mutual TLS)
- โ Import client certificates
- โ Secure API testing
๐ Privacy & Security
- โ 100% Local Storage: No cloud sync, your data stays private
- โ No Telemetry: No tracking, no analytics
- โ Offline First: Works completely offline
- โ Open Source: Code is transparent and auditable
- โ Git Encryption: Support for encrypted Git repositories