A tiny shell script wrapper for curl that provides a simple command-line interface for interacting with REST services in pipelines.
Resty is a tiny shell script that wraps curl to provide a simple, function-based command-line interface for interacting with REST APIs. It allows developers to make HTTP requests (GET, POST, PUT, DELETE, etc.) directly from their terminal, integrate with shell pipelines, and process API responses using standard Unix tools.
Developers and DevOps engineers who work with REST APIs from the command line, especially those who need to automate API interactions in shell scripts or pipelines.
Resty offers a lightweight, shell-native alternative to GUI REST clients or heavier CLI tools, enabling seamless integration with existing shell workflows, powerful pipeline processing, and persistent configuration for efficient API exploration and automation.
Little command line REST client that you can use in pipelines (bash or zsh).
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Functions are loaded into the shell, allowing direct use with pipelines and tools like jq or sed, as shown in the README's examples with jsawk and pp for JSON processing.
Remembers previous arguments and base URIs to reduce typing, and supports per-host configuration files for default curl options, enabling efficient workflow for repeated API calls.
With the -V option, users can edit PUT/PATCH/POST data in vi or their preferred editor before sending, similar to visudo, enhancing flexibility for payload adjustments.
Any curl command-line arguments can be passed directly, enabling complex requests like custom headers or authentication, as highlighted in the 'Passing Command Line Options To Curl' section.
As a wrapper, resty inherits all curl's constraints, such as limited support for modern protocols like HTTP/3 or advanced features without manual configuration and external tooling.
Requires sourcing the script into the shell, which can be error-prone in scripts and depends on correct shell environment setup, as noted in the installation and usage sections.
Output processing for HTML or JSON relies on external tools like lynx, html2text, or jq, which must be installed separately, adding dependency management overhead and complexity.