Insomnia — en HTTP-klient för skrivbordet med öppen källkod för att testa REST-, GraphQL- och WebSocket-API:er. Verktyget utmärker sig genom ett minimalistiskt gränssnitt, inbyggd förfrågningsredigerare och stöd för miljövariabler utan att registrering krävs. Enligt Insomnia Documentation (2026) stöder klienten automatisk kodgenerering på fler än 20 programmeringsspråk.
Viktigaste punkterna
Insomnia — plattformsoberoende applikation (Electron) för att skicka HTTP-förfrågningar och felsöka API:er. Den utvecklas av företaget Kong sedan 2016 som ett alternativ till Postman med fokus på arbetshastighet och integritet: data lagras lokalt, molnsynkronisering är valfri och kräver registrering.
Huvudfönstret är uppdelat i tre kolumner: till vänster — förfrågningsträdet (Workspace), i mitten — förfrågningsredigeraren med flikarna Params, Headers, Body, till höger — svarsrutan med lägena Pretty, Raw och Preview. Det mörka temat är aktiverat som standard, och anpassade teman stöds via CSS-variabler.
Insomnia stöder export av förfrågan till kod på fler än 20 språk och ramverk: cURL, HTTPie, Python Requests, JavaScript Fetch/Axios, Kotlin OkHttp, Swift URLSession, Java Unirest, Ruby Net::HTTP och andra. Generatorn tar hänsyn till rubriker, förfrågans innehåll och autentiseringstyp, vilket snabbar på integreringen av API:et i applikationskoden.
Insomnia och Postman löser samma uppgift, men med olika prioriteringar. Insomnia är lättare (~80 MB jämfört med ~300 MB), startar snabbare och fungerar helt offline utan att påtvinga registrering. Postman erbjuder ett mer mogen ekosystem med övervakning, mock-servrar och teamarbetsytor.
| Kriterium | Insomnia | Postman |
|---|---|---|
| Applikationens storlek | ~80 MB | ~300 MB |
| Offlineläge | Fullständigt | Begränsat |
| GraphQL | Inbyggd redigerare | Betaversion |
| CLI | Inso CLI | Newman |
| Plugin | Plugin Hub | Tillägg |
För individuell utveckling och snabb testning av endpoints är Insomnia bekvämare tack vare sin lätthet och frånvaro av registrering. För teamarbete med en gemensam samling, CI/CD-integrering och övervakning av produktions-API:er förblir Postman branschstandarden.
Workspace i Insomnia innehåller förfrågningsträdet, indelat i mappar. Varje förfrågan kan vara av typen HTTP, GraphQL, WebSocket eller gRPC. Dragning, duplicering och gruppering av förfrågningar efter färgade etiketter stöds. Workspace-konfigurationsfilen lagras i JSON-format.
Insomnia stöder kapslade miljöer (Sub Environments) som ärver förälderns variabler. Det gör att du kan definiera bas-URL i den globala miljön och bara åsidosätta de skiljande parametrarna för olika miljöer. Variabler ersätts genom syntaxen {`{`}_variable${`}`}.
// Exempel på strukturen för en Insomnia-miljö
{
"base_url": "https://api.example.com",
"timeout": 5000,
"headers": {
"Content-Type": "application/json",
"Accept": "application/json"
}
}Insomnia erbjuder en av de bästa GraphQL-redigerarna bland API-klienter. Fliken GraphQL Query gör det möjligt att skriva förfrågningar med automatisk komplettering av fält baserat på det inlästa schemat. Till höger visas dokumentation av typer, fält och argument i realtid.
Schemat laddas genom en GraphQL Introspection-förfrågan till endpointen. Insomnia cachar schemat lokalt och uppdaterar det automatiskt vid ändringar. Efter inläsning blir automatisk komplettering (Ctrl+Space), validering av förfrågan och förhandsvisning av möjliga fel före sändning tillgängliga.
# GraphQL-förfrågan med variabler i Insomnia
query GetUser($id: ID!) {
user(id: $id) {
name
email
posts {
title
createdAt
}
}
}Insomnia Plugin Hub innehåller fler än 100 plugin som utökar klientens funktionalitet. Plugin installeras via menyn Preferences → Plugins eller manuellt via npm. Populära kategorier inkluderar generering av testdata, export till olika format och anpassade svarsvaliderare. Varje plugin genomgår obligatorisk moderering innan den publiceras i utvecklarnas gemensamma hub.
Plugin skrivs i JavaScript och interagerar med Insomnia via mall-API:et (response.*, request.*, environment.*). Att utveckla en plugin kräver grundläggande kunskap om Node.js och publicering via ett npm-paket med taggen insomnia-plugin.
Inso CLI — konsolverktyg inbyggt i Insomnia för att köra förfrågningar och tester från terminalen. Inso kör enskilda förfrågningar eller hela samlingar, exporterar resultat till JSON och kan integreras i CI/CD-pipelines. Kommandot inso run collection utför sekventiellt alla förfrågningar i samlingen.
Inso CLI fungerar i Docker-containrar och headless-läge, vilket gör att det kan användas i GitHub Actions och GitLab CI. Körkonfigurationen beskrivs i en YAML-fil med angivande av sökvägen till den exporterade samlingen och miljön. Påståenden om statuskod och svarsinnehåll stöds via JavaScript-skript.
# GitHub Actions-workflow med Inso CLI
- name: Run API tests
run: npx insomnia-inso run collection
--collection "Auth API"
--env "Staging"
--reporter junit
--output reports/api-results.xmlInsomnia stöder synkronisering av samlingar via Git. Samlingsfiler lagras i JSON-format och kan läggas till i projektets repository. Insomnia tillhandahåller en inbyggd Git-klient för att visa ändringar, skapa commits och lösa konflikter vid sammanslagning direkt från gränssnittet.
För att ansluta Git skapar du en lokal mapp med repository och anger den som rotkatalog i Insomnia-inställningarna. Applikationen spårar automatiskt ändringar i samlingsfilerna och visar dem i panelen Version Control. Standardoperationer stöds: commit, push, pull och visning av diff mellan versioner.
För projekt utan Git erbjuder Insomnia molnsynkronisering via Insomnia Cloud. Den kostnadsfria planen inkluderar upp till 3 teammedlemmar och automatisk säkerhetskopiering av samlingar. Betalda planer lägger till åtkomsthantering, ändringsrevision och prioriterad support.
| Synkroniseringsmetod | Gratis | Offline | Versionshantering |
|---|---|---|---|
| Git (lokal) | Ja | Ja | Fullständig (commit, diff, merge) |
| Insomnia Cloud | Upp till 3 användare | Nej | Grundläggande (ändringshistorik) |
| Filexport | Ja | Ja | Manuell (via versionshanteringssystemet) |
Design Mode i Insomnia gör det möjligt att skapa API-specifikationer i OpenAPI 3.0-format. Läget fungerar som en visuell redigerare: definiera endpoints och datascheman utan att skriva YAML manuellt. Specifikationen kan exporteras till JSON eller YAML.
Insomnia importerar OpenAPI-specifikationer och skapar en samling förfrågningar för varje endpoint. Sökvägar och scheman omvandlas till färdiga HTTP-förfrågningar. Funktionen är användbar vid integrering med mikrotjänster, där specifikationen lagras i teamets separata repository.
Varje förfrågan kan tilldelas en färgad etikett: red, blue, green, orange, purple. Filtrering efter taggar fungerar via sökfältet oavsett mappstruktur, vilket förenklar navigeringen i projekt med hundratals endpoints och många moduler.
Design Mode i Insomnia gör det möjligt att skapa API-specifikationer i OpenAPI 3.0-format direkt i applikationen. Läget fungerar som en visuell redigerare: definiera endpoints, datascheman och parametrar utan att skriva YAML manuellt. Specifikationen kan exporteras till JSON eller YAML för publicering i repositoryt.
Insomnia importerar befintliga OpenAPI-specifikationer och skapar automatiskt en samling förfrågningar för varje endpoint. Sökvägar och scheman omvandlas till färdiga HTTP-förfrågningar med korrekta datatyper. Funktionen är användbar vid integrering med mikrotjänster, där specifikationen lagras och underhålls av ett separat team av backend-utvecklare.
För att organisera ett stort antal förfrågningar stöder Insomnia taggning — varje förfrågan kan tilldelas en färgad etikett: red, blue, green, orange, purple. Filtrering efter taggar fungerar via sökfältet oavsett mappstruktur, vilket förenklar navigeringen i projekt med hundratals endpoints och många funktionella API-moduler.
Vanliga frågor
Nej, registrering är inte obligatorisk. Insomnia fungerar helt offline. Molnsynkronisering finns som ett alternativ för teamarbete, men all data lagras lokalt i JSON-filer i mappen ~/.config/Insomnia/.
Exportera samlingen från Postman i JSON-format (Collection v2.1). I Insomnia väljer du Import/Export → Import Data → From File. Insomnia konverterar automatiskt samlingen med bevarande av förfrågningar, rubriker och miljövariabler.
Ja, från version 2022. Insomnia stöder protokollen WebSocket och Socket.IO. Skapa en ny förfrågan av typen WebSocket, ange URL (ws:// eller wss://) och skicka meddelanden via chattgränssnittet.
Inso CLI — Insomnias inbyggda verktyg för att köra samlingar från konsolen. Newman är motsvarigheten för Postman. Inso är lättare, kräver ingen separat installation (medföljer Insomnia) och stöder alla Insomnias förfrågningstyper, inklusive GraphQL.
Ja, Insomnia stöder gRPC-förfrågningar via fliken gRPC. Det krävs att en .proto-fil med tjänstedefinitionen laddas. Efter inläsning visar Insomnia de tillgängliga RPC-metoderna och genererar ett binärt Protobuf-meddelande för sändning.
Slutsatser
Vi utvecklar en mobil applikation nyckelfärdigt
IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.
Läs också