Home

Awesome

⚠️⚠️⚠️⚠️⚠️⚠️

This project is now archived. If you want to use Hoppscotch as a CLI client for CI/CD purposes, please use the new Hoppscotch CLI.

⚠️⚠️⚠️⚠️⚠️⚠️

Hoppscotch CLI hoppscotch Go Report Card

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

$ git clone https://github.com/hoppscotch/hopp-cli.git
$ make
$ sudo make install

From Binary

IMPORTANT: Not tested on Windows, please leave your feedback/bugs in the Issues section

Arch GNU/Linux

NameLinkDescription
hopp-cli-binhttps://aur.archlinux.org/packages/hopp-cli-bin/Pre-built binary
hopp-clihttps://aur.archlinux.org/packages/hopp-cli/Compiled from latest release
hopp-cli-githttps://aur.archlinux.org/packages/hopp-cli-git/Compiled from latest commit

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

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

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>

Sample output:

send-output

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:

There are 3 Authentication Flags

(optional)

There are 2 flags especially for the data management requests like POST, PUT, PATCH and DELETE

Enclose the body in Single Quotes(')

Content Types can be of

Short CodeContent Type
jsapplication/json
htmltext/html
xmlapplication/xml
plaintext/plain

Include Arbitrary Headers

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.

OSDefault Editor
Linuxnano
macOSnano
Windowsnotepad