Insomnia「Scrapbook」を極めろ:一時的リクエストの迷宮から脱出するアーキテクト流・API検証術
テックリードの仕事は、コードを書くだけではない。開発チーム全体の「Cognitive Load(認知負荷)」を限界まで下げ、開発スピードを物理的限界まで加速させることだ。
日々のAPI開発において、こんな無駄に遭遇していないだろうか?
- 「ちょっとこのエンドポイントのレスポンス構造を確認したいだけ」なのに、わざわざ専用のWorkspaceやCollectionを作り、ゴミのようなリクエストが散らかる。
- 過去に検証した「あの時の実験的クエリ」がどこに行ったか分からず、ブラウザの履歴やSlackのログを漁る羽目になる。
- メインのプロジェクトスペースが、一回きりの検証用リクエストで汚染されている。
Insomniaを使っているなら、その悩みは「Scrapbook」機能で一瞬にして解決する。今回は、Insomniaの隠れたキラー機能であるScrapbookを徹底的に使い倒し、あなたのAPI検証フローを極限まで効率化する実践テクニックを伝授しよう。
—
1. なぜScrapbookなのか?(アーキテクトの設計思想)
Insomniaの基本単位は「Workspace」だ。環境変数、認証、ベースURLごとにWorkspaceを分けるのは基本中の基本だが、「まだプロダクトのコードベースにするか分からない実験的なリクエスト」をそこに混ぜてはならない。
Workspaceは「ソースコードのメインブランチ」のようなものだ。そこに検証中のゴミをコミットしてはいけない。
一方、Scrapbookは「どこにも属さない、無限のホワイトボード」である。
- 同期されない(ローカル完結): チームメンバーに自分の散らかった実験を見られない。
- 即座に捨てられる: 失敗した検証はノータイムで削除可能。
- いつでも昇格できる: よい結果が出たら、ワンクリックで正式なWorkspaceへ移行できる。
この「安全なサンドボックス」を日々のワークフローに組み込むだけで、思考のコンテキストスイッチが劇的に削減される。
—
2. 開発スピードを3倍にするキーボードショートカット&操作術
マウスに手を伸ばした時点でエンジニアの負けだ。Scrapbookと通常のWorkspaceをシームレスに往復し、秒速でリクエストを投げるためのショートカットを体に叩き込め。
| アクション | Windows / Linux | macOS | アーキテクトの解説 |
| :— | :— | :— | :— |
| クイックオープン(移動) | `Ctrl + P` | `Cmd + P` | Scrapbook内、Workspace間を横断する最速のファジーファインダー。 |
| 新規リクエスト作成 | `Ctrl + N` | `Cmd + N` | 迷ったらこれ。即座にリクエストタブが立ち上がる。 |
| リクエストの送信 | `Ctrl + Enter` | `Cmd + Enter` | 右手のマウスを探すな。これ以外ありえない。 |
| サイドバーのトグル | `Ctrl + \` | `Cmd + \` | 画面を広く使ってレスポンスのJSON構造を凝視する時に必須。 |
| タイムラインの表示 | `Ctrl + L` | `Cmd + L` | ヘッダーやSSL証明書のハンドシェイクをデバッグする神機能。 |
【裏技】Scrapbookから本番Workspaceへの「瞬間移動」
Scrapbook上で磨き上げたリクエスト(例えば、複雑なJSONボディや動的ヘッダーを含むもの)を本番のWorkspaceに移動させる際、エクスポートしてインポートするなどという愚行をしてはならない。
1. 対象のリクエストを右クリック(またはコンテキストメニュー)。
2. 「Move」を選択。
3. 移動先のWorkspaceを指定するだけ。
この直感的な移動により、「実験(Scrapbook) → 正式資産化(Workspace)」のパイプラインが完全にシームレス化する。
—
3. 絶対に入れるべき神プラグイン
デフォルトのInsomniaも優秀だが、エコシステムを活用することで真の「武器」へと変貌する。Scrapbookでの検証効率を爆上げするプラグインを厳選して紹介する。
1. `insomnia-plugin-documenter` (またはAPIモック系)
一時的な検証であっても、レスポンスのスキーマが複雑な場合、メモ代わりにMarkdownで残しておきたくなる。このプラグインを使えば、Scrapbook内のリクエスト群から即座にドキュメントを生成できる。
2. `insomnia-plugin-json-to-code`
検証したAPIのレスポンスやリクエストボディから、TypeScriptのInterface、GoのStruct、Pythonのdataclassなどを一瞬で生成する。Scrapbookで「お、このAPIいけるな」となった瞬間に、型定義まで秒速で完了させるためのマストアイテム。
インストール方法:
Insomniaの「Preferences」>「Plugins」から、上記プラグイン名を入力するだけでインストール完了。
—
4. チーム開発で役立つ「Scrapbook思想」の共有化ルール
「個人の一時的な遊び場」であるScrapbookだが、チーム全体としてこの概念をどう扱うべきか。テックリードとして策定すべきルールは以下の通りだ。
1. 「ここに永続的な設定を書くな」の鉄則
Scrapbook内のデータは基本的にクラウド同期されない(あるいはローカルファイルとして管理される)。そのため、チームで共有すべき認証情報や共通ベースURLをScrapbookにハードコードしてはならない。環境変数はあくまでメインWorkspaceで管理し、Scrapbookは「使い捨てのURLとデータ」に割り切る。
2. JSON/YAMLエクスポートによる「知見の共有」
Scrapbook上で見事にバグの再現や、サードパーティAPIの複雑な認証フローを解明できたとする。その時は、そのリクエスト単体をJSON/YAMLとしてエクスポートし、Pull RequestのDescriptionやSlackの該当スレッドに貼るのだ。
「言葉で説明するより、このInsomniaファイルをインポートしてくれ」と言えるエンジニアは、チームのヒーローになれる。
—
5. 実用的な設定ファイル(YAML)のベストプラクティス構成例
InsomniaはデータをYAMLやJSON形式でエクスポート・インポートできる。Scrapbookで検証した複雑なリクエストを、チームメンバーや将来の自分のために美しく構造化されたYAMLとして残すためのベストプラクティス構成を提示しよう。
以下のYAMLは、OAuth 2.0のトークン取得から、実験的なGraphQLクエリの実行までをScrapbook用に美しくモデリングした例だ。
Insomnia Export Format (v4)
アーキテクトが推奨する、検証用スニペットのYAML構成例
_type: export
__export_format: 4
__export_date: 2026-03-31T00:00:00.000Z
__export_source: insomnia.desktop.app:v2023.x.x
resources:
# ==========================================
# 1. 実験用環境変数(Scrapbook内でのみ有効)
# ==========================================
- _id: env_sandbox_local
parentId: wrk_scrapbook
modified: 1711843200000
created: 1711843200000
name: “Sandbox Local”
data:
base_url: “https://api.staging.example.com”
client_id: “dummy_client_id_for_test”
# 機密情報はダミーか環境変数プレースホルダーにしておく
debug_token: “{% prompt ‘Enter temporary bearer token’, ”, false, true %}”
dataPropertyOrder:
&.data
- base_url
- client_id
- debug_token
color: “#7d4698”
isPrivate: false
_type: environment
# ==========================================
# 2. 一時検証用:複雑な認証フローのテスト
# ==========================================
- _id: req_auth_test
parentId: wrk_scrapbook
modified: 1711843200000
created: 1711843200000
url: “{{ _.base_url }}/v1/oauth/token”
name: “[実験] OAuth2 クライアント認証の疎通確認”
description: |
# 目的
新規導入するOAuthプロバイダとのハンドシェイク検証。
本番Workspaceに移す前のプロトタイピング用。
method: POST
body:
mimeType: application/x-www-form-urlencoded
params:
- name: grant_type
value: client_credentials
- name: client_id
value: “{{ _.client_id }}”
parameters: []
headers:
- name: Content-Type
value: application/x-www-form-urlencoded
authentication: {}
metaSortKey: -1711843200000
isPrivate: false
settingStoreCookies: true
settingSendCookies: true
settingDisableRenderRequestBody: false
settingEncodeUrl: true
settingRebuildPath: true
settingFollowRedirects: global
_type: request
# ==========================================
# 3. 一時検証用:GraphQLの実験的クエリ
# ==========================================
- _id: req_gql_experiment
parentId: wrk_scrapbook
modified: 1711843200000
created: 1711843200000
url: “{{ _.base_url }}/graphql”
name: “[実験] N+1問題発生箇所のクエリコスト計測”
description: “ネストが深いリレーションを取得した際のレスポンスタイムとペイロードサイズを検証する。”
method: POST
body:
mimeType: application/graphql
text: |
query MeasureDeepNesting {
viewer {
organizations(first: 10) {
nodes {
repositories(first: 50) {
nodes {
name
issues(first: 100) {
totalCount
}
}
}
}
}
}
}
headers:
- name: Content-Type
value: application/json
- name: Authorization
value: “Bearer {{ _.debug_token }}”
authentication: {}
metaSortKey: -1711843190000
isPrivate: false
settingStoreCookies: true
settingSendCookies: true
_type: request
このYAMLフォーマットの美しさを見てほしい。`{% prompt … %}`タグを使って、実行時に一時的なトークンを動的に入力を促すギミックも組み込んでいる。これを共有すれば、チームメンバーは環境を汚さずに一瞬で同じ検証を再現できる。
—
6. まとめ:Scrapbookがもたらす「クリーンな開発マインド」
散らかったデスクトップが仕事の効率を落とすように、散らかったAPIクライアントはエンジニアの思考力を確実に削ぐ。
InsomniaのScrapbookは、単なる「ゴミ箱代わりの一時領域」ではない。
「アイデアを安全に爆発させ、価値あるものだけをプロダクトに昇華させるための最前線基地」である。
今日からメインのWorkspaceのタブをすべて閉じ、実験的なリクエストはすべてScrapbookへ追い込め。圧倒的な視界のクリアさと、開発スピードの向上に震えるはずだ。