#
Hoppscotch CLI
Send HTTP requests from terminal and Generate API Docs. An alternative to cURL, httpie ⚡️
#
Installation
#
From Script
$ sh -c "$(curl -sL https://git.io/getpwcli)"
#
From Source
- Clone the repo
$ git clone https://github.com/hoppscotch/hopp-cli.git
- Build and install
$ make
$ sudo make install
#
From Binary
- You can download prebuilt binaries from the Releases page.
- Supported platforms:
- Linux (x64, x86)
- Mac (x64)
- Windows (x64, x86)
IMPORTANT: Not tested on Windows, please leave your feedback/bugs in the Issues section
#
Arch GNU/Linux
- You can install from AUR
- There are three different packages available
#
Homebrew
Install by
brew install athul/tap/hopp-cli
#
Windows
You can download pre-built binaries from the Releases page.
Alternatively, you can install hopp-cli
via Scoop:
scoop install hopp-cli
#
Usages
Putting Simply: Just pass the URL to the request method
#
Basic Commands
- GET :
$ hopp-cli get <url>
- POST:
$ hopp-cli post <url>
- PATCH:
$ hopp-cli patch <url>
- PUT :
$ hopp-cli put <url>
- DELETE:
$ hopp-cli delete <url>
Example for a POST request:
$ hopp-cli post https://reqres.in/api/users/2 -c js -b '{"name": "morp","job": "zion resident"}'
#
Extra Commands
send
for testing multiple endpointsgen
for generating API docs from Collection
#
SEND
This can be used to test multiple endpoints from the hoppscotch-collection.json
file.
The output will only be the
statuscode
Example:
$ hopp-cli send <PATH to hoppscotch-collection.json>
#
GEN
The gen
command generates the API documentation from hoppscotch-collection.json
file and serves it as a static page on port 1341
.
Example:
$ hopp-cli gen <PATH to hoppscotch-collection.json>
Sample Hosted site: https://hopp.docsify.surge.sh/
Powered by Doscify
Flags:
browser
orb
to toggle whether the browser should open automatically [Boolean]port
orp
for specifying the port where the server should listen to [Integer]
#
There are 3 Authentication Flags
(optional)
-t
or--token
for a Bearer Token for Authentication-u
for theUsername
in Basic Auth-p
for thepassword
in Basic Auth
#
There are 2 flags especially for the data management requests like POST, PUT, PATCH and DELETE
-c
or--ctype
for the Content Type-b
or--body
for the Data Body, this can be of json, html or plain text based on the request.
Enclose the body in Single Quotes(')
Content Types can be of
#
Include Arbitrary Headers
-H
or--header
may be specified multiple times to include headers with the request.
Example:
$ hopp-cli get -H 'X-Api-Key: foobar' -H 'X-Api-Secret: super_secret' https://example.com/api/v1/accounts
#
Providing a Request Body via stdin
In addition to -b
/--body
, you may provide a request body via stdin.
If you combine this method with the -b
flag, the body provided with -b
will be ignored.
Example with Pipes
$ echo '{"foo":"bar"}' | hopp-cli post -c js http://example.com
Example with Redirection
$ cat myrequest.json
{
"foo": "bar"
}
$ hopp-cli post -c js http://example.com <myrequest.json
#
Providing a Request Body via text-editor
In addition to providing request body via -b / --body
flag and stdin,
you can also use -e / --editor
flag which opens default text-editor in your system.
Example:
$ hopp-cli post https://reqres.in/api/users/2 -c js -e
It will preferrably open editor based on $EDITOR
environment variable.
For example:
If the environment variable is $EDITOR=code
it will open VSCode for request-body input. Else, it will use default editor value based on the OS.