{
  "openapi": "3.1.0",
  "info": {
    "title": "MyAPIs",
    "version": "0.1.0",
    "summary": "テストに使える無料のREST API（日本語データ + HTTPシナリオ）",
    "description": "apis-cloud.net で公開している各種データを REST + JSON で返す API 群。認証不要・CORS 全開放の読み取り専用。都道府県・元号・四字熟語などの日本語データセット、UUID やパスワードのジェネレータ、画像・音声・SSE・各種 HTTP ステータスを返す API Zoo を含む。学習・検証・テスト用途向け。"
  },
  "externalDocs": {
    "description": "APIリファレンス",
    "url": "https://apis-cloud.net/"
  },
  "servers": [
    {
      "url": "https://apis-cloud.net"
    }
  ],
  "tags": [
    {
      "name": "index",
      "description": "全体"
    },
    {
      "name": "prefectures",
      "description": "日本の47都道府県。人口は令和2年（2020年）国勢調査、面積は国土地理院の全国都道府県市区町村別面積調（km²）。",
      "externalDocs": {
        "description": "都道府県APIの解説",
        "url": "https://apis-cloud.net/docs/prefectures"
      }
    },
    {
      "name": "eras",
      "description": "大化（645年）から令和までの全元号。南北朝時代は court に「南朝」「北朝」を入れている（両朝で用いられた建武は南朝側の1件のみ収録）。改元年は前後の元号で重複する。継続中の元号は endYear と years が null で ongoing が true。",
      "externalDocs": {
        "description": "元号APIの解説",
        "url": "https://apis-cloud.net/docs/eras"
      }
    },
    {
      "name": "sekki",
      "description": "立春から大寒までの二十四節気。日付は太陽黄経で決まるため年によって1日前後する（approxDate は目安）。",
      "externalDocs": {
        "description": "二十四節気APIの解説",
        "url": "https://apis-cloud.net/docs/sekki"
      }
    },
    {
      "name": "eto",
      "description": "十二支と、それぞれが表す動物・方角・時刻。yearMod12 は「西暦をこの数で割った余りがその年の干支」を表す（例: 2020 % 12 = 4 で子年）。",
      "externalDocs": {
        "description": "十二支APIの解説",
        "url": "https://apis-cloud.net/docs/eto"
      }
    },
    {
      "name": "horoscope",
      "description": "西洋占星術の12星座。期間・四大元素（火地風水）・三区分・支配星つき。",
      "externalDocs": {
        "description": "12星座APIの解説",
        "url": "https://apis-cloud.net/docs/horoscope"
      }
    },
    {
      "name": "birthstones",
      "description": "月ごとの誕生石。全国宝石卸商協同組合が2021年に改訂した日本の誕生石リストに基づく。",
      "externalDocs": {
        "description": "誕生石APIの解説",
        "url": "https://apis-cloud.net/docs/birthstones"
      }
    },
    {
      "name": "yojijukugo",
      "description": "漢字四文字の熟語。出典が漢籍にあるものは source に典拠を記している。二字・五字の故事成語は /kotowaza にある。",
      "externalDocs": {
        "description": "四字熟語APIの解説",
        "url": "https://apis-cloud.net/docs/yojijukugo"
      }
    },
    {
      "name": "kotowaza",
      "description": "日本のことわざと、漢籍などに由来する故事成語。type でどちらかを区別できる。四字熟語は /yojijukugo にある。",
      "externalDocs": {
        "description": "ことわざ・故事成語APIの解説",
        "url": "https://apis-cloud.net/docs/kotowaza"
      }
    },
    {
      "name": "quotes",
      "description": "古今東西の名言。出典が明確でないものは source に「帰属には諸説あり」と記している。D1 に格納。",
      "externalDocs": {
        "description": "名言APIの解説",
        "url": "https://apis-cloud.net/docs/quotes"
      }
    },
    {
      "name": "shogi-pieces",
      "description": "将棋の駒8種と成駒6種。id は USI 表記（成駒は先頭に +）、count は片方の陣営の初期枚数。",
      "externalDocs": {
        "description": "将棋の駒APIの解説",
        "url": "https://apis-cloud.net/docs/shogi-pieces"
      }
    },
    {
      "name": "http-status",
      "description": "IANA に登録されている HTTP ステータスコード 62 種。日本語の説明つき。",
      "externalDocs": {
        "description": "HTTP ステータスコードAPIの解説",
        "url": "https://apis-cloud.net/docs/http-status"
      }
    },
    {
      "name": "colors",
      "description": "CSS Color Module Level 4 で定義された名前付き色 148 種。hex から rgb / hsl / 相対輝度を計算して返す。",
      "externalDocs": {
        "description": "CSS 名前付き色APIの解説",
        "url": "https://apis-cloud.net/docs/colors"
      }
    },
    {
      "name": "yotsuyafood",
      "description": "四谷（コモレ四谷の周辺）で行けるお店とおすすめの一品。price は税込のだいたいの支払い額（円）で、?sort=price で安い順に並べられる。",
      "externalDocs": {
        "description": "四谷のランチAPIの解説",
        "url": "https://apis-cloud.net/docs/yotsuyafood"
      }
    },
    {
      "name": "tools",
      "description": "ジェネレータ",
      "externalDocs": {
        "description": "ジェネレータ一覧",
        "url": "https://apis-cloud.net/docs"
      }
    },
    {
      "name": "lab",
      "description": "JSON以外の表現・ファイル・HTTP挙動を確認するAPI Zoo",
      "externalDocs": {
        "description": "API Zoo",
        "url": "https://apis-cloud.net/lab/docs"
      }
    }
  ],
  "components": {
    "securitySchemes": {
      "demoBearer": {
        "type": "http",
        "scheme": "bearer",
        "description": "デモtoken: demo-token"
      },
      "demoBasic": {
        "type": "http",
        "scheme": "basic",
        "description": "demo / password"
      },
      "demoApiKey": {
        "type": "apiKey",
        "in": "header",
        "name": "X-API-Key",
        "description": "デモkey: demo-key"
      },
      "demoCookie": {
        "type": "apiKey",
        "in": "cookie",
        "name": "session",
        "description": "デモ値: demo"
      }
    }
  },
  "paths": {
    "/": {
      "get": {
        "tags": [
          "index"
        ],
        "summary": "API 一覧",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/_health": {
      "get": {
        "tags": [
          "index"
        ],
        "summary": "ヘルスチェック",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/prefectures": {
      "get": {
        "tags": [
          "prefectures"
        ],
        "summary": "都道府県: メタ情報",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/prefectures/all": {
      "get": {
        "tags": [
          "prefectures"
        ],
        "summary": "都道府県: 全件",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/prefectures/random": {
      "get": {
        "tags": [
          "prefectures"
        ],
        "summary": "都道府県: ランダム",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "seed",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/prefectures/search": {
      "get": {
        "tags": [
          "prefectures"
        ],
        "summary": "都道府県: 検索",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/prefectures/fields": {
      "get": {
        "tags": [
          "prefectures"
        ],
        "summary": "都道府県: フィールド一覧",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/prefectures/get{Field}": {
      "get": {
        "tags": [
          "prefectures"
        ],
        "summary": "都道府県: フィールド単位の取得",
        "parameters": [
          {
            "name": "Field",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "フィールド名を先頭大文字にしたもの（例: getName）"
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "unique",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/prefectures/{code}": {
      "get": {
        "tags": [
          "prefectures"
        ],
        "summary": "都道府県: 1件取得",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "code / name / romaji / isoCode のいずれかで指定"
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/prefectures/{code}/{field}": {
      "get": {
        "tags": [
          "prefectures"
        ],
        "summary": "都道府県: 1件の特定フィールド",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "code / name / romaji / isoCode のいずれかで指定"
          },
          {
            "name": "field",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/eras": {
      "get": {
        "tags": [
          "eras"
        ],
        "summary": "元号: メタ情報",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/eras/all": {
      "get": {
        "tags": [
          "eras"
        ],
        "summary": "元号: 全件",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/eras/random": {
      "get": {
        "tags": [
          "eras"
        ],
        "summary": "元号: ランダム",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "seed",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/eras/search": {
      "get": {
        "tags": [
          "eras"
        ],
        "summary": "元号: 検索",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/eras/fields": {
      "get": {
        "tags": [
          "eras"
        ],
        "summary": "元号: フィールド一覧",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/eras/get{Field}": {
      "get": {
        "tags": [
          "eras"
        ],
        "summary": "元号: フィールド単位の取得",
        "parameters": [
          {
            "name": "Field",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "フィールド名を先頭大文字にしたもの（例: getName）"
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "unique",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/eras/{name}": {
      "get": {
        "tags": [
          "eras"
        ],
        "summary": "元号: 1件取得",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "name / kana / romaji のいずれかで指定"
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/eras/{name}/{field}": {
      "get": {
        "tags": [
          "eras"
        ],
        "summary": "元号: 1件の特定フィールド",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "name / kana / romaji のいずれかで指定"
          },
          {
            "name": "field",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/sekki": {
      "get": {
        "tags": [
          "sekki"
        ],
        "summary": "二十四節気: メタ情報",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/sekki/all": {
      "get": {
        "tags": [
          "sekki"
        ],
        "summary": "二十四節気: 全件",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/sekki/random": {
      "get": {
        "tags": [
          "sekki"
        ],
        "summary": "二十四節気: ランダム",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "seed",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/sekki/search": {
      "get": {
        "tags": [
          "sekki"
        ],
        "summary": "二十四節気: 検索",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/sekki/fields": {
      "get": {
        "tags": [
          "sekki"
        ],
        "summary": "二十四節気: フィールド一覧",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/sekki/get{Field}": {
      "get": {
        "tags": [
          "sekki"
        ],
        "summary": "二十四節気: フィールド単位の取得",
        "parameters": [
          {
            "name": "Field",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "フィールド名を先頭大文字にしたもの（例: getName）"
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "unique",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/sekki/{name}": {
      "get": {
        "tags": [
          "sekki"
        ],
        "summary": "二十四節気: 1件取得",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "name / order / kana / romaji のいずれかで指定"
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/sekki/{name}/{field}": {
      "get": {
        "tags": [
          "sekki"
        ],
        "summary": "二十四節気: 1件の特定フィールド",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "name / order / kana / romaji のいずれかで指定"
          },
          {
            "name": "field",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/eto": {
      "get": {
        "tags": [
          "eto"
        ],
        "summary": "十二支: メタ情報",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/eto/all": {
      "get": {
        "tags": [
          "eto"
        ],
        "summary": "十二支: 全件",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/eto/random": {
      "get": {
        "tags": [
          "eto"
        ],
        "summary": "十二支: ランダム",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "seed",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/eto/search": {
      "get": {
        "tags": [
          "eto"
        ],
        "summary": "十二支: 検索",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/eto/fields": {
      "get": {
        "tags": [
          "eto"
        ],
        "summary": "十二支: フィールド一覧",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/eto/get{Field}": {
      "get": {
        "tags": [
          "eto"
        ],
        "summary": "十二支: フィールド単位の取得",
        "parameters": [
          {
            "name": "Field",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "フィールド名を先頭大文字にしたもの（例: getName）"
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "unique",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/eto/{name}": {
      "get": {
        "tags": [
          "eto"
        ],
        "summary": "十二支: 1件取得",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "name / order / kana / romaji / english / animal のいずれかで指定"
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/eto/{name}/{field}": {
      "get": {
        "tags": [
          "eto"
        ],
        "summary": "十二支: 1件の特定フィールド",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "name / order / kana / romaji / english / animal のいずれかで指定"
          },
          {
            "name": "field",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/horoscope": {
      "get": {
        "tags": [
          "horoscope"
        ],
        "summary": "12星座: メタ情報",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/horoscope/all": {
      "get": {
        "tags": [
          "horoscope"
        ],
        "summary": "12星座: 全件",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/horoscope/random": {
      "get": {
        "tags": [
          "horoscope"
        ],
        "summary": "12星座: ランダム",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "seed",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/horoscope/search": {
      "get": {
        "tags": [
          "horoscope"
        ],
        "summary": "12星座: 検索",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/horoscope/fields": {
      "get": {
        "tags": [
          "horoscope"
        ],
        "summary": "12星座: フィールド一覧",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/horoscope/get{Field}": {
      "get": {
        "tags": [
          "horoscope"
        ],
        "summary": "12星座: フィールド単位の取得",
        "parameters": [
          {
            "name": "Field",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "フィールド名を先頭大文字にしたもの（例: getName）"
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "unique",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/horoscope/{name}": {
      "get": {
        "tags": [
          "horoscope"
        ],
        "summary": "12星座: 1件取得",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "name / order / kana / latin / english のいずれかで指定"
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/horoscope/{name}/{field}": {
      "get": {
        "tags": [
          "horoscope"
        ],
        "summary": "12星座: 1件の特定フィールド",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "name / order / kana / latin / english のいずれかで指定"
          },
          {
            "name": "field",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/birthstones": {
      "get": {
        "tags": [
          "birthstones"
        ],
        "summary": "誕生石: メタ情報",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/birthstones/all": {
      "get": {
        "tags": [
          "birthstones"
        ],
        "summary": "誕生石: 全件",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/birthstones/random": {
      "get": {
        "tags": [
          "birthstones"
        ],
        "summary": "誕生石: ランダム",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "seed",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/birthstones/search": {
      "get": {
        "tags": [
          "birthstones"
        ],
        "summary": "誕生石: 検索",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/birthstones/fields": {
      "get": {
        "tags": [
          "birthstones"
        ],
        "summary": "誕生石: フィールド一覧",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/birthstones/get{Field}": {
      "get": {
        "tags": [
          "birthstones"
        ],
        "summary": "誕生石: フィールド単位の取得",
        "parameters": [
          {
            "name": "Field",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "フィールド名を先頭大文字にしたもの（例: getName）"
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "unique",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/birthstones/{month}": {
      "get": {
        "tags": [
          "birthstones"
        ],
        "summary": "誕生石: 1件取得",
        "parameters": [
          {
            "name": "month",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "month のいずれかで指定"
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/birthstones/{month}/{field}": {
      "get": {
        "tags": [
          "birthstones"
        ],
        "summary": "誕生石: 1件の特定フィールド",
        "parameters": [
          {
            "name": "month",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "month のいずれかで指定"
          },
          {
            "name": "field",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/yojijukugo": {
      "get": {
        "tags": [
          "yojijukugo"
        ],
        "summary": "四字熟語: メタ情報",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/yojijukugo/all": {
      "get": {
        "tags": [
          "yojijukugo"
        ],
        "summary": "四字熟語: 全件",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/yojijukugo/random": {
      "get": {
        "tags": [
          "yojijukugo"
        ],
        "summary": "四字熟語: ランダム",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "seed",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/yojijukugo/search": {
      "get": {
        "tags": [
          "yojijukugo"
        ],
        "summary": "四字熟語: 検索",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/yojijukugo/fields": {
      "get": {
        "tags": [
          "yojijukugo"
        ],
        "summary": "四字熟語: フィールド一覧",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/yojijukugo/get{Field}": {
      "get": {
        "tags": [
          "yojijukugo"
        ],
        "summary": "四字熟語: フィールド単位の取得",
        "parameters": [
          {
            "name": "Field",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "フィールド名を先頭大文字にしたもの（例: getName）"
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "unique",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/yojijukugo/{word}": {
      "get": {
        "tags": [
          "yojijukugo"
        ],
        "summary": "四字熟語: 1件取得",
        "parameters": [
          {
            "name": "word",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "word / kana のいずれかで指定"
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/yojijukugo/{word}/{field}": {
      "get": {
        "tags": [
          "yojijukugo"
        ],
        "summary": "四字熟語: 1件の特定フィールド",
        "parameters": [
          {
            "name": "word",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "word / kana のいずれかで指定"
          },
          {
            "name": "field",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/kotowaza": {
      "get": {
        "tags": [
          "kotowaza"
        ],
        "summary": "ことわざ・故事成語: メタ情報",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/kotowaza/all": {
      "get": {
        "tags": [
          "kotowaza"
        ],
        "summary": "ことわざ・故事成語: 全件",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/kotowaza/random": {
      "get": {
        "tags": [
          "kotowaza"
        ],
        "summary": "ことわざ・故事成語: ランダム",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "seed",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/kotowaza/search": {
      "get": {
        "tags": [
          "kotowaza"
        ],
        "summary": "ことわざ・故事成語: 検索",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/kotowaza/fields": {
      "get": {
        "tags": [
          "kotowaza"
        ],
        "summary": "ことわざ・故事成語: フィールド一覧",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/kotowaza/get{Field}": {
      "get": {
        "tags": [
          "kotowaza"
        ],
        "summary": "ことわざ・故事成語: フィールド単位の取得",
        "parameters": [
          {
            "name": "Field",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "フィールド名を先頭大文字にしたもの（例: getName）"
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "unique",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/kotowaza/{text}": {
      "get": {
        "tags": [
          "kotowaza"
        ],
        "summary": "ことわざ・故事成語: 1件取得",
        "parameters": [
          {
            "name": "text",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "text / kana のいずれかで指定"
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/kotowaza/{text}/{field}": {
      "get": {
        "tags": [
          "kotowaza"
        ],
        "summary": "ことわざ・故事成語: 1件の特定フィールド",
        "parameters": [
          {
            "name": "text",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "text / kana のいずれかで指定"
          },
          {
            "name": "field",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/quotes": {
      "get": {
        "tags": [
          "quotes"
        ],
        "summary": "名言: メタ情報",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/quotes/all": {
      "get": {
        "tags": [
          "quotes"
        ],
        "summary": "名言: 全件",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/quotes/random": {
      "get": {
        "tags": [
          "quotes"
        ],
        "summary": "名言: ランダム",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "seed",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/quotes/search": {
      "get": {
        "tags": [
          "quotes"
        ],
        "summary": "名言: 検索",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/quotes/fields": {
      "get": {
        "tags": [
          "quotes"
        ],
        "summary": "名言: フィールド一覧",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/quotes/get{Field}": {
      "get": {
        "tags": [
          "quotes"
        ],
        "summary": "名言: フィールド単位の取得",
        "parameters": [
          {
            "name": "Field",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "フィールド名を先頭大文字にしたもの（例: getName）"
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "unique",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/quotes/{id}": {
      "get": {
        "tags": [
          "quotes"
        ],
        "summary": "名言: 1件取得",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "id のいずれかで指定"
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/quotes/{id}/{field}": {
      "get": {
        "tags": [
          "quotes"
        ],
        "summary": "名言: 1件の特定フィールド",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "id のいずれかで指定"
          },
          {
            "name": "field",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/shogi-pieces": {
      "get": {
        "tags": [
          "shogi-pieces"
        ],
        "summary": "将棋の駒: メタ情報",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/shogi-pieces/all": {
      "get": {
        "tags": [
          "shogi-pieces"
        ],
        "summary": "将棋の駒: 全件",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/shogi-pieces/random": {
      "get": {
        "tags": [
          "shogi-pieces"
        ],
        "summary": "将棋の駒: ランダム",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "seed",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/shogi-pieces/search": {
      "get": {
        "tags": [
          "shogi-pieces"
        ],
        "summary": "将棋の駒: 検索",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/shogi-pieces/fields": {
      "get": {
        "tags": [
          "shogi-pieces"
        ],
        "summary": "将棋の駒: フィールド一覧",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/shogi-pieces/get{Field}": {
      "get": {
        "tags": [
          "shogi-pieces"
        ],
        "summary": "将棋の駒: フィールド単位の取得",
        "parameters": [
          {
            "name": "Field",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "フィールド名を先頭大文字にしたもの（例: getName）"
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "unique",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/shogi-pieces/{id}": {
      "get": {
        "tags": [
          "shogi-pieces"
        ],
        "summary": "将棋の駒: 1件取得",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "id / name / kana / romaji / abbr / english のいずれかで指定"
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/shogi-pieces/{id}/{field}": {
      "get": {
        "tags": [
          "shogi-pieces"
        ],
        "summary": "将棋の駒: 1件の特定フィールド",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "id / name / kana / romaji / abbr / english のいずれかで指定"
          },
          {
            "name": "field",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/http-status": {
      "get": {
        "tags": [
          "http-status"
        ],
        "summary": "HTTP ステータスコード: メタ情報",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/http-status/all": {
      "get": {
        "tags": [
          "http-status"
        ],
        "summary": "HTTP ステータスコード: 全件",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/http-status/random": {
      "get": {
        "tags": [
          "http-status"
        ],
        "summary": "HTTP ステータスコード: ランダム",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "seed",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/http-status/search": {
      "get": {
        "tags": [
          "http-status"
        ],
        "summary": "HTTP ステータスコード: 検索",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/http-status/fields": {
      "get": {
        "tags": [
          "http-status"
        ],
        "summary": "HTTP ステータスコード: フィールド一覧",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/http-status/get{Field}": {
      "get": {
        "tags": [
          "http-status"
        ],
        "summary": "HTTP ステータスコード: フィールド単位の取得",
        "parameters": [
          {
            "name": "Field",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "フィールド名を先頭大文字にしたもの（例: getName）"
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "unique",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/http-status/{code}": {
      "get": {
        "tags": [
          "http-status"
        ],
        "summary": "HTTP ステータスコード: 1件取得",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "code / name のいずれかで指定"
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/http-status/{code}/{field}": {
      "get": {
        "tags": [
          "http-status"
        ],
        "summary": "HTTP ステータスコード: 1件の特定フィールド",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "code / name のいずれかで指定"
          },
          {
            "name": "field",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/colors": {
      "get": {
        "tags": [
          "colors"
        ],
        "summary": "CSS 名前付き色: メタ情報",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/colors/all": {
      "get": {
        "tags": [
          "colors"
        ],
        "summary": "CSS 名前付き色: 全件",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/colors/random": {
      "get": {
        "tags": [
          "colors"
        ],
        "summary": "CSS 名前付き色: ランダム",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "seed",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/colors/search": {
      "get": {
        "tags": [
          "colors"
        ],
        "summary": "CSS 名前付き色: 検索",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/colors/fields": {
      "get": {
        "tags": [
          "colors"
        ],
        "summary": "CSS 名前付き色: フィールド一覧",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/colors/get{Field}": {
      "get": {
        "tags": [
          "colors"
        ],
        "summary": "CSS 名前付き色: フィールド単位の取得",
        "parameters": [
          {
            "name": "Field",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "フィールド名を先頭大文字にしたもの（例: getName）"
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "unique",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/colors/{name}": {
      "get": {
        "tags": [
          "colors"
        ],
        "summary": "CSS 名前付き色: 1件取得",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "name / hex のいずれかで指定"
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/colors/{name}/{field}": {
      "get": {
        "tags": [
          "colors"
        ],
        "summary": "CSS 名前付き色: 1件の特定フィールド",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "name / hex のいずれかで指定"
          },
          {
            "name": "field",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/yotsuyafood": {
      "get": {
        "tags": [
          "yotsuyafood"
        ],
        "summary": "四谷のランチ: メタ情報",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/yotsuyafood/all": {
      "get": {
        "tags": [
          "yotsuyafood"
        ],
        "summary": "四谷のランチ: 全件",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/yotsuyafood/random": {
      "get": {
        "tags": [
          "yotsuyafood"
        ],
        "summary": "四谷のランチ: ランダム",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "seed",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/yotsuyafood/search": {
      "get": {
        "tags": [
          "yotsuyafood"
        ],
        "summary": "四谷のランチ: 検索",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/yotsuyafood/fields": {
      "get": {
        "tags": [
          "yotsuyafood"
        ],
        "summary": "四谷のランチ: フィールド一覧",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/yotsuyafood/get{Field}": {
      "get": {
        "tags": [
          "yotsuyafood"
        ],
        "summary": "四谷のランチ: フィールド単位の取得",
        "parameters": [
          {
            "name": "Field",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "フィールド名を先頭大文字にしたもの（例: getName）"
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "unique",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/yotsuyafood/{name}": {
      "get": {
        "tags": [
          "yotsuyafood"
        ],
        "summary": "四谷のランチ: 1件取得",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "name のいずれかで指定"
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/yotsuyafood/{name}/{field}": {
      "get": {
        "tags": [
          "yotsuyafood"
        ],
        "summary": "四谷のランチ: 1件の特定フィールド",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "name のいずれかで指定"
          },
          {
            "name": "field",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/tools": {
      "get": {
        "tags": [
          "tools"
        ],
        "summary": "ジェネレータ一覧",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/tools/dice": {
      "get": {
        "tags": [
          "tools"
        ],
        "summary": "サイコロ: 説明",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/tools/dice/random": {
      "get": {
        "tags": [
          "tools"
        ],
        "summary": "サイコロ: 生成",
        "parameters": [
          {
            "name": "d",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "面の数（2〜1000、既定 6）"
          },
          {
            "name": "n",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "振る個数（1〜100、既定 1）"
          },
          {
            "name": "notation",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "2d6 / 3d10+2 のような記法。指定すると d と n より優先される"
          },
          {
            "name": "seed",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "同じ値なら同じ出目になる"
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/tools/uuid": {
      "get": {
        "tags": [
          "tools"
        ],
        "summary": "UUID: 説明",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/tools/uuid/random": {
      "get": {
        "tags": [
          "tools"
        ],
        "summary": "UUID: 生成",
        "parameters": [
          {
            "name": "v",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "バージョン 4 か 7（既定 4）"
          },
          {
            "name": "n",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "生成する個数（1〜100、既定 1）"
          },
          {
            "name": "seed",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "同じ値なら同じ UUID になる（テスト用途向け）"
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/tools/password": {
      "get": {
        "tags": [
          "tools"
        ],
        "summary": "パスワード: 説明",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/tools/password/random": {
      "get": {
        "tags": [
          "tools"
        ],
        "summary": "パスワード: 生成",
        "parameters": [
          {
            "name": "length",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "長さ（4〜128、既定 16）"
          },
          {
            "name": "n",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "生成する個数（1〜50、既定 1）"
          },
          {
            "name": "symbols",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "記号を含める（既定 1）"
          },
          {
            "name": "digits",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "数字を含める（既定 1）"
          },
          {
            "name": "upper",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "英大文字を含める（既定 1）"
          },
          {
            "name": "lower",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "英小文字を含める（既定 1）"
          },
          {
            "name": "ambiguous",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "1 で紛らわしい文字 (Il1O0) も使う（既定 0）"
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/tools/lorem": {
      "get": {
        "tags": [
          "tools"
        ],
        "summary": "ダミーテキスト: 説明",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/tools/lorem/random": {
      "get": {
        "tags": [
          "tools"
        ],
        "summary": "ダミーテキスト: 生成",
        "parameters": [
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ja か en（既定 ja）"
          },
          {
            "name": "unit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "word / sentence / paragraph（既定 sentence）"
          },
          {
            "name": "count",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "生成する数（1〜100、既定 3）"
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/tools/latency": {
      "get": {
        "tags": [
          "tools"
        ],
        "summary": "遅延: 説明",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/tools/latency/random": {
      "get": {
        "tags": [
          "tools"
        ],
        "summary": "遅延: 生成",
        "parameters": [
          {
            "name": "s",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "最小待ち時間を秒で指定するショートカット（0〜30）。?min= より優先される"
          },
          {
            "name": "min",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "最小待ち時間ミリ秒（0〜30000、既定 0）"
          },
          {
            "name": "max",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "最大待ち時間ミリ秒（0〜30000、既定は min+1000）"
          },
          {
            "name": "seed",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "同じ値なら同じ待ち時間になる"
          }
        ],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/lab": {
      "get": {
        "tags": [
          "lab"
        ],
        "summary": "API Zoo 一覧",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/lab/catalog": {
      "get": {
        "tags": [
          "lab"
        ],
        "summary": "API Zoo の機械可読カタログ",
        "parameters": [],
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "パラメータ不正",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "見つからない",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/lab/docs": {
      "get": {
        "tags": [
          "lab"
        ],
        "summary": "API Zoo のHTMLドキュメント",
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "text/html": {}
            }
          }
        }
      }
    },
    "/lab/response/json-object": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_json_object_get",
        "summary": "JSONオブジェクト",
        "description": "標準的なJSONオブジェクト。",
        "responses": {
          "200": {
            "description": "標準的なJSONオブジェクト。",
            "content": {
              "application/json": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_json_object_head",
        "summary": "JSONオブジェクト（HEAD）",
        "description": "標準的なJSONオブジェクト。",
        "responses": {
          "200": {
            "description": "標準的なJSONオブジェクト。",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/lab/response/json-array": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_json_array_get",
        "summary": "JSON配列",
        "description": "トップレベルが配列のJSON。",
        "responses": {
          "200": {
            "description": "トップレベルが配列のJSON。",
            "content": {
              "application/json": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_json_array_head",
        "summary": "JSON配列（HEAD）",
        "description": "トップレベルが配列のJSON。",
        "responses": {
          "200": {
            "description": "トップレベルが配列のJSON。",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/lab/response/geojson": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_geojson_get",
        "summary": "GeoJSON",
        "description": "FeatureCollection形式の地理データ。",
        "responses": {
          "200": {
            "description": "FeatureCollection形式の地理データ。",
            "content": {
              "application/geo+json": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_geojson_head",
        "summary": "GeoJSON（HEAD）",
        "description": "FeatureCollection形式の地理データ。",
        "responses": {
          "200": {
            "description": "FeatureCollection形式の地理データ。",
            "content": {
              "application/geo+json": {}
            }
          }
        }
      }
    },
    "/lab/response/problem": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_problem_details_get",
        "summary": "Problem Details",
        "description": "RFC 9457形式のエラー本文。",
        "responses": {
          "400": {
            "description": "RFC 9457形式のエラー本文。",
            "content": {
              "application/problem+json": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_problem_details_head",
        "summary": "Problem Details（HEAD）",
        "description": "RFC 9457形式のエラー本文。",
        "responses": {
          "400": {
            "description": "RFC 9457形式のエラー本文。",
            "content": {
              "application/problem+json": {}
            }
          }
        }
      }
    },
    "/lab/response/text": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_plain_text_get",
        "summary": "プレーンテキスト",
        "description": "UTF-8のtext/plain。",
        "responses": {
          "200": {
            "description": "UTF-8のtext/plain。",
            "content": {
              "text/plain": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_plain_text_head",
        "summary": "プレーンテキスト（HEAD）",
        "description": "UTF-8のtext/plain。",
        "responses": {
          "200": {
            "description": "UTF-8のtext/plain。",
            "content": {
              "text/plain": {}
            }
          }
        }
      }
    },
    "/lab/response/html": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_html_get",
        "summary": "HTML",
        "description": "ブラウザでそのまま表示できるHTML。",
        "responses": {
          "200": {
            "description": "ブラウザでそのまま表示できるHTML。",
            "content": {
              "text/html": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_html_head",
        "summary": "HTML（HEAD）",
        "description": "ブラウザでそのまま表示できるHTML。",
        "responses": {
          "200": {
            "description": "ブラウザでそのまま表示できるHTML。",
            "content": {
              "text/html": {}
            }
          }
        }
      }
    },
    "/lab/response/markdown": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_markdown_get",
        "summary": "Markdown",
        "description": "text/markdown形式の文書。",
        "responses": {
          "200": {
            "description": "text/markdown形式の文書。",
            "content": {
              "text/markdown": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_markdown_head",
        "summary": "Markdown（HEAD）",
        "description": "text/markdown形式の文書。",
        "responses": {
          "200": {
            "description": "text/markdown形式の文書。",
            "content": {
              "text/markdown": {}
            }
          }
        }
      }
    },
    "/lab/response/csv": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_csv_get",
        "summary": "CSV",
        "description": "BOM付きUTF-8のカンマ区切りデータ。",
        "responses": {
          "200": {
            "description": "BOM付きUTF-8のカンマ区切りデータ。",
            "content": {
              "text/csv": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_csv_head",
        "summary": "CSV（HEAD）",
        "description": "BOM付きUTF-8のカンマ区切りデータ。",
        "responses": {
          "200": {
            "description": "BOM付きUTF-8のカンマ区切りデータ。",
            "content": {
              "text/csv": {}
            }
          }
        }
      }
    },
    "/lab/response/tsv": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_tsv_get",
        "summary": "TSV",
        "description": "タブ区切りデータ。",
        "responses": {
          "200": {
            "description": "タブ区切りデータ。",
            "content": {
              "text/tab-separated-values": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_tsv_head",
        "summary": "TSV（HEAD）",
        "description": "タブ区切りデータ。",
        "responses": {
          "200": {
            "description": "タブ区切りデータ。",
            "content": {
              "text/tab-separated-values": {}
            }
          }
        }
      }
    },
    "/lab/response/xml": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_xml_get",
        "summary": "XML",
        "description": "application/xml形式の文書。",
        "responses": {
          "200": {
            "description": "application/xml形式の文書。",
            "content": {
              "application/xml": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_xml_head",
        "summary": "XML（HEAD）",
        "description": "application/xml形式の文書。",
        "responses": {
          "200": {
            "description": "application/xml形式の文書。",
            "content": {
              "application/xml": {}
            }
          }
        }
      }
    },
    "/lab/response/yaml": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_yaml_get",
        "summary": "YAML",
        "description": "application/yaml形式の文書。",
        "responses": {
          "200": {
            "description": "application/yaml形式の文書。",
            "content": {
              "application/yaml": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_yaml_head",
        "summary": "YAML（HEAD）",
        "description": "application/yaml形式の文書。",
        "responses": {
          "200": {
            "description": "application/yaml形式の文書。",
            "content": {
              "application/yaml": {}
            }
          }
        }
      }
    },
    "/lab/response/calendar": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_icalendar_get",
        "summary": "iCalendar",
        "description": "カレンダーへ取り込めるICS。",
        "responses": {
          "200": {
            "description": "カレンダーへ取り込めるICS。",
            "content": {
              "text/calendar": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_icalendar_head",
        "summary": "iCalendar（HEAD）",
        "description": "カレンダーへ取り込めるICS。",
        "responses": {
          "200": {
            "description": "カレンダーへ取り込めるICS。",
            "content": {
              "text/calendar": {}
            }
          }
        }
      }
    },
    "/lab/response/contact": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_vcard_get",
        "summary": "vCard",
        "description": "連絡先へ取り込めるVCF。",
        "responses": {
          "200": {
            "description": "連絡先へ取り込めるVCF。",
            "content": {
              "text/vcard": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_vcard_head",
        "summary": "vCard（HEAD）",
        "description": "連絡先へ取り込めるVCF。",
        "responses": {
          "200": {
            "description": "連絡先へ取り込めるVCF。",
            "content": {
              "text/vcard": {}
            }
          }
        }
      }
    },
    "/lab/media/image.png": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_png_get",
        "summary": "PNG画像",
        "description": "最小のPNGバイナリ。",
        "responses": {
          "200": {
            "description": "最小のPNGバイナリ。",
            "content": {
              "image/png": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_png_head",
        "summary": "PNG画像（HEAD）",
        "description": "最小のPNGバイナリ。",
        "responses": {
          "200": {
            "description": "最小のPNGバイナリ。",
            "content": {
              "image/png": {}
            }
          }
        }
      }
    },
    "/lab/media/badge.svg": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_svg_get",
        "summary": "SVG画像",
        "description": "ベクター形式の動的バッジ。",
        "responses": {
          "200": {
            "description": "ベクター形式の動的バッジ。",
            "content": {
              "image/svg+xml": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_svg_head",
        "summary": "SVG画像（HEAD）",
        "description": "ベクター形式の動的バッジ。",
        "responses": {
          "200": {
            "description": "ベクター形式の動的バッジ。",
            "content": {
              "image/svg+xml": {}
            }
          }
        }
      }
    },
    "/lab/media/tone.wav": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_wav_get",
        "summary": "WAV音声",
        "description": "指定周波数のPCMサイン波。",
        "responses": {
          "200": {
            "description": "指定周波数のPCMサイン波。",
            "content": {
              "audio/wav": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_wav_head",
        "summary": "WAV音声（HEAD）",
        "description": "指定周波数のPCMサイン波。",
        "responses": {
          "200": {
            "description": "指定周波数のPCMサイン波。",
            "content": {
              "audio/wav": {}
            }
          }
        }
      }
    },
    "/lab/file/sample.pdf": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_pdf_get",
        "summary": "PDF",
        "description": "動的に構築した1ページPDF。",
        "responses": {
          "200": {
            "description": "動的に構築した1ページPDF。",
            "content": {
              "application/pdf": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_pdf_head",
        "summary": "PDF（HEAD）",
        "description": "動的に構築した1ページPDF。",
        "responses": {
          "200": {
            "description": "動的に構築した1ページPDF。",
            "content": {
              "application/pdf": {}
            }
          }
        }
      }
    },
    "/lab/file/sample.zip": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_zip_get",
        "summary": "ZIP",
        "description": "hello.txtを含む無圧縮ZIP。",
        "responses": {
          "200": {
            "description": "hello.txtを含む無圧縮ZIP。",
            "content": {
              "application/zip": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_zip_head",
        "summary": "ZIP（HEAD）",
        "description": "hello.txtを含む無圧縮ZIP。",
        "responses": {
          "200": {
            "description": "hello.txtを含む無圧縮ZIP。",
            "content": {
              "application/zip": {}
            }
          }
        }
      }
    },
    "/lab/file/bytes.bin": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_octet_stream_get",
        "summary": "任意バイナリ",
        "description": "0x00〜0xFFを返すoctet-stream。",
        "responses": {
          "200": {
            "description": "0x00〜0xFFを返すoctet-stream。",
            "content": {
              "application/octet-stream": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_octet_stream_head",
        "summary": "任意バイナリ（HEAD）",
        "description": "0x00〜0xFFを返すoctet-stream。",
        "responses": {
          "200": {
            "description": "0x00〜0xFFを返すoctet-stream。",
            "content": {
              "application/octet-stream": {}
            }
          }
        }
      }
    },
    "/lab/file/inline": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_inline_file_get",
        "summary": "インラインファイル",
        "description": "Content-Disposition: inlineのテキストファイル。",
        "responses": {
          "200": {
            "description": "Content-Disposition: inlineのテキストファイル。",
            "content": {
              "text/plain": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_inline_file_head",
        "summary": "インラインファイル（HEAD）",
        "description": "Content-Disposition: inlineのテキストファイル。",
        "responses": {
          "200": {
            "description": "Content-Disposition: inlineのテキストファイル。",
            "content": {
              "text/plain": {}
            }
          }
        }
      }
    },
    "/lab/file/attachment": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_attachment_file_get",
        "summary": "添付ファイル",
        "description": "Content-Disposition: attachmentのダウンロード。",
        "responses": {
          "200": {
            "description": "Content-Disposition: attachmentのダウンロード。",
            "content": {
              "text/plain": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_attachment_file_head",
        "summary": "添付ファイル（HEAD）",
        "description": "Content-Disposition: attachmentのダウンロード。",
        "responses": {
          "200": {
            "description": "Content-Disposition: attachmentのダウンロード。",
            "content": {
              "text/plain": {}
            }
          }
        }
      }
    },
    "/lab/http/no-content": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_no_content_get",
        "summary": "本文なし",
        "description": "204 No Content。",
        "responses": {
          "204": {
            "description": "204 No Content。"
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_no_content_head",
        "summary": "本文なし（HEAD）",
        "description": "204 No Content。",
        "responses": {
          "204": {
            "description": "204 No Content。"
          }
        }
      }
    },
    "/lab/http/redirect": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_redirect_get",
        "summary": "リダイレクト",
        "description": "JSONレスポンスへ302で移動。",
        "responses": {
          "302": {
            "description": "JSONレスポンスへ302で移動。"
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_redirect_head",
        "summary": "リダイレクト（HEAD）",
        "description": "JSONレスポンスへ302で移動。",
        "responses": {
          "302": {
            "description": "JSONレスポンスへ302で移動。"
          }
        }
      }
    },
    "/lab/http/cache": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_etag_get",
        "summary": "条件付きGET",
        "description": "強いETagとIf-None-Matchによる304。",
        "responses": {
          "200": {
            "description": "強いETagとIf-None-Matchによる304。",
            "content": {
              "application/json": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_etag_head",
        "summary": "条件付きGET（HEAD）",
        "description": "強いETagとIf-None-Matchによる304。",
        "responses": {
          "200": {
            "description": "強いETagとIf-None-Matchによる304。",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/lab/http/negotiate": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_content_negotiation_get",
        "summary": "コンテンツネゴシエーション",
        "description": "Acceptに応じてJSON・CSV・XMLを返す。",
        "responses": {
          "200": {
            "description": "Acceptに応じてJSON・CSV・XMLを返す。",
            "content": {
              "application/json": {},
              "text/csv": {},
              "application/xml": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_content_negotiation_head",
        "summary": "コンテンツネゴシエーション（HEAD）",
        "description": "Acceptに応じてJSON・CSV・XMLを返す。",
        "responses": {
          "200": {
            "description": "Acceptに応じてJSON・CSV・XMLを返す。",
            "content": {
              "application/json": {},
              "text/csv": {},
              "application/xml": {}
            }
          }
        }
      }
    },
    "/lab/request/json": {
      "post": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_request_json_post",
        "summary": "JSON入力",
        "description": "POSTされたJSONを型情報付きで返す。",
        "responses": {
          "200": {
            "description": "POSTされたJSONを型情報付きで返す。",
            "content": {
              "application/json": {}
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {}
          }
        }
      }
    },
    "/lab/request/form": {
      "post": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_request_form_post",
        "summary": "フォーム入力",
        "description": "application/x-www-form-urlencodedと重複キーを解析する。",
        "responses": {
          "200": {
            "description": "application/x-www-form-urlencodedと重複キーを解析する。",
            "content": {
              "application/json": {}
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {}
          }
        }
      }
    },
    "/lab/request/multipart": {
      "post": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_request_multipart_post",
        "summary": "Multipart入力",
        "description": "フィールドと複数ファイルのメタデータを返す。本文上限は1 MiB。",
        "responses": {
          "200": {
            "description": "フィールドと複数ファイルのメタデータを返す。本文上限は1 MiB。",
            "content": {
              "application/json": {}
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {}
          }
        }
      }
    },
    "/lab/request/text": {
      "post": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_request_text_post",
        "summary": "テキスト入力",
        "description": "text/plain本文をエコーする。",
        "responses": {
          "200": {
            "description": "text/plain本文をエコーする。",
            "content": {
              "application/json": {}
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "text/plain": {}
          }
        }
      }
    },
    "/lab/request/binary": {
      "post": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_request_binary_post",
        "summary": "バイナリ入力",
        "description": "application/octet-streamのサイズとSHA-256を返す。",
        "responses": {
          "200": {
            "description": "application/octet-streamのサイズとSHA-256を返す。",
            "content": {
              "application/json": {}
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/octet-stream": {}
          }
        }
      }
    },
    "/lab/request/resource/{id}": {
      "put": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_put_resource_put",
        "summary": "PUT",
        "description": "指定IDのリソースを置き換えた体で201を返す。",
        "responses": {
          "201": {
            "description": "指定IDのリソースを置き換えた体で201を返す。",
            "content": {
              "application/json": {}
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {}
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "patch": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_patch_resource_patch",
        "summary": "PATCH",
        "description": "JSON Merge Patchを受け取る。",
        "responses": {
          "200": {
            "description": "JSON Merge Patchを受け取る。",
            "content": {
              "application/json": {}
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/merge-patch+json": {}
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "delete": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_delete_resource_delete",
        "summary": "DELETE",
        "description": "削除成功を204で返す。",
        "responses": {
          "204": {
            "description": "削除成功を204で返す。"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/lab/request/options": {
      "options": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_options_options",
        "summary": "OPTIONS",
        "description": "CORS preflightとしてAccess-Control-Allow-Methods等を返す。",
        "responses": {
          "204": {
            "description": "CORS preflightとしてAccess-Control-Allow-Methods等を返す。"
          }
        }
      }
    },
    "/lab/http/range": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_range_get",
        "summary": "Rangeリクエスト",
        "description": "単一bytes Rangeに206、範囲外に416を返す。",
        "responses": {
          "200": {
            "description": "単一bytes Rangeに206、範囲外に416を返す。",
            "content": {
              "application/octet-stream": {}
            }
          },
          "206": {
            "description": "単一bytes Rangeに206、範囲外に416を返す。",
            "content": {
              "application/octet-stream": {}
            }
          },
          "416": {
            "description": "単一bytes Rangeに206、範囲外に416を返す。",
            "content": {
              "application/octet-stream": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_range_head",
        "summary": "Rangeリクエスト（HEAD）",
        "description": "単一bytes Rangeに206、範囲外に416を返す。",
        "responses": {
          "200": {
            "description": "単一bytes Rangeに206、範囲外に416を返す。",
            "content": {
              "application/octet-stream": {}
            }
          },
          "206": {
            "description": "単一bytes Rangeに206、範囲外に416を返す。",
            "content": {
              "application/octet-stream": {}
            }
          },
          "416": {
            "description": "単一bytes Rangeに206、範囲外に416を返す。",
            "content": {
              "application/octet-stream": {}
            }
          }
        }
      }
    },
    "/lab/http/cookies": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_cookies_get",
        "summary": "複数Cookie",
        "description": "複数のSet-Cookie属性を返す。",
        "responses": {
          "200": {
            "description": "複数のSet-Cookie属性を返す。",
            "content": {
              "application/json": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_cookies_head",
        "summary": "複数Cookie（HEAD）",
        "description": "複数のSet-Cookie属性を返す。",
        "responses": {
          "200": {
            "description": "複数のSet-Cookie属性を返す。",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/lab/http/cursor": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_cursor_pagination_get",
        "summary": "Cursorページング",
        "description": "opaque cursorとLinkヘッダーで次ページを示す。",
        "responses": {
          "200": {
            "description": "opaque cursorとLinkヘッダーで次ページを示す。",
            "content": {
              "application/json": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_cursor_pagination_head",
        "summary": "Cursorページング（HEAD）",
        "description": "opaque cursorとLinkヘッダーで次ページを示す。",
        "responses": {
          "200": {
            "description": "opaque cursorとLinkヘッダーで次ページを示す。",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/lab/http/batch": {
      "post": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_batch_post",
        "summary": "Batch / Multi-Status",
        "description": "複数操作をまとめ、個別結果を207で返す。",
        "responses": {
          "207": {
            "description": "複数操作をまとめ、個別結果を207で返す。",
            "content": {
              "application/json": {}
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {}
          }
        }
      }
    },
    "/lab/http/if-match": {
      "put": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_if_match_put",
        "summary": "If-Match",
        "description": "\"v1\"なら更新、違えば412を返す固定例。",
        "responses": {
          "200": {
            "description": "\"v1\"なら更新、違えば412を返す固定例。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          },
          "412": {
            "description": "\"v1\"なら更新、違えば412を返す固定例。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          },
          "428": {
            "description": "\"v1\"なら更新、違えば412を返す固定例。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {}
          }
        }
      }
    },
    "/lab/stream/ndjson": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_ndjson_stream_get",
        "summary": "NDJSONストリーム",
        "description": "1行1JSONをReadableStreamで順次返す。",
        "responses": {
          "200": {
            "description": "1行1JSONをReadableStreamで順次返す。",
            "content": {
              "application/x-ndjson": {}
            }
          }
        }
      }
    },
    "/lab/stream/sse": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_sse_stream_get",
        "summary": "Server-Sent Events",
        "description": "id・event・retry・dataを含むSSEイベント列。",
        "responses": {
          "200": {
            "description": "id・event・retry・dataを含むSSEイベント列。",
            "content": {
              "text/event-stream": {}
            }
          }
        }
      }
    },
    "/lab/stream/chunks": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_chunked_text_get",
        "summary": "Chunkedテキスト",
        "description": "Content-Lengthなしで複数チャンクを返す。",
        "responses": {
          "200": {
            "description": "Content-Lengthなしで複数チャンクを返す。",
            "content": {
              "text/plain": {}
            }
          }
        }
      }
    },
    "/lab/stream/multipart": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_multipart_stream_get",
        "summary": "Multipartストリーム",
        "description": "JSONとテキストをmultipart/mixedで順次返す。",
        "responses": {
          "200": {
            "description": "JSONとテキストをmultipart/mixedで順次返す。",
            "content": {
              "multipart/mixed": {}
            }
          }
        }
      }
    },
    "/lab/realtime/websocket/{room}": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_websocket_get",
        "summary": "WebSocketルーム",
        "description": "Durable ObjectsハイバネーションAPIによるルーム内broadcast。",
        "responses": {
          "101": {
            "description": "Durable ObjectsハイバネーションAPIによるルーム内broadcast。"
          },
          "426": {
            "description": "Durable ObjectsハイバネーションAPIによるルーム内broadcast。"
          }
        },
        "parameters": [
          {
            "name": "room",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/lab/realtime/rooms/{room}": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_websocket_stats_get",
        "summary": "WebSocketルーム統計",
        "description": "ルームの接続数と累積メッセージ数をRPCで取得する。",
        "responses": {
          "200": {
            "description": "ルームの接続数と累積メッセージ数をRPCで取得する。",
            "content": {
              "application/json": {}
            }
          }
        },
        "parameters": [
          {
            "name": "room",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_websocket_stats_head",
        "summary": "WebSocketルーム統計（HEAD）",
        "description": "ルームの接続数と累積メッセージ数をRPCで取得する。",
        "responses": {
          "200": {
            "description": "ルームの接続数と累積メッセージ数をRPCで取得する。",
            "content": {
              "application/json": {}
            }
          }
        },
        "parameters": [
          {
            "name": "room",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/lab/async/jobs": {
      "post": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_job_create_post",
        "summary": "非同期ジョブ作成",
        "description": "202 + Locationでジョブを作成し、Durable Object Alarmで完了させる。",
        "responses": {
          "202": {
            "description": "202 + Locationでジョブを作成し、Durable Object Alarmで完了させる。",
            "content": {
              "application/json": {}
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {}
          }
        }
      }
    },
    "/lab/async/jobs/{id}": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_job_status_get",
        "summary": "非同期ジョブ状態",
        "description": "Locationで示されたジョブの状態と結果を取得する。",
        "responses": {
          "200": {
            "description": "Locationで示されたジョブの状態と結果を取得する。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          },
          "404": {
            "description": "Locationで示されたジョブの状態と結果を取得する。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_job_status_head",
        "summary": "非同期ジョブ状態（HEAD）",
        "description": "Locationで示されたジョブの状態と結果を取得する。",
        "responses": {
          "200": {
            "description": "Locationで示されたジョブの状態と結果を取得する。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          },
          "404": {
            "description": "Locationで示されたジョブの状態と結果を取得する。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "delete": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_job_cancel_delete",
        "summary": "非同期ジョブ取消",
        "description": "進行中ジョブをキャンセルする。",
        "responses": {
          "200": {
            "description": "進行中ジョブをキャンセルする。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          },
          "404": {
            "description": "進行中ジョブをキャンセルする。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/lab/state/idempotency": {
      "post": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_idempotency_post",
        "summary": "Idempotency-Key",
        "description": "同じキーと本文なら同じ結果、本文が違えば409を返す。",
        "responses": {
          "200": {
            "description": "同じキーと本文なら同じ結果、本文が違えば409を返す。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          },
          "201": {
            "description": "同じキーと本文なら同じ結果、本文が違えば409を返す。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          },
          "409": {
            "description": "同じキーと本文なら同じ結果、本文が違えば409を返す。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          },
          "428": {
            "description": "同じキーと本文なら同じ結果、本文が違えば409を返す。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {}
          }
        }
      }
    },
    "/lab/state/rate-limit": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_rate_limit_get",
        "summary": "Rate Limit",
        "description": "クライアント単位で3回/分、超過時429を返す。",
        "responses": {
          "200": {
            "description": "クライアント単位で3回/分、超過時429を返す。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          },
          "429": {
            "description": "クライアント単位で3回/分、超過時429を返す。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          }
        }
      }
    },
    "/lab/state/resource/{id}": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_optimistic_get_get",
        "summary": "楽観ロック取得",
        "description": "現在値とversion ETagを返す。",
        "responses": {
          "200": {
            "description": "現在値とversion ETagを返す。",
            "content": {
              "application/json": {}
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_optimistic_get_head",
        "summary": "楽観ロック取得（HEAD）",
        "description": "現在値とversion ETagを返す。",
        "responses": {
          "200": {
            "description": "現在値とversion ETagを返す。",
            "content": {
              "application/json": {}
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "put": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_optimistic_put_put",
        "summary": "楽観ロック更新",
        "description": "If-Matchが現在versionなら更新し、競合時412を返す。",
        "responses": {
          "200": {
            "description": "If-Matchが現在versionなら更新し、競合時412を返す。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          },
          "412": {
            "description": "If-Matchが現在versionなら更新し、競合時412を返す。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          },
          "428": {
            "description": "If-Matchが現在versionなら更新し、競合時412を返す。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {}
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/lab/auth/bearer": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_auth_bearer_get",
        "summary": "Bearer認証",
        "description": "デモ用認証情報を使う認証パターン。実サービス用の秘密ではない。",
        "responses": {
          "200": {
            "description": "デモ用認証情報を使う認証パターン。実サービス用の秘密ではない。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          },
          "401": {
            "description": "デモ用認証情報を使う認証パターン。実サービス用の秘密ではない。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          }
        },
        "security": [
          {
            "demoBearer": []
          }
        ]
      }
    },
    "/lab/auth/api-key": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_auth_api_key_get",
        "summary": "API Key認証",
        "description": "デモ用認証情報を使う認証パターン。実サービス用の秘密ではない。",
        "responses": {
          "200": {
            "description": "デモ用認証情報を使う認証パターン。実サービス用の秘密ではない。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          },
          "401": {
            "description": "デモ用認証情報を使う認証パターン。実サービス用の秘密ではない。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          }
        },
        "security": [
          {
            "demoApiKey": []
          }
        ]
      }
    },
    "/lab/auth/basic": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_auth_basic_get",
        "summary": "Basic認証",
        "description": "デモ用認証情報を使う認証パターン。実サービス用の秘密ではない。",
        "responses": {
          "200": {
            "description": "デモ用認証情報を使う認証パターン。実サービス用の秘密ではない。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          },
          "401": {
            "description": "デモ用認証情報を使う認証パターン。実サービス用の秘密ではない。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          }
        },
        "security": [
          {
            "demoBasic": []
          }
        ]
      }
    },
    "/lab/auth/cookie": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_auth_cookie_get",
        "summary": "Cookieセッション",
        "description": "デモ用認証情報を使う認証パターン。実サービス用の秘密ではない。",
        "responses": {
          "200": {
            "description": "デモ用認証情報を使う認証パターン。実サービス用の秘密ではない。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          },
          "401": {
            "description": "デモ用認証情報を使う認証パターン。実サービス用の秘密ではない。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          }
        },
        "security": [
          {
            "demoCookie": []
          }
        ]
      }
    },
    "/lab/auth/hmac/sign": {
      "post": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_hmac_sign_post",
        "summary": "HMAC署名生成",
        "description": "デモ用共有鍵で本文のSHA-256 HMACを生成する。",
        "responses": {
          "200": {
            "description": "デモ用共有鍵で本文のSHA-256 HMACを生成する。",
            "content": {
              "application/json": {}
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/octet-stream": {},
            "text/plain": {},
            "application/json": {}
          }
        }
      }
    },
    "/lab/auth/hmac/verify": {
      "post": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_hmac_verify_post",
        "summary": "HMAC署名検証",
        "description": "x-signatureのHMAC-SHA256を定時間検証する。",
        "responses": {
          "200": {
            "description": "x-signatureのHMAC-SHA256を定時間検証する。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          },
          "401": {
            "description": "x-signatureのHMAC-SHA256を定時間検証する。",
            "content": {
              "application/json": {},
              "application/problem+json": {}
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/octet-stream": {},
            "text/plain": {},
            "application/json": {}
          }
        }
      }
    },
    "/lab/webhook/receiver": {
      "post": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_webhook_receiver_post",
        "summary": "Webhook receiver",
        "description": "外部送信せず、安全にイベント受信・署名有無を確認する。",
        "responses": {
          "202": {
            "description": "外部送信せず、安全にイベント受信・署名有無を確認する。",
            "content": {
              "application/json": {}
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {}
          }
        }
      }
    },
    "/lab/protocol/json-rpc": {
      "post": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_json_rpc_post",
        "summary": "JSON-RPC 2.0",
        "description": "echo・sum・subtractをJSON-RPC 2.0で呼び出す。",
        "responses": {
          "200": {
            "description": "echo・sum・subtractをJSON-RPC 2.0で呼び出す。",
            "content": {
              "application/json": {}
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {}
          }
        }
      }
    },
    "/lab/protocol/graphql": {
      "post": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_graphql_post",
        "summary": "GraphQL",
        "description": "hello・time・echoフィールドを扱う小さなGraphQL endpoint。",
        "responses": {
          "200": {
            "description": "hello・time・echoフィールドを扱う小さなGraphQL endpoint。",
            "content": {
              "application/graphql-response+json": {}
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {}
          }
        }
      }
    },
    "/lab/protocol/soap": {
      "post": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_soap_post",
        "summary": "SOAP",
        "description": "SOAP 1.2のAddリクエストをXML envelopeで返す。",
        "responses": {
          "200": {
            "description": "SOAP 1.2のAddリクエストをXML envelopeで返す。",
            "content": {
              "application/soap+xml": {}
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/soap+xml": {}
          }
        }
      }
    },
    "/lab/protocol/json-api": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_json_api_get",
        "summary": "JSON:API",
        "description": "application/vnd.api+json形式のresource document。",
        "responses": {
          "200": {
            "description": "application/vnd.api+json形式のresource document。",
            "content": {
              "application/vnd.api+json": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_json_api_head",
        "summary": "JSON:API（HEAD）",
        "description": "application/vnd.api+json形式のresource document。",
        "responses": {
          "200": {
            "description": "application/vnd.api+json形式のresource document。",
            "content": {
              "application/vnd.api+json": {}
            }
          }
        }
      }
    },
    "/lab/protocol/hal": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_hal_get",
        "summary": "HAL",
        "description": "_linksと_embeddedを持つHAL JSON。",
        "responses": {
          "200": {
            "description": "_linksと_embeddedを持つHAL JSON。",
            "content": {
              "application/hal+json": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_hal_head",
        "summary": "HAL（HEAD）",
        "description": "_linksと_embeddedを持つHAL JSON。",
        "responses": {
          "200": {
            "description": "_linksと_embeddedを持つHAL JSON。",
            "content": {
              "application/hal+json": {}
            }
          }
        }
      }
    },
    "/lab/protocol/json-ld": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_json_ld_get",
        "summary": "JSON-LD",
        "description": "schema.org contextを持つlinked data。",
        "responses": {
          "200": {
            "description": "schema.org contextを持つlinked data。",
            "content": {
              "application/ld+json": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_json_ld_head",
        "summary": "JSON-LD（HEAD）",
        "description": "schema.org contextを持つlinked data。",
        "responses": {
          "200": {
            "description": "schema.org contextを持つlinked data。",
            "content": {
              "application/ld+json": {}
            }
          }
        }
      }
    },
    "/lab/protocol/json-patch": {
      "patch": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_json_patch_patch",
        "summary": "JSON Patch",
        "description": "RFC 6902形式の操作配列を検証して返す。",
        "responses": {
          "200": {
            "description": "RFC 6902形式の操作配列を検証して返す。",
            "content": {
              "application/json": {}
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json-patch+json": {}
          }
        }
      }
    },
    "/lab/binary/protobuf": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_protobuf_get",
        "summary": "Protocol Buffers",
        "description": "message Sample { string message=1; uint32 value=2; } のwire形式。",
        "responses": {
          "200": {
            "description": "message Sample { string message=1; uint32 value=2; } のwire形式。",
            "content": {
              "application/x-protobuf": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_protobuf_head",
        "summary": "Protocol Buffers（HEAD）",
        "description": "message Sample { string message=1; uint32 value=2; } のwire形式。",
        "responses": {
          "200": {
            "description": "message Sample { string message=1; uint32 value=2; } のwire形式。",
            "content": {
              "application/x-protobuf": {}
            }
          }
        }
      }
    },
    "/lab/binary/cbor": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_cbor_get",
        "summary": "CBOR",
        "description": "{message: hello, value: 42}のCBOR map。",
        "responses": {
          "200": {
            "description": "{message: hello, value: 42}のCBOR map。",
            "content": {
              "application/cbor": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_cbor_head",
        "summary": "CBOR（HEAD）",
        "description": "{message: hello, value: 42}のCBOR map。",
        "responses": {
          "200": {
            "description": "{message: hello, value: 42}のCBOR map。",
            "content": {
              "application/cbor": {}
            }
          }
        }
      }
    },
    "/lab/binary/messagepack": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_messagepack_get",
        "summary": "MessagePack",
        "description": "{message: hello, value: 42}のMessagePack map。",
        "responses": {
          "200": {
            "description": "{message: hello, value: 42}のMessagePack map。",
            "content": {
              "application/msgpack": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_messagepack_head",
        "summary": "MessagePack（HEAD）",
        "description": "{message: hello, value: 42}のMessagePack map。",
        "responses": {
          "200": {
            "description": "{message: hello, value: 42}のMessagePack map。",
            "content": {
              "application/msgpack": {}
            }
          }
        }
      }
    },
    "/lab/binary/module.wasm": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_wasm_get",
        "summary": "WebAssembly",
        "description": "有効な空のWebAssembly module。",
        "responses": {
          "200": {
            "description": "有効な空のWebAssembly module。",
            "content": {
              "application/wasm": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_wasm_head",
        "summary": "WebAssembly（HEAD）",
        "description": "有効な空のWebAssembly module。",
        "responses": {
          "200": {
            "description": "有効な空のWebAssembly module。",
            "content": {
              "application/wasm": {}
            }
          }
        }
      }
    },
    "/lab/encoding/utf16": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_utf16_get",
        "summary": "UTF-16LE",
        "description": "BOM付きUTF-16LEテキスト。",
        "responses": {
          "200": {
            "description": "BOM付きUTF-16LEテキスト。",
            "content": {
              "text/plain": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_utf16_head",
        "summary": "UTF-16LE（HEAD）",
        "description": "BOM付きUTF-16LEテキスト。",
        "responses": {
          "200": {
            "description": "BOM付きUTF-16LEテキスト。",
            "content": {
              "text/plain": {}
            }
          }
        }
      }
    },
    "/lab/encoding/shift-jis": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_shift_jis_get",
        "summary": "Shift_JIS",
        "description": "Shift_JISで符号化した「こんにちは」。",
        "responses": {
          "200": {
            "description": "Shift_JISで符号化した「こんにちは」。",
            "content": {
              "text/plain": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_shift_jis_head",
        "summary": "Shift_JIS（HEAD）",
        "description": "Shift_JISで符号化した「こんにちは」。",
        "responses": {
          "200": {
            "description": "Shift_JISで符号化した「こんにちは」。",
            "content": {
              "text/plain": {}
            }
          }
        }
      }
    },
    "/lab/encoding/gzip": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_gzip_get",
        "summary": "gzip Content-Encoding",
        "description": "gzip済み本文をencodeBody=manualで返す。",
        "responses": {
          "200": {
            "description": "gzip済み本文をencodeBody=manualで返す。",
            "content": {
              "text/plain": {}
            }
          }
        }
      }
    },
    "/lab/feed/rss": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_rss_get",
        "summary": "RSS 2.0",
        "description": "application/rss+xml形式のfeed。",
        "responses": {
          "200": {
            "description": "application/rss+xml形式のfeed。",
            "content": {
              "application/rss+xml": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_rss_head",
        "summary": "RSS 2.0（HEAD）",
        "description": "application/rss+xml形式のfeed。",
        "responses": {
          "200": {
            "description": "application/rss+xml形式のfeed。",
            "content": {
              "application/rss+xml": {}
            }
          }
        }
      }
    },
    "/lab/feed/atom": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_atom_get",
        "summary": "Atom",
        "description": "application/atom+xml形式のfeed。",
        "responses": {
          "200": {
            "description": "application/atom+xml形式のfeed。",
            "content": {
              "application/atom+xml": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_atom_head",
        "summary": "Atom（HEAD）",
        "description": "application/atom+xml形式のfeed。",
        "responses": {
          "200": {
            "description": "application/atom+xml形式のfeed。",
            "content": {
              "application/atom+xml": {}
            }
          }
        }
      }
    },
    "/lab/http/application-http": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_application_http_get",
        "summary": "application/http",
        "description": "HTTPレスポンスを本文内に埋め込むbatch表現。",
        "responses": {
          "200": {
            "description": "HTTPレスポンスを本文内に埋め込むbatch表現。",
            "content": {
              "application/http": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_application_http_head",
        "summary": "application/http（HEAD）",
        "description": "HTTPレスポンスを本文内に埋め込むbatch表現。",
        "responses": {
          "200": {
            "description": "HTTPレスポンスを本文内に埋め込むbatch表現。",
            "content": {
              "application/http": {}
            }
          }
        }
      }
    },
    "/lab/http/multi-range": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_multipart_byteranges_get",
        "summary": "Multipart Byte Ranges",
        "description": "複数byte範囲をmultipart/byterangesで返す。",
        "responses": {
          "206": {
            "description": "複数byte範囲をmultipart/byterangesで返す。",
            "content": {
              "multipart/byteranges": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_multipart_byteranges_head",
        "summary": "Multipart Byte Ranges（HEAD）",
        "description": "複数byte範囲をmultipart/byterangesで返す。",
        "responses": {
          "206": {
            "description": "複数byte範囲をmultipart/byterangesで返す。",
            "content": {
              "multipart/byteranges": {}
            }
          }
        }
      }
    },
    "/lab/http/prefer": {
      "post": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_prefer_post",
        "summary": "Preferヘッダー",
        "description": "return=minimalなら204、respond-asyncなら202を返す。",
        "responses": {
          "200": {
            "description": "return=minimalなら204、respond-asyncなら202を返す。",
            "content": {
              "application/json": {}
            }
          },
          "202": {
            "description": "return=minimalなら204、respond-asyncなら202を返す。",
            "content": {
              "application/json": {}
            }
          },
          "204": {
            "description": "return=minimalなら204、respond-asyncなら202を返す。"
          }
        }
      }
    },
    "/lab/http/status/{code}": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_status_zoo_get",
        "summary": "特殊Status Code",
        "description": "許可されたHTTP statusを意図的に返す。",
        "responses": {
          "201": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "202": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "207": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "208": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "226": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "300": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "410": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "418": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "425": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "428": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "429": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "451": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "503": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "507": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "508": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "511": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          }
        },
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_status_zoo_head",
        "summary": "特殊Status Code（HEAD）",
        "description": "許可されたHTTP statusを意図的に返す。",
        "responses": {
          "201": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "202": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "207": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "208": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "226": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "300": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "410": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "418": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "425": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "428": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "429": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "451": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "503": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "507": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "508": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          },
          "511": {
            "description": "許可されたHTTP statusを意図的に返す。",
            "content": {
              "application/json": {}
            }
          }
        },
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/lab/media/identicon.svg": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_identicon_get",
        "summary": "アイデンティコン",
        "description": "文字列から決まる5x5の左右対称なアイコン。同じ?seed=なら常に同じ絵になる。",
        "responses": {
          "200": {
            "description": "文字列から決まる5x5の左右対称なアイコン。同じ?seed=なら常に同じ絵になる。",
            "content": {
              "image/svg+xml": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_identicon_head",
        "summary": "アイデンティコン（HEAD）",
        "description": "文字列から決まる5x5の左右対称なアイコン。同じ?seed=なら常に同じ絵になる。",
        "responses": {
          "200": {
            "description": "文字列から決まる5x5の左右対称なアイコン。同じ?seed=なら常に同じ絵になる。",
            "content": {
              "image/svg+xml": {}
            }
          }
        }
      }
    },
    "/lab/media/placeholder.svg": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_placeholder_get",
        "summary": "プレースホルダ画像",
        "description": "指定サイズの板に寸法を書いた、レイアウト確認用のダミー画像。",
        "responses": {
          "200": {
            "description": "指定サイズの板に寸法を書いた、レイアウト確認用のダミー画像。",
            "content": {
              "image/svg+xml": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_placeholder_head",
        "summary": "プレースホルダ画像（HEAD）",
        "description": "指定サイズの板に寸法を書いた、レイアウト確認用のダミー画像。",
        "responses": {
          "200": {
            "description": "指定サイズの板に寸法を書いた、レイアウト確認用のダミー画像。",
            "content": {
              "image/svg+xml": {}
            }
          }
        }
      }
    },
    "/lab/media/sparkline.svg": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_sparkline_get",
        "summary": "スパークライン",
        "description": "カンマ区切りの数値から軸のない折れ線グラフを描く。",
        "responses": {
          "200": {
            "description": "カンマ区切りの数値から軸のない折れ線グラフを描く。",
            "content": {
              "image/svg+xml": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_sparkline_head",
        "summary": "スパークライン（HEAD）",
        "description": "カンマ区切りの数値から軸のない折れ線グラフを描く。",
        "responses": {
          "200": {
            "description": "カンマ区切りの数値から軸のない折れ線グラフを描く。",
            "content": {
              "image/svg+xml": {}
            }
          }
        }
      }
    },
    "/lab/media/gradient.png": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_gradient_get",
        "summary": "グラデーションPNG",
        "description": "2色の線形グラデーションを角度指定でPNGに描く。自前のPNGエンコーダを使う。",
        "responses": {
          "200": {
            "description": "2色の線形グラデーションを角度指定でPNGに描く。自前のPNGエンコーダを使う。",
            "content": {
              "image/png": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_gradient_head",
        "summary": "グラデーションPNG（HEAD）",
        "description": "2色の線形グラデーションを角度指定でPNGに描く。自前のPNGエンコーダを使う。",
        "responses": {
          "200": {
            "description": "2色の線形グラデーションを角度指定でPNGに描く。自前のPNGエンコーダを使う。",
            "content": {
              "image/png": {}
            }
          }
        }
      }
    },
    "/lab/media/checkerboard.png": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_checkerboard_get",
        "summary": "市松模様PNG",
        "description": "透過確認に使う市松模様。タイルの大きさと2色を指定できる。",
        "responses": {
          "200": {
            "description": "透過確認に使う市松模様。タイルの大きさと2色を指定できる。",
            "content": {
              "image/png": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_checkerboard_head",
        "summary": "市松模様PNG（HEAD）",
        "description": "透過確認に使う市松模様。タイルの大きさと2色を指定できる。",
        "responses": {
          "200": {
            "description": "透過確認に使う市松模様。タイルの大きさと2色を指定できる。",
            "content": {
              "image/png": {}
            }
          }
        }
      }
    },
    "/lab/media/noise.png": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_noise_png_get",
        "summary": "ノイズPNG",
        "description": "ランダムなピクセルを敷き詰めたPNG。?seed=を付けると毎回同じ絵になる。",
        "responses": {
          "200": {
            "description": "ランダムなピクセルを敷き詰めたPNG。?seed=を付けると毎回同じ絵になる。",
            "content": {
              "image/png": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_noise_png_head",
        "summary": "ノイズPNG（HEAD）",
        "description": "ランダムなピクセルを敷き詰めたPNG。?seed=を付けると毎回同じ絵になる。",
        "responses": {
          "200": {
            "description": "ランダムなピクセルを敷き詰めたPNG。?seed=を付けると毎回同じ絵になる。",
            "content": {
              "image/png": {}
            }
          }
        }
      }
    },
    "/lab/media/mandelbrot.png": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_mandelbrot_get",
        "summary": "マンデルブロ集合",
        "description": "1ピクセルごとに反復計算して描く。このサイトで最もCPUを使うエンドポイント。",
        "responses": {
          "200": {
            "description": "1ピクセルごとに反復計算して描く。このサイトで最もCPUを使うエンドポイント。",
            "content": {
              "image/png": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_mandelbrot_head",
        "summary": "マンデルブロ集合（HEAD）",
        "description": "1ピクセルごとに反復計算して描く。このサイトで最もCPUを使うエンドポイント。",
        "responses": {
          "200": {
            "description": "1ピクセルごとに反復計算して描く。このサイトで最もCPUを使うエンドポイント。",
            "content": {
              "image/png": {}
            }
          }
        }
      }
    },
    "/lab/media/pixel.gif": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_tracking_pixel_get",
        "summary": "1x1透明ピクセル",
        "description": "43バイトの透明GIF。いわゆるトラッキングピクセルで、画像として最小の応答。",
        "responses": {
          "200": {
            "description": "43バイトの透明GIF。いわゆるトラッキングピクセルで、画像として最小の応答。",
            "content": {
              "image/gif": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_tracking_pixel_head",
        "summary": "1x1透明ピクセル（HEAD）",
        "description": "43バイトの透明GIF。いわゆるトラッキングピクセルで、画像として最小の応答。",
        "responses": {
          "200": {
            "description": "43バイトの透明GIF。いわゆるトラッキングピクセルで、画像として最小の応答。",
            "content": {
              "image/gif": {}
            }
          }
        }
      }
    },
    "/lab/media/waveform.wav": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_waveform_get",
        "summary": "波形指定の単音",
        "description": "正弦波・矩形波・のこぎり波・三角波を選んで鳴らす。/media/tone.wav の波形拡張版。",
        "responses": {
          "200": {
            "description": "正弦波・矩形波・のこぎり波・三角波を選んで鳴らす。/media/tone.wav の波形拡張版。",
            "content": {
              "audio/wav": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_waveform_head",
        "summary": "波形指定の単音（HEAD）",
        "description": "正弦波・矩形波・のこぎり波・三角波を選んで鳴らす。/media/tone.wav の波形拡張版。",
        "responses": {
          "200": {
            "description": "正弦波・矩形波・のこぎり波・三角波を選んで鳴らす。/media/tone.wav の波形拡張版。",
            "content": {
              "audio/wav": {}
            }
          }
        }
      }
    },
    "/lab/media/dtmf.wav": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_dtmf_get",
        "summary": "DTMF（プッシュ音）",
        "description": "電話のダイヤル音。1キーにつき低群・高群の2つの正弦波を重ねる規格どおりの合成。",
        "responses": {
          "200": {
            "description": "電話のダイヤル音。1キーにつき低群・高群の2つの正弦波を重ねる規格どおりの合成。",
            "content": {
              "audio/wav": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_dtmf_head",
        "summary": "DTMF（プッシュ音）（HEAD）",
        "description": "電話のダイヤル音。1キーにつき低群・高群の2つの正弦波を重ねる規格どおりの合成。",
        "responses": {
          "200": {
            "description": "電話のダイヤル音。1キーにつき低群・高群の2つの正弦波を重ねる規格どおりの合成。",
            "content": {
              "audio/wav": {}
            }
          }
        }
      }
    },
    "/lab/media/morse.wav": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_morse_get",
        "summary": "モールス信号",
        "description": "文字列をモールス符号にして鳴らす。短点1・長点3・字間3・語間7の比率は国際規格どおり。",
        "responses": {
          "200": {
            "description": "文字列をモールス符号にして鳴らす。短点1・長点3・字間3・語間7の比率は国際規格どおり。",
            "content": {
              "audio/wav": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_morse_head",
        "summary": "モールス信号（HEAD）",
        "description": "文字列をモールス符号にして鳴らす。短点1・長点3・字間3・語間7の比率は国際規格どおり。",
        "responses": {
          "200": {
            "description": "文字列をモールス符号にして鳴らす。短点1・長点3・字間3・語間7の比率は国際規格どおり。",
            "content": {
              "audio/wav": {}
            }
          }
        }
      }
    },
    "/lab/media/melody.wav": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_melody_get",
        "summary": "メロディ",
        "description": "音名の並びを矩形波で順に鳴らす簡易チップチューン。",
        "responses": {
          "200": {
            "description": "音名の並びを矩形波で順に鳴らす簡易チップチューン。",
            "content": {
              "audio/wav": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_melody_head",
        "summary": "メロディ（HEAD）",
        "description": "音名の並びを矩形波で順に鳴らす簡易チップチューン。",
        "responses": {
          "200": {
            "description": "音名の並びを矩形波で順に鳴らす簡易チップチューン。",
            "content": {
              "audio/wav": {}
            }
          }
        }
      }
    },
    "/lab/media/metronome.wav": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_metronome_get",
        "summary": "メトロノーム",
        "description": "指定BPMのクリック音。小節の頭だけ高い音でアクセントを付ける。",
        "responses": {
          "200": {
            "description": "指定BPMのクリック音。小節の頭だけ高い音でアクセントを付ける。",
            "content": {
              "audio/wav": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_metronome_head",
        "summary": "メトロノーム（HEAD）",
        "description": "指定BPMのクリック音。小節の頭だけ高い音でアクセントを付ける。",
        "responses": {
          "200": {
            "description": "指定BPMのクリック音。小節の頭だけ高い音でアクセントを付ける。",
            "content": {
              "audio/wav": {}
            }
          }
        }
      }
    },
    "/lab/media/noise.wav": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_noise_wav_get",
        "summary": "ノイズ音",
        "description": "ホワイト／ピンク／ブラウンノイズ。高域の減り方だけで聞こえ方が大きく変わる。",
        "responses": {
          "200": {
            "description": "ホワイト／ピンク／ブラウンノイズ。高域の減り方だけで聞こえ方が大きく変わる。",
            "content": {
              "audio/wav": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_noise_wav_head",
        "summary": "ノイズ音（HEAD）",
        "description": "ホワイト／ピンク／ブラウンノイズ。高域の減り方だけで聞こえ方が大きく変わる。",
        "responses": {
          "200": {
            "description": "ホワイト／ピンク／ブラウンノイズ。高域の減り方だけで聞こえ方が大きく変わる。",
            "content": {
              "audio/wav": {}
            }
          }
        }
      }
    },
    "/lab/media/silence.wav": {
      "get": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_silence_get",
        "summary": "無音",
        "description": "指定秒数のまったくの無音。中身は0の羅列で、再生系の動作確認に使う。",
        "responses": {
          "200": {
            "description": "指定秒数のまったくの無音。中身は0の羅列で、再生系の動作確認に使う。",
            "content": {
              "audio/wav": {}
            }
          }
        }
      },
      "head": {
        "tags": [
          "lab"
        ],
        "operationId": "lab_silence_head",
        "summary": "無音（HEAD）",
        "description": "指定秒数のまったくの無音。中身は0の羅列で、再生系の動作確認に使う。",
        "responses": {
          "200": {
            "description": "指定秒数のまったくの無音。中身は0の羅列で、再生系の動作確認に使う。",
            "content": {
              "audio/wav": {}
            }
          }
        }
      }
    }
  }
}