Select or create a project
Select or create an endpoint on the left to get started.
Heads up: browsers don't allow custom headers on WebSocket handshakes. These headers won't actually be sent — use a query string or subprotocol for auth instead.
No file chosen (not persisted between sessions)
Sends a plain POST with a JSON body to URL + path — works against grpc-gateway / Envoy JSON-transcoding proxies, not a raw gRPC server.
Schema generation is best-effort: it infers types by walking your JSON payload or last response, so unusual or mixed-shape data may need manual cleanup.
Output
📖 API Master User Guide
API Master is a lightweight, web-based tool designed for testing REST API endpoints efficiently.
💾 Auto-Save Enabled: All your projects, global variables, and endpoint configurations are securely saved in your browser's Local Storage. You won't lose your work when refreshing the page!
How to Configure and Send Requests
1 Create a Project: Start by creating a new project. A project acts as an API gateway where you can organize related endpoints.
2 Set Global Session (Optional): Need to use an API Key across multiple requests? Configure global variables by utilizing the "Add Headers" feature at the project level.
3 Add & Select Endpoint: Add a new endpoint to your project, then click on the newly created endpoint to open its configuration panel.
4 Edit Endpoint Details: Customize the endpoint by entering an Endpoint Name, selecting the appropriate HTTP Method (e.g., GET, POST), and providing the target URL. You can also define endpoint-specific payloads or headers here.
5 Send & Analyze: Click the "Send" button to execute the request. The server's response, including the Status Code and payload, will immediately display in the response panel.
💡 Quick Test Example
Want to test if your setup is working? Create an endpoint with the following details:
- Method: GET
- URL: https://jsonplaceholder.typicode.com/todos/1
The response you receive should look like this:
{
"userId": 1,
"id": 1,
"title": "delectus aut autem",
"completed": false
}