Insomnia is an open-source, cross-platform API client developed by Kong, designed for testing, debugging, and designing APIs across REST, GraphQL, gRPC, WebSockets, Server-Sent Events (SSE), Socket.IO, and other HTTP-compatible protocols. It offers a lightweight, developer-friendly alternative to Postman with unlimited collection runs, native Git sync, AI-powered features (Claude, OpenAI, Gemini, or local LLM), and full support for Model Context Protocol (MCP) servers. Insomnia streamlines API workflows through intuitive templating, powerful scripting (pre-request and after-response), environment management, and flexible storage options—local, cloud, or Git-based—making it essential for modern API development and collaborative testing. A key advantage is its simplicity and speed, which keeps developers focused on API functionality rather than wrestling with tooling complexity.
What This Cheat Sheet Covers
This topic spans 21 focused tables and 169 indexed concepts, 133 flashcards. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
A jump-to index of every table row in this cheat sheet.
An interactive map of every table and concept in this topic.
Table 1: Request Types and Protocol Support
Insomnia is not just a REST client—it speaks the full spectrum of modern API protocols from a single window. Whether you're hitting a plain HTTP endpoint, introspecting a GraphQL schema, streaming gRPC, or holding open a WebSocket, each protocol gets its own dedicated request type with the right editor and response view.
| Protocol | Example | Description | |
|---|---|---|---|
GET https://api.example.com/usersPOST /auth/login | • Standard HTTP methods (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS) for RESTful APIs • full header, body, and query parameter control. | ||
query { user(id: "1") { name email } } | Native GraphQL support with query editor, variable section, schema introspection, auto-completion, and inline validation based on the type system. | ||
Host: localhost:50051Method: /grpc.health.v1.Health/Check | • Supports all four gRPC types: unary, server-streaming, client-streaming, bidirectional • configure host, port, metadata, and use .proto files for schema definitions. | ||
ws://localhost:8080/socketSend: {"action": "subscribe"} | • Bi-directional persistent connections for real-time communication • send and receive messages interactively; messages can be JSON or raw format. | ||
GET https://api.example.com/eventsAccept: text/event-stream | • Unidirectional streaming from server to client • view live event data as it arrives, ideal for notifications and real-time updates. | ||
socket.io://localhost:3000Event: chat message | • Native Socket.IO request type for event-driven real-time messaging • supports custom handshake paths and correct JSON request/response handling. | ||
POST https://soap.example.com/serviceContent-Type: text/xml | • Send XML-based SOAP requests with envelope structure • define WSDL schemas and inspect SOAP responses. |