A lightweight, feature-rich API development environment that simplifies the process of building, testing, and documenting APIs. Built with React and Ant Design, this project is inspired by Postman and provides a clean, intuitive interface for making HTTP requests and analyzing responses.
- HTTP Request Building
- Support for all standard HTTP methods (GET, POST, PUT, DELETE, PATCH, OPTIONS, HEAD)
- URL parameter configuration
- Custom header management
- Query parameter editor
- Multiple body formats (raw JSON, form-data, x-www-form-urlencoded)
- Syntax highlighting for JSON, XML, and other formats
- Multiple auth methods supported:
- Basic Authentication
- Bearer Token
- API Key (header or query parameter)
- Rich response visualization
- Status code and timing metrics
- Response headers viewer
- Formatted JSON viewer with syntax highlighting
- HTML and XML response formatting
-
Collections
- Organize requests into collections
- Save and reuse requests
- Nested folder structure support
-
Environments
- Create multiple environments
- Define and manage environment variables
- Switch between environments easily
-
History
- Automatic request history tracking
- Quick access to previous requests and responses
This Postwoman is ideal for:
- API Developers: Test and debug APIs during development
- Frontend Developers: Verify backend API behavior before integration
- QA Engineers: Validate API functionality and performance
- DevOps Engineers: Verify deployments and integrations
- Learning: Understand HTTP protocols and API structures
Use this tool when:
- You need to test REST APIs without the need for a desktop application
- You want a simple, focused API testing experience
- You're working in environments where installing desktop applications isn't possible
- You prefer a lightweight, open-source alternative to commercial API tools
# Clone the repository
git clone https://github.com/your-username/postwoman.git
# Navigate to the project directory
cd postwoman
# Install dependencies
npm install
# Start the development server
npm start- Enter a request URL in the URL bar
- Select the HTTP method (GET, POST, etc.)
- Click the "Send" button
- View the response below
- Use the tabs below the URL bar to access:
- Query Parameters
- Headers
- Authentication
- Request Body
- Add your desired configuration
- Send the request
- Configure your request
- Click the "Save" button
- Enter a request name
- Select or create a collection
- Click "Save"
- Select the "Environments" tab in the sidebar
- Create a new environment
- Add environment variables
- Select an environment to use during requests
- Frontend: React, TypeScript
- UI Library: Ant Design
- HTTP Client: Axios
- State Management: React Context API
- Code Editors: Ace Editor
- Data Persistence: localStorage
src/
├── components/ # UI components
│ ├── common/ # Shared UI components
│ ├── request/ # Request-related components
│ ├── response/ # Response visualization components
│ └── sidebar/ # Sidebar, collections, history components
├── store/ # State management
├── types/ # TypeScript interfaces
└── utils/ # Helper functions
npm testnpm run buildContributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by Postman
- UI design based on Ant Design principles
- Many thanks to all contributors
The application comes with a pre-configured "Test Collection" that demonstrates various HTTP capabilities using httpbin.org. This collection includes:
-
GET Request Test
- Demonstrates basic GET request with query parameters
- Endpoint:
https://httpbin.org/get - Shows how query parameters are handled
-
POST Request Test
- Demonstrates POST request with JSON body
- Endpoint:
https://httpbin.org/post - Shows how to send JSON data in request body
-
Basic Auth Test
- Demonstrates Basic Authentication
- Endpoint:
https://httpbin.org/basic-auth/user/pass - Shows how to use authentication headers
-
Headers Test
- Demonstrates custom header usage
- Endpoint:
https://httpbin.org/headers - Shows how custom headers are sent and received
-
Delayed Response
- Demonstrates handling delayed responses
- Endpoint:
https://httpbin.org/delay/2 - Shows loading states and response timing
This test collection serves as both a functionality verification tool and a learning resource for new users.
Made with ❤️ by Bhanu Chaddha
