►
From YouTube: [Online Meetup] Intro to Insomnia
Description
Insomnia is an open source GraphQL and REST client aimed at making testing and debugging APIs easier. In October, we announced that we welcomed Insomnia to the team at Kong as the next step in our journey to build the service control platform for the future.
Join Greg, creator of Insomnia, as he walks you through the app and how to use to to explore and debug your REST and GraphQL services.
We’ll also open it up for Q&A to answer any questions you might have on Insomnia.
Join our next Online Meetup: https://konghq.com/online-meetups/
A
Alright,
let's
go
ahead
and
get
started.
Thank
you
to
all
of
you
who
are
joining
us
today.
I'm
Kaitlin,
Barnard,
developer
and
community
marketing
manager
here
at
Kong,
I'm
also
joined
by
Kevin
Chen.
Our
developer
advocate
so
I'm
super
excited
to
welcome
you
to
December's
online
Meetup.
Today
we
have
Greg
on
the
creator
of
insomnia,
so
insomnia
joined
Kong
back
in
October
and
he's
going
to
talk
a
little
bit
about
what
the
project
is
and
take
you
through
some
live
demos
of
it
in
action.
So
I'm
really
looking
forward
to
this
one.
B
Thanks
Caitlin,
so
yeah
I,
liked
it
and
said
in
the
creator
of
of
insomnia
and
I'm
gonna
go
over
a
little
bit
of
the
story
of
how
it
started
and
sort
of
the
purpose
of
it
to
set
some
context
for
what
I'll
be
showing
later.
You
know
end
with
a
demo
which
will
take
up
most
of
the
time
which
will
go
through
what
the
app
is,
what
it
does
and
some
real-world
use
cases
of
using
it.
B
So
this
is
a
curl
command
which
I'm
sure
a
lot
of
you
are
familiar
with.
Curl
is
an
extremely
popular
command
line
tool
for
sending
essentially
HTTP
requests,
so
you
can
use
it
to
debug
and
send
things
back
and
forth,
and
so
back
in
2014
I
was
working
at
a
company
as
a
developer
and
we
were
building
an
API
to
send
transactional
emails.
So
we
were
sending.
B
But,
as
you
can
see,
curl
is
fairly
complicated
and
it
can
get
even
more
complicated.
There's
lots
of
parameters
to
remember:
it's
really
easy
to
make
mistakes
and
it's
really
difficult
to
keep
these
organized.
If
you
need
to
come
back
to
the
requests
you
sent
before
or
for
example,
if
you
want
to
modify
one
to
send
to
a
customer,
so
I
essentially
decided
to
replace
this
workflow
and
build
an
app
to
allow
users
to
do
this
more
easily
and
more
intuitively.
B
So
that
app
is
insomnia
and
I
release
it
in
2014
and
back
then
it
was
just
a
simple
web
application
to
send
and
receive
JSON
for
an
API,
and
that's
essentially,
all
we
needed
at
that
job.
So
that
worked
really
for
a
while.
For
us,
the
app
was
simple,
easy
to
use
and
I
launched
it
in
the
Chrome
Web
Store
initially,
so
that
both
us
and
our
customers
could
use
it.
B
So
people
really
they
love
that
simplicity,
that
I
had
at
the
start,
which
it
still
continues
to
have
today
and
essentially
it
started
getting
shared
around
lots
of
word-of-mouth
and
so
I
kept
working
on
it
and
I.
But
a
year
after
launching
I
was
able
to
quit.
My
job
to
focus
on
it
full-time
but
eventually
about
I,
would
say
a
year
after
I
quit
my
job.
I
got
stuck
as
you
all
know.
Api's
are
complicated.
There's
a
lot
of
different
technologies
involved,
especially
around
authentication
different
protocols.
B
B
Basically,
the
idea
was
to
allow
the
community
to
fill
in
some
of
those
gaps
where
maybe
my
knowledge
wasn't
where
it
should
have
been
so
people
could
like
jump
in
and,
like
add,
hola
semantic
OS
authentication
support,
for
example,
which
was
actually
one
of
the
first
community
contributions
for
insomnia,
so
I
didn't
have
to
spend
time
digging
through
the
OAuth
spec
to
sort
of
learn
what
it
was
and
implement
it.
The
community
was
able
to
do
that
for
the
application.
So
that's
worked
out.
B
Really
well
almost
immediately
after
open
sourcing
it
there,
like
people,
started
having
lengthy,
lengthy
discussions
on
github
on
submitting
features
like
I
said,
like
I
mentioned
before,
and
just
in
general,
like
making
the
app
more
robust,
so
fast-forward
to
today
and
insomnia
is
used
by
over
500,000
developers
every
single
month.
It
has
over
a
hundred
treant
120
contributors
on
github
now
and
it
just
passed.
Eleven
thousand
stars.
B
So
what
actually
is
insomnia?
What
is
it
today?
Well,
it's
very
similar
to
what
it
was
when
I
first
created
it
it
essentially,
its
main
goal
is
to
make
API
is
easier
to
interact
with
for
like
regular
people
like
you
and
me,
and
it
does
that
in
a
number
of
ways.
For
example,
it
it
understands
popular
API
stack
formats
like
open,
API,
swagger,
curl
and
a
couple
other
ones.
B
It
can
generate
code
snippets
so
that
you
can
copy
and
paste
request
from
insomnia
into
your
programming
language
of
choice,
whether
that's
Python
Go
JavaScript,
whatever
you
use
and
it
has
a
plugin
system.
So
even
if
insomnia
doesn't
support
your
use
case
fully,
you
can
usually
develop
a
custom
plugin
to
again
fill
in
those
gaps
where
maybe
there
isn't
that
100%
support
for
what
you're
doing
so,
that's,
basically
a
quick
overview
of
what
insomnia
is
now
I
want
to
get
into
actually
showing
it.
B
It's
a
lot
easier
to
demonstrate
by
showing,
rather
than
explaining
so
I'm,
just
gonna
jump
in
with
a
demo
and
I'll
start
by
going
over
I'm,
just
exploring
the
app
a
little
bit
describing
what
what
makes
up
the
app
then
go
over
a
couple.
Examples
like
importing
a
spec
using
OAuth
playing
a
little
bit
with
graph
QL
and
also
some
more
advanced
things
like
environment
variables,.
B
Okay,
so
first
thing
you
can
download
insomnia
at
insomnia,
dot
rest,
which
is
the
domain
name,
and
it's
cross-platform.
It's
a
desktop
application.
So
if
you
head
over
to
the
download
page,
you
can
download
it
for
Mac
Windows,
even
Linux.
If
you
want
I'm
a
Mac,
so
I've
already
installed
it
and
I
can
just
go
ahead
and
open
it
up.
B
A
B
B
B
So
you
can
see
it
previews
the
the
response
in
a
nice
friendly
way
it
formats
it
for
you
and
highlights
the
syntax.
You
can
see
all
the
headers
that
came
back
as
well
as
the
cookies
and
then
you
can
even
see
the
full
timeline
of
the
request
that
just
happened.
So
insomnia
uses
lip
curl
under
the
hood.
So
you
get
the
same
very
verbose,
debug
output,
that
you
would
using
curl
from
the
command
line,
which
is
really
awesome
and
really
useful.
B
So
that's
that's
setting
up
SiC
request,
but
it
goes
further
than
that.
So
you
can
set
up
authentication
on
your
request,
which
there
are
many
available
that
you
can
go
through
so
say
you
want
basic
off
so
I,
just
type
in
your
username
and
password,
and
if
I
send
that
you
can
see
it
will
have
added
the
basic
auth
header
for
you
Network.
Similarly
for
every
authentication
mechanism
that
you
have
here
making
it
your
query
parameters,
so
maybe
you
need
to
do
some
pagination.
B
You
can
do
that.
You
can
add
custom
headers
and
you
can
even
add
markdown
documentation
for
each
request,
which
is
useful
if
you're
sharing
say
an
insomnia
workspace
with
your
team,
you
can
go
ahead
and
add
a
description
and
fill
out
some
description
below
to
a
verbose
description
so
that
your
team
can
then
import
it
and
quickly
understand
what
the
request
is
doing.
B
But
that's
not
all.
It
does
like
I,
said
and
I
want
to
go
for
some
more
complicated
examples
to
show
you
just
how
powerful
and
helpful
insomnia
can
be
and
I
want
to
start
off
with
using
an
actual
API.
So
I
want
to
go
ahead
and
create
a
new
workspace
and
the
API
I'm
choosing
to
use
today
will
be
the
github
API,
because
we'll
be
able
to
demonstrate
using
the
API
authenticating
with
oauth2,
as
well
as
using
their
graph
QL
version
of
the
API,
which
they
also
have.
B
So
what
else?
What
does
the
API
do?
You
can
see?
There's
a
bunch
of
endpoints
here,
we'll
just
use
this
one
for
now
to
fetch
the
current
user.
So
I'm
gonna
go
ahead
and
make
another
request
for
fetching
the
user
I'm
gonna
paste
that
URL
in
there.
So,
if
I
send
that
now
you'll
see
it
doesn't
work
because
it
needs
authentication
in
order
to
actually
make
the
API
call
and
github
uses
OAuth
2
for
that,
so
I'm
gonna
go
ahead
and
select
wot
from
the
auth
menu
and.
B
One
cool
thing
that
insomnia
does
is
it
has
Auto,
can
autocomplete
system.
So
it
knows
that
I'm
setting
up
two
and
it
knows
that
it's
the
authorization
URL.
So
it's
actually
able
to
suggest
some
options
from
common
and
popular
api's.
So
if
I
were
to
just
go
from
the
root,
you
can
see
a
bunch
that
are
listed
here
that
are
supported
by
default.
B
So
you
can
see
if
we
go
over
again,
you
can
see
the
bearer
token
is
being
sent
and
it's
authenticated
correctly.
So
we
have
this
response.
You
can
see
it
gets
my
user
with
a
bunch
of
information
and
yeah.
That's
it
that's
a
lot.
If
you
haven't
used
OAuth
I'm
setting
up
sending
it
up
yourself
is
extremely
complicated,
so
having
insomnia
do
it,
for
you
just
makes
it
again
one-step
easier
to
like
get
up
and
running
to
use
an
API
really
quickly.
B
Alright,
so
let's
try
something
else.
Well,
first
of
all,
before
I
make
another
request
you
can
see.
We
have
some
repetition
here
so
I
had
this
base
URL
in
two
places.
So
the
next
thing
that
we
could
do
to
make
us
make
ourselves
more
efficient
is
we
can
set
up
an
environment,
so
an
environment
in
insomnia
is
essentially
a
container
of
common
values
that
you
can
reuse
with
it
throughout
the
application.
So,
if
I
go
over
to
manage,
I
can
go
ahead
and
create
an
environment
I'm,
just
gonna
call
it
github
API.
B
B
All
right
now,
I
have
the
base
URL.
There
I'm
also
put
it
in
the
other
request
and
if
I
send
that
you'll
see
that
we
go
back
to
the
timeline
you
can
see.
The
URL
was
populated
from
the
environment
variable
and
the
cool
thing
about
this
is
say:
you're
working
on
like
developing
an
API.
You
can
actually
create
multiple
of
these
sub
environments.
So
maybe,
if
you
work
at
github,
you
might
be
working
on
like
the
staging
staging
github,
API
and
I.
Don't
I,
don't
know
what
their
URL
would
be,
but
maybe
it's
staging
github.
B
So
then,
when
you
had
multiple
environments,
you
can
switch
between
them
and
if
I
go
over
to
the
query
tab
here,
which
will
preview
the
URL
you
can
see
when
I
switch
between
the
api's
or
the
environments.
The
API
updates.
Accordingly,
because
you
have
this
variable
in
here
so
variables
are
an
extremely
powerful
way
to
reuse,
common
values
and
basically
create
sets
of
values
for
different
environments.
So
you
can
easily
switch
between
them
and
essentially
be
more
productive.
B
B
Alright,
so
that
is
a
lot
of
information.
This
is
every
repository
in
my
github
account,
both
public
and
private,
but
this
is
not
very
useful,
as
you
can
see,
there's
a
lot
of
information
here.
What,
if
I
just
want
to
find
a
specific
value
inside
of
here
like
what,
if
I,
want
to
just
get
all
the
names
of
all
my
public
repositories,
for
example?
Well,
one
cool
thing
you
can
do
in
insomnia
is:
you
can
actually
use
JSON
pass
filters
which
you
can
see
there's
a
little
help
dialog
here.
B
Json
path
is
essentially
like
a
query
language
for
JSON
objects,
so
you
can
filter
them
down
and
dig
into
them
in
order
to
get
the
information
that
you
want
from
them.
So
we're
going
to
be
doing
something
like
this
in
order
to
say
first,
we'll
get
all
the
names
of
the
repositories
in
my
account.
So
if
we
go
to
the
top,
you
can
see
it's
an
array
of
objects.
B
And
I
will
do
so.
The
way
JSON
path
works.
Is
you
start
off
with
a
dollar
sign
and
it's
sort
of
like
JavaScript
dot,
notation
but
more
advanced.
So
if
I
want
to
do
get
all
the
repositories
name,
for
example,
so
that
will
filter
out
every
object
and
just
the
name
of
that
object.
But
what
if
we
want
to
get
all
the
public
repositories,
so
we
can
actually
go
look
at
this
okay,
it
looks
like
there's
a
private
attribute,
which
is
a
boolean
I
mean
the
way
you
can
filter.
B
B
So
this
just
gets
all
the
non
private
repositories
and
then,
at
the
end,
I
can
just
tack
the
name
on
top,
and
you
can
see
there
is
a
list
of
all
my
public
repositories
under
my
account,
so
pretty
cool
feature.
There
there's
actually
JSON
paths
in
other
parts
of
the
application
as
well.
So
if
you
are
able
to
learn
it,
then
you
will
be
able
to
use
it
in
even
more
advanced
ways
throughout
the
application.
B
One
of
the
other
really
common
use
cases
for
insomnia
is
graph
QL,
so
graph
QL
is
a
query
language
for
api's,
which
is
meant
to
I,
guess
give
a
more
robust
interface
to
api's.
So
one
is
structured.
It
has
a
strict
schema
so
that
tools
like
insomnia
are
able
to
fetch
the
schema
and
basically
provide
assistive
tooling
on
top
of
an
API.
B
So
let's
go
ahead
and
demonstrate
that
now
I
chose
github.
Github
has
a
traditional
restful
api
which
we've
just
been
using,
but
they
also
actually
have
a
graph
QL
version
of
that.
So
I
thought
it'd
be
a
good
idea
to
demonstrate
what
we've
already
done,
but
in
graph
QL.
So
if
we
go
over
here,
we
can
see
the
root.
Endpoint
is
looks
like
the
same
API
that
we
were
just
using,
but
slash
graph.
Ul
I'm
going
to
go
over
here
and
create
a
new
folder
called
graph
QL
and
I'm
gonna
duplicate
this
request.
B
B
It
knows
that
its
graph
QL-
and
it
knows
that
all
graph
QL
API,
is
expose
a
schema
for
all
the
data
types
and
all
the
queries
you
can
run
so
as
soon
as
we
did
that
it
just
fetched
the
entire
schema
and
stored
it
in
memory
and
one
of
the
cool
things
that
we
can
do
now
is
instead
of
having
to
go
through
the
graph
QL
documentation
on
the
website
to
see
what
it
does.
Because
insomnia
has
the
schema,
we
can
actually
view
the
same
information
directly
from
the
app
without
leaving
it.
B
So
if
we
go
over
here,
we
can
see
the
documentation
now.
I'll
click
on
the
queries
and,
let's
see
if
we
can
find
the
user
query
that
we
executed
in
the
other
API
uh-huh
okay.
So
here
it's
just
called
user
and
it
returns
a
user
type
and
we
can
click
through
on
that
and
these
are
type
it
looks
like
there's
a
bunch
of
sub
queries
inside
of
it.
B
Let's
see
if
we
can
find
the
repositories,
query
that
we
were
using
okay,
so
looks
like
we
can
make
a
user
query
similar
to.
We
did
before
and
also
query
the
repositories
as
well.
So
let's
go
ahead
and
do
that
and
one
thing
that
you'll
notice
right
away
if
I
start
typing
a
query:
you'll
get
the
same
autocomplete
that
we
saw
for
environment
variables,
but
this
time
it's
showing
attributes
of
graph
QL
and
various
queries
and
things
that
you
can.
You
can
also
do
so.
B
B
Okay,
so,
okay,
it's
already
Auto
completing
it
for
me,
which
is
nice,
I'm,
just
gonna,
add
my
user
name
in
there
and
now,
when
I
send
it,
it
fetches
all
well
fetches
the
the
one
attribute
that
I
requested
the
bio
and
returns
it
from
the
graph
QL
endpoint.
So
that's
really
cool.
Basically,
all
we
needed
was
this
graph
QL
API
URL,
and
we
were
able
to
browse
the
documentation
figure
out
what
careers
existed
and
also
take
advantage
of
insomnia
autocomplete
to
very
easily
like
execute
like
enter
the
query
and
ensure
that
it
was
correct.
B
So
if
we
want
to
do
the
same
thing,
we
did
before
with
the
restful
api
we're
going
to
need
to
fetch
the
repositories
so
again,
making
you
something
autocomplete,
we
can
grab
the
repositories
and
it
looks
like
it's
returning
a
sub
list
of
nodes
and
there's
yeah,
there's
a
name
attribute.
So,
let's
fetch
all
the
repositories,
names
missing,
pagination
boundary
in
repositories.
B
B
B
Oh
missing
a
dot,
alright,
so
and
then
we'll
get
the
name.
So,
as
you
can
see
same
thing,
we
did
before
making
use
of
JSON
path
to
filter
down
the
response
and
get
exactly
what
we
need.
Let's
clear
that,
okay,
so
that's
that's,
essentially
all
that
I
had
to
show
we've
covered
sort
of
what
insomnia
is
based.
B
We
covered
his
core,
which
is
that
it
makes
API
is
easier
to
use
and
the
the
ways
that
we
did.
That
was
we
used
environment
variables.
We
categorized
some
things
under
folders.
We
use
the
oauth2
I'm
support
to
make
it
really
easy
to
about
that
decay.
Then
we
made
use
of
JSON
path
as
well
as
a
graph
QL
to
just
demonstrate
how
to
use
an
API
in
the
real
world,
and
this
is
essentially
how
I
use
insomnia.
It's
really
nice
to
get
up
and
running,
especially
with
graph
QL
api's
that
you
haven't
used.
B
B
A
A
B
A
B
The
OAuth
dialogue
to
pop
up
right
now,
but
the
auth
redirect
URL,
is
essentially
only
required
for
insomnia
to
be
able
to
match
against
it.
So
when
you
open
up
the
initial
Roth,
login,
dialog
insomnia
will
look
at
the
response
and
basically
catch
the
redirect
URL
that
you
entered
based
on
what
you
entered
so
it'll
match
against
it,
and
then
it'll
pull
the
authentication
code
out
of
there,
which
it
will
then
used
to
fetch
the
token.
B
So
it
doesn't
actually
need
a
running
server,
because
insomnia
is
intercepting
it
locally
and
there
is
one
caveat
which
is
on
github
on
the
github
developer
portal.
You
have
to
enter
the
same
URL.
The
redirect
URL
that
you
do
in
insomnia
or
out
still
return
an
error.
So
there
are
a
couple
things,
but
you
don't
actually
need
to
have
a
running
server
in
order
to
use.
A
Things
great
for
a
great
presentation-
and
you
know
we
have
these
calls
on
a
monthly
basis.
So
our
next
call
is
on
January
14th
and
we
hope
to
see
you
there.
I
will
have
more
topics
around
a
common
2.0
which
is
coming
up.
The
release
candidate
is
coming
up
this
month
and
also
we're
releasing
kuma
zero
point
three
point
one
this
week,
so
I
have
a
lot
more
content
around
that
website.
A
A
A
B
Think
so,
I'm
not
super
familiar
with
open
ID,
but
I
know
that
there
open
ideas,
extend
an
extension
of
oauth2
I
think
and
there
have
actually
been
some
contributions
related
to
it.
I
think
there
is
I,
think
I,
don't
know,
I
think
there's
a
couple
things
that
are
open,
ID
specific,
because
people
have
been
using
it
with
insomnia,
I'm,
not
sure
how
broad
the
support
is,
but
there
are
a
few
things
but
yeah.
That's
a
good
question.