
Insomnia REST Client - brunoluiz
https://insomnia.rest/
======
cyberferret
I was a long time Postman user, but find myself using Insomnia more and more
in recent months.

Nothing wrong with Postman at all, but I just like Insomnia's cleaner and less
cluttered UI. However, even as a regular user, sometimes I find the 'Send'
button can be a lot more prominent than it is. The green '200 OK' response
next to the Send button looks more like a button, and I keep inadvertently
clicking on it to send my requests off!

And when starting out with a fresh workspace, the 'Create New' prompt _looks_
like a button that you can click to create a new query, but it isn't - you
still have to use the hotkey to do so. Small improvements in the UI like that
will go a long way to making this my default 'go to' API testing tool.

~~~
exhilaration
I'm a long time Postman user as well, I'm still using the Chrome app version
because I like having it open in multiple tabs - I can quickly compare
responses from Dev/Prod by switching tabs.

Does Insonmia or other REST clients support tabs?

~~~
seanp2k2
Long-time Paw user here. I prefer it over this or Postman, but I agree that
there are horses for courses. Paw lets you easily switch between a bunch of
different requests, supports many auth schemes, can import the “copy as curl”
right from your clipboard, can generate code for many languages (including
curl), has a nice JSON viewer as a tree or as highlighted and formatted text,
etc etc: [https://paw.cloud](https://paw.cloud)

I also like the collab features and ability to save the API spec alongside the
source code if you wish. They also have some cloud sharing for teams that I
haven’t played with.

~~~
enraged_camel
I stopped using Paw because it’s macOS only. I work across multiple operating
systems and that was very limiting.

------
notnarb
For people already used to org-mode + curl (or any CLI tool), I highly
recommend using those together when exploring an API (granted, this involves
throwing simplicity out the window)

    
    
      :PROPERTIES:
      :header-args: shell :var PASSWORD=not :var USERNAME=narb :var AUTH_URL="nova.example.com:5000/v2.0/tokens"
      :END:
      ...
      #+NAME: get-openstack-token
      #+BEGIN_SRC shell :cache yes :results verbatim
      export DATA='{
          "auth" : {
              "tenantName": "'"$TENANT_NAME"'",
              "passwordCredentials": {
                  "username": "'"$USERNAME"'",
                  "password": "'"$PASSWORD"'"
              }
          }
      }'
      curl -s $AUTH_URL \
          -H "Content-Type: application/json" \
          --data "$DATA" | jq -r ".access.token.id"
      #+END_SRC
    
      #+RESULTS[be67...]: get-openstack-token
      : deadbeefdeadbeefdeadbeef
    
      ...
      #+BEGIN_SRC shell :var AUTH_TOKEN=get-openstack-token
      curl -H "X-AUTH-TOKEN: $AUTH_TOKEN"
      ...
    

Not to discount tools such as postman / insomnia or other built-in editor
tools like restclient-mode, they are all fantastic tools

Some quick reasons why I found this works best for me:

* Org-mode is already great as a dedicated note-taking tool

* This is immediately compatible with existing CLI examples or output from tools that offer 'export as cURL' \-- this is especially useful if I want to reverse engineer an api request by browser is making

* Easy to export to an html/wiki document for immediate consumption by others with working CLI examples

* Composable with other CLI tools like jq and xmllint

* Plain-text files are easy to version control

~~~
emacsgifs
Are we assuming everyone knows that Org-mode is an Emacs package?

~~~
traviscj
Even if you are uncomfortable assuming that, search results for "org-
mode"/"orgmode" are unambiguous and helpful for anyone out-of-the-loop and
curious, so it doesn't seem exclusionary or like a secret in-joke reserved for
a secret society of HN elite.

~~~
emacsgifs
I'm far more uncomfortable assuming everyone has the interest to follow up on
every comment.

Alternatively I prefer to assume that it'll give our commentary more value if
we provide some helpful context.

If our goal is to share technologies that we think are useful, we have options
to make that goal more successful.

------
orliesaurus
It's like ice-cream, some people like chocolate, others like vanilla...others
(insert your flavor).

I use a lot of httpie [1] and jq [2] - sometimes a GUI is nice to show other
humans who might... mmhh... not like the CLI that much.. things in a more "eye
pleasing way".

As usual with these tools YMMV.

