Minimalist HTTP file reader and runner for your terminal.
Apio is a lightweight and minimal TUI tool designed for developers who prefer defining HTTP requests in plain text files (such as .http or .rest files) rather than using heavy GUI clients.
There is similar tools, such as Posting and Noodle, but i tried to focus on just reading and executing http files because i dont actually want to build another TUI Postman.
Apio lets you execute your HTTP files interactively inside a Terminal.
Run ./build.sh to build the binary.
Run ./build.sh install to install it locally at ~/.local/bin/apio
Once done, run apio to start
Note: make sure there is at least one http file on the working directory you are executing the command.
A TOML config file will be generated in your config directory:
~/.config/apio/config.toml.
You can customize some aspects of Apio, such as:
- Sidebar positioning (left or right)
- Enable/disable glyphs (Any nerd font is required to display icons)
- Enable/disable borders
- Colors.
Navigating and running requests in apio is straightforward:
| Key | Action |
|---|---|
β / j |
Select the next request |
β / k |
Select the previous request |
Ctrl + k |
Scroll up the response pane |
Ctrl + j |
Scroll down the response pane |
Enter |
Execute the selected request |
y |
Copy the response body to clipboard |
c |
Clear the response (returns view to request details) |
f |
Select a different HTTP/REST file (if multiple files exist) |
h / ? |
Toggle help screen |
q / Ctrl + C |
Quit apio |
No need to reload manually anymore. It automatically reloads when you change the HTTP file.
apio supports standard plain-text HTTP client syntax. For example:
### Global variables @api = jsonplaceholder.typicode.com @contentType = application/json @username = twodigitss ### Average api endpoint GET https://httpbin.org/status/201 Accept: application/json ### Composed with variables and set protocol POST https://{{api}}/posts HTTP/3.0 Content-Type: {{contentType}} Token: Bearer your-jwt-token-here { "body": "sent from apio", "title": "apio test", "user": {{username}}, "userId": 3, }
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions, issues, and pull requests are highly welcome to help improve the parser and parser coverage!