[1] [https://httpie.org/](https://httpie.org/) [2]
[https://stedolan.github.io/jq/](https://stedolan.github.io/jq/)

~~~
oneplane
While I tend to agree with that, I would love to have a Postman/Insomia style
client for SOAP. I still do some work that requires talking to (legacy-ish)
enterprise applications that only do SOAP :-( On the CLI, that's just a bunch
of unusable XML.

~~~
qw
I have good experiences with the free version of SoapUI. It is branded as a
test automation tool, but can also work well as a client. Just import your
WSDL and it will generate requests for you.

[https://www.soapui.org](https://www.soapui.org)

~~~
rishabhparikh
+1 for SoapUI. Used it for ~3 months during an internship a while back and
didn't have any complaints.

------
deckar01
I have been working on an alternative to Postman and Curl with a modern
terminal interface. The idea isn't fully fleshed out yet, but I really like
using it when I am designing an API. It forces me to think about
discoverability and encourages me to provide links in the response rather than
encoding the API route structure into a client.

[https://imgur.com/gallery/jCNXx](https://imgur.com/gallery/jCNXx)

[https://gitlab.com/deckar01/ctf-
api/tree/master/ctf_client](https://gitlab.com/deckar01/ctf-
api/tree/master/ctf_client)

~~~
kdeenanauth
This looks excellent

~~~
deckar01
I really miss the folding tabs when I go back to my system terminal.

------
mmanfrin
Been using Insomnia for a few months now, some things I really like:

1\. Env switching. I believe this is available on other clients, but it feels
very intuitive in insomnia.

2\. The ease of using results from other calls and making method chains. When
testing something locally, I can make a POST call and then click on my GET
call and have it implicitly GET the id that was just created.

3\. Computed values -- putting in uuids or timestamps for each new call
without having to change them. I looked at the api and the code to add your
own seems pretty straightforward.

4\. Input data types are toggleable, but the form stays the same. This bugged
the _shit_ out of me with Postman: I'd fill out a form with my content body
only to find I had marked the wrong content type, switched it, and saw Postman
present me with a blank form.

------
oneweekwonder
Postman can import swagger specs[0]. Does insomnia have something similar?

[0]:
[https://www.getpostman.com/docs/postman/collections/data_for...](https://www.getpostman.com/docs/postman/collections/data_formats#importing-
swagger)

~~~
nickthemagicman
Postman can also export to share with team which I don't see insomnia able to
do.

Postman also has bulk edit of form requests..

I feel like postman is more fully featured so I'm sticking with it for now.

~~~
embersdev
Yes, insomnia can export/import.

------
jozi9
It's really nice tool indeed, I much prefer this to Paw and Postman strictly
due to UX. Less tabs, less popups etc, easier to navigate. I don't mind
Electron either. I know it's shameless plug but I can't resist sharing my own
tool that I created for monitoring REST apis, if anyone is interested:
[http://www.apilope.com](http://www.apilope.com)

------
Cyberdog
Fair warning that this is an Electron app. (Downvotes incoming!)

~~~
pvg
What exactly is the 'fair warning' here? You're just deliberately starting a
shit-thread and then goading people on top.

~~~
Cyberdog
The warning is that the app will be unnaturally resource-intensive and have an
odd UI compared to a "native" app.

I won't say I didn't intend to stir the shit a little with this comment and
figured I'd rightly it would be downvoted or flagged into oblivion, but now
it's my most upvoted comment in the last week or so. So people seem to
appreciate it a lot more than anticipated. Maybe every Electron app that shows
up on HN needs an "Electron warning!" subthread.

~~~
pvg
_I won 't say I didn't intend to stir the shit a little with this comment and
figured I'd rightly it would be downvoted or flagged into oblivion, but now
it's my most upvoted comment in the last week or so._

So what? Did it in any way foster interesting discussion? No, just the
opposite. It's bad and you should feel bad.

~~~
Cyberdog
> Did it in any way foster interesting discussion?

Six subthreads and seventeen total subcomments so far, so apparently so.
Exclusive of this particular subthread, of course.

~~~
pvg
Neither upvotes, subthread counts, etc, are a measure of interestingness or
quality. You started it as a shitrhead and it remained so.

------
ah100101
I tried Insomnia a few days ago after Postman crashed over an exceptionally
large response I was receiving. Insomnia was able to give me the full response
after providing a warning about its size. Postman has been around a while so I
assume they have a richer feature set, but was glad to see Insomnia handle
this.

------
nkkollaw
This is what I use.

It's not bad at all, Postman's UI is _slightly_ more intuitive, but Insomnia's
is good, too.

I use it because they offer a .deb installer and Postman doesn't offer a
package installer for Linux.

~~~
crispinb
I need such tools only now and then so never get entirely fluent. Insomnia
seems much more obvious to me than Postman.

Intuitiveness is very much in the eye of the beholder ;)

~~~
nkkollaw
It's definitely subjective :-)

------
mtm
I've always been partial to 'restclient-mode':
[https://github.com/pashky/restclient.el](https://github.com/pashky/restclient.el)

So nice to capture a flow of commands and notes in a single plain text file

------
zamalek
Obligatory VSCode love.

vscode-restclient[1] is a fantastic piece of work. You create a .http file and
write what looks like raw HTTP requests (syntax highlighting and autocomplete
included). The biggest "feature" for me is that it's incredibly source control
friendly. All of our services have documentation in the form of an HTTP
"script" right alongside the code.

[1]: [https://github.com/Huachao/vscode-
restclient](https://github.com/Huachao/vscode-restclient)

------
simple10
The source code link is buried on their website.

[https://github.com/getinsomnia/insomnia](https://github.com/getinsomnia/insomnia)

~~~
gschier
There's a section on the footer of every page showing the contributors. Maybe
I should add a GitHub link/logo too

------
evanze
I switched to Insomnia after a few years of frustration with Postman crashing
and its annoying tab behavior. The only thing I miss is a display for # of
matches when searching!

------
jstewartmobile
Just downloaded it. Quick and painless install (running Ubuntu 17). Starts
quickly. Successfully made a few REST calls without difficulties.

Wonderful!

------
chasd00
for the command line I use Httpie, it makes more sense to me than wget or curl

[https://httpie.org/doc](https://httpie.org/doc)

------
cube2222
I've been using it all the time for quite a while already. Generating
different things like uuid's or dates in ISO format has been really useful.
Same for environments. I also really like the UI.

------
misterbowfinger
Kinda wish Postman had support for other protocols like Thrift & gRPC

~~~
a85
Yep. This is a work in progress. Watch out for an announcement in early 2018
about these and other description formats and protocols. :)

------
scandox
I've always used a client inside my editor:

\- vim: [https://github.com/aquach/vim-http-
client](https://github.com/aquach/vim-http-client)

\- emacs:
[https://github.com/pashky/restclient.el](https://github.com/pashky/restclient.el)

Seems to me it's hard to overcome the advantage of being able to immediately
work with and edit response data. What are the major advantages of these
standalone clients?

------
numlocked
For emacs users, check out restclient.el[0]!

Super easy to use, and it's trivial to save and organize common requests
since...it's all just text :)

Supports variables as well. Check out the readme for examples. Can't recommend
it highly enough.

[0]
[https://github.com/pashky/restclient.el](https://github.com/pashky/restclient.el)

~~~
adamhepner
Great! What I couldn't find is: is it possible to get output from one command
and store it as variable for use in another command? My example is simple: I
need to get a token once, and then provide it as a header to all subsequent
requests. The bugger is unfortunately valid only for a limited amount of time
(some 10 minutes), which makes exploration a bit tricky, and I don't
particularly like running search and replace all the time...

------
__s
Started using this for the graphql support, tho unfortunately the dev hasn't
had the time to expose introspection a la graphiql

------
Sir_Substance
I've been using insomnia daily for something like a year now, it's excellent.
I would ask the developer to stop putting pop-up messages in it though. I use
it because it's the cleanest REST client I've found, and it's extremely
jarring to have the otherwise exceptional UX broken by a "latest release"
popup.

~~~
gschier
The latest release popup modal dialog is no longer there starting from 5.12.0
:)

------
_pdp_
There is also this one
[https://secapps.com/market/rest](https://secapps.com/market/rest) if you want
even more UI goodness with support for variables and transformations. See the
screenshots. Theme support is also going in soon. Disclosure: I am the founder
of secapps.com.

------
wedowhatwedo
I don't have administrative rights on my work Mac. I tried to install via
brew. Got this:

Moving App 'Insomnia.app' to '/Applications/Insomnia.app'. Password:

I can't find the app anywhere after sudo gave up because I don't have rights.
I did get this nice message though:

    
    
      insomnia was successfully installed!

~~~
gschier
You can install the *.zip file an extract it, which will give you the
Insomnia.app bundle.

[https://github.com/getinsomnia/insomnia/releases/tag/v5.12.4](https://github.com/getinsomnia/insomnia/releases/tag/v5.12.4)

------
murftown
Nice, can't wait to try it!

Btw, this is the official source code:

[https://github.com/getinsomnia/insomnia](https://github.com/getinsomnia/insomnia)

But I find it a bit odd that I couldn't find a link to the source code on the
website.

Edit: There is one, I just wasn't looking very well.

------
Improvotter
The one thing all of these clients miss is a way to at the same time document
your REST API. Else it feels like doing work twice. And I don't think
exporting it to Swagger or something else is the same thing. I want to be able
to edit my documentation live while testing it.

------
tombert
Maybe I'm just a bit silly and not seeing it, but what does this give you over
Postman?

~~~
ayoubElk
Not sure if Postman does this, but one thing I like about Insomnia is that it
keeps a history of all the responses from the server, a feature I find very
useful when documenting API request & responses.

------
ryanpcmcquen
This has a significant advantage over Postman (to me) because it is open
source.

------
haveanupvote
For the CLI crowd, shout-out for resty:
[https://github.com/micha/resty](https://github.com/micha/resty)

------
Volt
I just use a Jupyter notebook and cURL or whatever language I'm using at the
moment.

------
Lord_Zero
Does this allow signing requests with AWS Sig's + session tokens like postman?

~~~
gschier
If you mean AWS Version 4 Signing Process [1], then yes.

[1] [http://docs.aws.amazon.com/general/latest/gr/signature-
versi...](http://docs.aws.amazon.com/general/latest/gr/signature-
version-4.html)

------
daxaxelrod
I thought this was an API I could order insomnia cookies with. Cool regardless

------
gy0857478
i love paw

------
temp
I'll be sure to check it out once they switch from Electron.

~~~
abiox
to what?

~~~
temp
To anything not based on a web browser.

