{"openapi":"3.1.0","info":{"title":"Jusho - Japanese Address Normalization API","description":"\nJapanese Address Normalization API / 日本の住所正規化API\n\nJusho normalizes free-form Japanese address strings into structured, validated data\nwith postal codes, administrative codes, geographic coordinates, and kana readings.\n\n住所文字列を正規化し、郵便番号・行政コード・緯度経度・カナ読みなどの構造化データを返します。\n\n---\n\n## Data Sources / データソース\n\n| Source | Description | 用途 |\n|--------|-------------|------|\n| **KOKUDO** (国土交通省) | Ministry of Land address data | GIS・行政コード取得 |\n| **KEN_ALL** (郵便局) | Japan Post postal code data | 郵便番号検索・配送業者連携 |\n| **Jigyosyo** (事業所) | Large-volume business postal codes | 大口事業所の専用郵便番号 |\n| **Tatemono** (大型建物) | Building-specific postal codes by floor | 階別郵便番号を持つ大型ビル |\n\n## Matching Order / マッチング順序\n\n1. **事業所辞書** - Business office dictionary (dedicated postal codes for large-volume offices)\n2. **大型ビル辞書** - Large building dictionary (floor-specific postal codes)\n3. **標準住所** - Standard addresses (KOKUDO + KEN_ALL combined data)\n\n## Endpoints / エンドポイント\n\n| Method | Path | Description |\n|--------|------|-------------|\n| `GET` | `/normalize?address=...` | Normalize a single address / 単一住所の正規化 |\n| `POST` | `/normalize` | Normalize a single address (JSON body) / 単一住所の正規化 |\n| `POST` | `/normalize/batch` | Batch normalize up to 100 addresses / 一括正規化（最大100件） |\n| `GET/POST` | `/mcp` | MCP (Model Context Protocol) endpoint |\n\n## MCP Client Configuration / MCPクライアント設定\n\n```json\n{\n  \"mcpServers\": {\n    \"jusho\": {\n      \"url\": \"https://api.jusho.dev/mcp\"\n    }\n  }\n}\n```\n\n## Rate Limits / レート制限\n\n- **Per IP**: 100 requests/minute (IP単位: 100リクエスト/分)\n- **Global**: 50,000 requests/hour (グローバル: 50,000リクエスト/時)\n\n## Address Variant Handling / 表記揺れ対応\n\nThe same address may have different representations depending on the data source.\nFor example: 袖**ケ**浦市 (KEN_ALL/Japan Post) vs 袖**ヶ**浦市 (KOKUDO/MLIT).\nThe `address_variants` field in the response provides both representations so you can\nchoose the appropriate one for your use case.\n\n同じ住所でもデータソースによって表記が異なる場合があります。\nレスポンスの `address_variants` フィールドで両方の表記を提供します。\n\n## Notes / 注意事項\n\n- The first request loads dictionary data and may take several seconds.\n- 初回リクエスト時に辞書データを読み込むため、数秒かかることがあります。\n- Use `POST /warmup` to preload data in advance. / `POST /warmup` でデータを事前ロードできます。\n","termsOfService":"https://jusho.dev/terms","contact":{"name":"Jusho Project","url":"https://jusho.dev/","email":"naofumi.higashikawauchi@interman.co.jp"},"license":{"name":"MIT License","url":"https://opensource.org/licenses/MIT"},"version":"0.3.6"},"paths":{"/":{"get":{"tags":["Health / ヘルスチェック"],"summary":"Service info / サービス情報","description":"サービス情報の取得 / Get service information\n\nReturns basic service information including version and MCP availability.\nバージョンやMCPの利用可否を含むサービス基本情報を返します。","operationId":"root__get","responses":{"200":{"description":"Service is running / サービス稼働中","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RootResponse"},"example":{"status":"ok","service":"address-normalizer","version":"0.3.6","mcp_available":true}}}}}}},"/health":{"get":{"tags":["Health / ヘルスチェック"],"summary":"Health check / ヘルスチェック","description":"ヘルスチェック（Cloud Run/Kubernetes用） / Health check for Cloud Run/Kubernetes\n\nSimple liveness probe endpoint. Always returns 200 if the service is running.\nサービスが稼働中であれば常に200を返すシンプルなliveness probeエンドポイント。","operationId":"health_health_get","responses":{"200":{"description":"Service is healthy / サービスは正常","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"},"example":{"status":"healthy"}}}}}}},"/ready":{"get":{"tags":["Health / ヘルスチェック"],"summary":"Readiness check / レディネスチェック","description":"データ読み込み状況を確認 / Check data loading status\n\nReadiness probe endpoint. Reports whether dictionary data has been loaded.\nUse this to determine if the service can handle normalization requests.\n\n辞書データのロード状態を確認するレディネスプローブエンドポイント。\n正規化リクエストを処理できるかどうかの判定に使用します。","operationId":"ready_ready_get","responses":{"200":{"description":"Readiness status / レディネス状態","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadyResponse"},"examples":{"ready":{"summary":"Data loaded / データロード済み","value":{"status":"ready","data_loaded":true}},"loading":{"summary":"Data loading / ロード中","value":{"status":"loading","data_loaded":false}},"not_loaded":{"summary":"Not loaded / 未ロード","value":{"status":"not_loaded","data_loaded":false}}}}}}}}},"/warmup":{"post":{"tags":["Health / ヘルスチェック"],"summary":"Preload dictionary data / 辞書データの事前ロード","description":"データを事前に読み込む（バックグラウンド） / Preload dictionary data in background\n\nTriggers background loading of dictionary data so that the first normalization\nrequest does not incur the loading delay. Idempotent: safe to call multiple times.\n\n辞書データのバックグラウンドロードを開始します。最初の正規化リクエスト時の\nロード遅延を回避するために使用します。冪等: 複数回呼び出しても安全です。","operationId":"warmup_warmup_post","responses":{"200":{"description":"Warmup status / ウォームアップ状態","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WarmupResponse"},"examples":{"started":{"summary":"Loading started / ロード開始","value":{"status":"loading_started"}},"already_loaded":{"summary":"Already loaded / ロード済み","value":{"status":"already_loaded"}},"in_progress":{"summary":"Loading in progress / ロード中","value":{"status":"loading"}}}}}}}}},"/rate-limit-status":{"get":{"tags":["Rate Limiting / レート制限"],"summary":"Rate limit status / レート制限状況","description":"現在のレート制限状況を取得 / Get current rate limit status\n\nReturns the remaining request quota and time until reset for both\nglobal and per-IP rate limits.\n\nグローバルおよびIP単位のレート制限について、残りリクエスト数と\nリセットまでの時間を返します。","operationId":"rate_limit_status_rate_limit_status_get","responses":{"200":{"description":"Current rate limit status / 現在のレート制限状況","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitStatusResponse"},"example":{"global_remaining":49500,"global_reset_seconds":3200,"global_limit_per_hour":50000,"ip_limit_per_minute":100}}}}}}},"/mcp-status":{"get":{"tags":["MCP / Model Context Protocol"],"summary":"MCP status / MCP状態","description":"MCP (Model Context Protocol) の状態を取得 / Get MCP status\n\nReturns MCP availability and client configuration for connecting AI assistants.\nThe MCP endpoint allows AI tools (Claude Desktop, Cursor, etc.) to use\naddress normalization via the Model Context Protocol.\n\nMCPの利用可否とAIアシスタント接続用のクライアント設定を返します。\nMCPエンドポイントにより、AIツール（Claude Desktop、Cursor等）が\nModel Context Protocolを通じて住所正規化を利用できます。","operationId":"mcp_status_mcp_status_get","responses":{"200":{"description":"MCP availability and configuration / MCP利用可否と設定情報","content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpStatusResponse"},"examples":{"available":{"summary":"MCP available / MCP利用可能","value":{"available":true,"endpoint":"/mcp","server_name":"jusho","client_config":{"mcpServers":{"jusho":{"url":"https://api.jusho.dev/mcp"}}}}},"unavailable":{"summary":"MCP unavailable / MCP利用不可","value":{"available":false}}}}}}}}},"/normalize":{"post":{"tags":["Normalization / 住所正規化"],"summary":"Normalize address (POST) / 住所正規化（POST）","description":"住所を正規化する（POST） / Normalize a Japanese address (POST)\n\nAccepts a JSON body with an address string and returns structured normalization data\nincluding postal code, administrative codes, coordinates, kana readings, and more.\n\nJSON bodyで住所文字列を受け取り、郵便番号・行政コード・座標・カナ読み等の\n構造化された正規化データを返します。\n\n**Matching order / マッチング順序:**\n1. Business office dictionary / 事業所辞書（専用郵便番号を持つ大口事業所）\n2. Large building dictionary / 大型ビル辞書（階別郵便番号を持つビル）\n3. Standard addresses / 標準住所（国土交通省データ + 郵便局データ）","operationId":"normalize_post_normalize_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NormalizeRequest"}}}},"responses":{"200":{"description":"Normalization successful / 正規化成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NormalizeResponse"}}}},"404":{"description":"Address not found / 住所が見つからない","content":{"application/json":{"example":{"detail":"住所が見つかりませんでした: 存在しない住所"},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation error / バリデーションエラー"},"429":{"description":"Rate limit exceeded / レート制限超過","content":{"application/json":{"example":{"detail":"グローバルレート制限に達しました。しばらく待ってから再試行してください。"},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"get":{"tags":["Normalization / 住所正規化"],"summary":"Normalize address (GET) / 住所正規化（GET）","description":"住所を正規化する（GET） / Normalize a Japanese address (GET)\n\nAccepts an address as a query parameter and returns structured normalization data\nincluding postal code, administrative codes, coordinates, kana readings, and more.\n\nクエリパラメータで住所文字列を受け取り、郵便番号・行政コード・座標・カナ読み等の\n構造化された正規化データを返します。\n\n**Matching order / マッチング順序:**\n1. Business office dictionary / 事業所辞書（専用郵便番号を持つ大口事業所）\n2. Large building dictionary / 大型ビル辞書（階別郵便番号を持つビル）\n3. Standard addresses / 標準住所（国土交通省データ + 郵便局データ）\n\n**Example / 例:**\n```\nGET /normalize?address=東京都千代田区千代田1-1\n```","operationId":"normalize_get_normalize_get","parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string","description":"正規化対象の住所文字列 / Japanese address string to normalize","examples":["東京都千代田区千代田1-1","大阪府大阪市北区梅田1-1-1","六本木ヒルズ森タワー30F"],"title":"Address"},"description":"正規化対象の住所文字列 / Japanese address string to normalize"}],"responses":{"200":{"description":"Normalization successful / 正規化成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NormalizeResponse"}}}},"404":{"description":"Address not found / 住所が見つからない","content":{"application/json":{"example":{"detail":"住所が見つかりませんでした: 存在しない住所"},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation error / バリデーションエラー"},"429":{"description":"Rate limit exceeded / レート制限超過","content":{"application/json":{"example":{"detail":"グローバルレート制限に達しました。しばらく待ってから再試行してください。"},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/normalize/batch":{"post":{"tags":["Batch / 一括処理"],"summary":"Batch normalize addresses / 住所一括正規化","description":"住所を一括正規化する（POST、最大100件） / Batch normalize addresses (POST, max 100)\n\nNormalizes multiple addresses in a single request. Individual failures do not\ncause the entire request to fail -- they are returned with `success: false`\nand an error message.\n\n複数の住所を一度に正規化します。個別の住所が見つからない場合も\nリクエスト全体のエラーにはならず、`success: false` として結果に含まれます。\n\n**Matching order (per address) / マッチング順序（各住所につき）:**\n1. Business office dictionary / 事業所辞書（専用郵便番号を持つ大口事業所）\n2. Large building dictionary / 大型ビル辞書（階別郵便番号を持つビル）\n3. Standard addresses / 標準住所（国土交通省データ + 郵便局データ）","operationId":"normalize_batch_normalize_batch_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchNormalizeRequest"}}},"required":true},"responses":{"200":{"description":"Batch normalization complete / 一括正規化完了","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchNormalizeResponse"}}}},"422":{"description":"Validation error (e.g., exceeding 100 address limit) / バリデーションエラー（件数超過など）"},"429":{"description":"Rate limit exceeded / レート制限超過","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"detail":"グローバルレート制限に達しました。しばらく待ってから再試行してください。"}}}}}}},"/convert":{"get":{"tags":["Lookup / 住所検索"],"summary":"Convert old address / 旧住所変換","description":"旧住所（合併前の市区町村名）を新住所に変換する / Convert old (pre-merger) addresses to current addresses\n\nConverts addresses that use old municipality names (from before municipal mergers)\nto their current equivalents. Covers major Heisei-era mergers (1999-2010+).\nIf the address contains a known old municipality name, it is converted to the\ncurrent name and optionally normalized.\n\n市町村合併等により廃止された旧市区町村名を含む住所を、現在の新住所に変換します。\n主に平成の大合併（1999-2010年以降）をカバーしています。\n変換後の住所で正規化も試みます。\n\n**Examples / 例:**\n```\nGET /convert?address=埼玉県浦和市高砂3-15-1\nGET /convert?address=東京都田無市谷戸町1-1\n```","operationId":"convert_old_address_convert_get","parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string","description":"変換対象の住所文字列（旧市区町村名を含む可能性がある住所） / Address string that may contain old municipality names","examples":["埼玉県浦和市高砂3-15-1","東京都田無市谷戸町1-1","静岡県清水市日の出町1-1"],"title":"Address"},"description":"変換対象の住所文字列（旧市区町村名を含む可能性がある住所） / Address string that may contain old municipality names"}],"responses":{"200":{"description":"Conversion result / 変換結果","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConvertResponse"},"examples":{"converted":{"summary":"Old address converted / 旧住所変換あり","value":{"converted":true,"original":"埼玉県浦和市高砂3-15-1","new_address":"埼玉県さいたま市高砂3-15-1","old_city":"浦和市","new_city":"さいたま市","merge_info":"2001年5月1日に浦和市・大宮市・与野市が合併してさいたま市になりました"}},"not_converted":{"summary":"No conversion needed / 変換不要","value":{"converted":false,"original":"東京都千代田区千代田1-1","new_address":"東京都千代田区千代田1-1","old_city":"","new_city":"","merge_info":""}}}}}},"422":{"description":"Validation error / バリデーションエラー"},"429":{"description":"Rate limit exceeded / レート制限超過","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/postal/{code}":{"get":{"tags":["Lookup / 住所検索"],"summary":"Postal code lookup / 郵便番号逆引き","description":"郵便番号から住所を逆引きする / Look up addresses by postal code\n\nAccepts a 7-digit postal code (with or without hyphen) and returns\na list of matching addresses. One postal code may correspond to\nmultiple town areas.\n\n7桁の郵便番号（ハイフン有無どちらも可）を受け取り、\n対応する住所のリストを返します。1つの郵便番号が\n複数の町域に対応する場合があります。\n\n**Examples / 例:**\n```\nGET /postal/1000001\nGET /postal/100-0001\n```","operationId":"postal_lookup_postal__code__get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Postal code lookup successful / 郵便番号逆引き成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostalLookupResponse"},"example":{"postal_code":"1000001","count":1,"addresses":[{"post_code":"1000001","pref":"東京都","city":"千代田区","town":"千代田","pref_kana":"トウキョウト","city_kana":"チヨダク","town_kana":"チヨダ"}]}}}},"404":{"description":"Postal code not found / 郵便番号が見つからない","content":{"application/json":{"example":{"error":"Not Found","detail":"郵便番号が見つかりませんでした: 0000000"},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation error (invalid format) / バリデーションエラー（形式不正）"},"429":{"description":"Rate limit exceeded / レート制限超過","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/suggest":{"get":{"tags":["Lookup / 住所検索"],"summary":"Address suggestion / 住所サジェスト","description":"住所の前方一致サジェストを行う / Get address prefix-match suggestions\n\nReturns address suggestions that match the query prefix.\nUseful for address autocomplete in forms. Also supports\npostal code prefix matching (e.g., \"100\" returns addresses\nstarting with postal code 100xxxx).\n\nクエリ文字列に前方一致する住所候補を返します。\nフォームの住所オートコンプリートに便利です。\n郵便番号のプレフィックスマッチにも対応しています\n（例: \"100\" で郵便番号100xxxxの住所を返す）。\n\n**Examples / 例:**\n```\nGET /suggest?q=東京都千代田\nGET /suggest?q=100&max_results=20\n```","operationId":"suggest_suggest_get","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":2,"description":"検索クエリ（2文字以上） / Search query (min 2 characters)","examples":["東京都千代田","大阪府","100"],"title":"Q"},"description":"検索クエリ（2文字以上） / Search query (min 2 characters)"},{"name":"max_results","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"最大結果数（1-100） / Maximum number of results (1-100)","default":10,"title":"Max Results"},"description":"最大結果数（1-100） / Maximum number of results (1-100)"}],"responses":{"200":{"description":"Suggestion results / サジェスト結果","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestResponse"},"example":{"query":"東京都千代田","count":2,"suggestions":[{"full_address":"東京都千代田区千代田","post_code":"1000001","pref":"東京都","city":"千代田区","town":"千代田"},{"full_address":"東京都千代田区麹町","post_code":"1020083","pref":"東京都","city":"千代田区","town":"麹町"}]}}}},"422":{"description":"Validation error (query too short) / バリデーションエラー（クエリが短すぎる）"},"429":{"description":"Rate limit exceeded / レート制限超過","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/validate":{"get":{"tags":["Lookup / 住所検索"],"summary":"Validate address / 住所バリデーション","description":"住所が正規化可能かバリデーションする / Validate whether an address can be normalized\n\nNormalizes the given address and returns whether it is valid,\nalong with the match level, component-level validation details,\nand any issues found. Unlike `/normalize`, this endpoint never\nreturns 404 -- it always returns a validation result.\n\n指定された住所を正規化し、有効かどうかをマッチレベル、コンポーネント別の\nバリデーション詳細、および問題点とともに返します。\n`/normalize` と異なり、このエンドポイントは404を返しません。\n常にバリデーション結果を返します。\n\n**Match levels / マッチレベル:**\n- `none`: No match / マッチなし\n- `prefecture`: Prefecture only / 都道府県のみ\n- `city`: City level / 市区町村まで\n- `town`: Town level / 町域まで\n- `block`: Block level / 番地まで\n- `full`: Full match / 完全一致\n\n**Components / コンポーネント:**\nEach address component (pref, city, town, banchi, go) is reported with\nits `found` (detected in input), `value` (normalized value), and\n`valid` (confirmed against reference data) flags.\n\n**Issues / 問題点:**\nHuman-readable bilingual messages (Japanese / English) describing\nany validation issues or missing components.\n\n**Example / 例:**\n```\nGET /validate?address=東京都千代田区千代田1-1\n```","operationId":"validate_address_validate_get","parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string","description":"バリデーション対象の住所文字列 / Address string to validate","examples":["東京都千代田区千代田1-1","存在しない住所12345"],"title":"Address"},"description":"バリデーション対象の住所文字列 / Address string to validate"}],"responses":{"200":{"description":"Validation result / バリデーション結果","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateResponse"},"examples":{"valid":{"summary":"Valid address / 有効な住所","value":{"valid":true,"normalized":{"address":{"full":"東京都千代田区千代田一丁目1-1"}},"match_level":"full","components":{"pref":{"found":true,"value":"東京都","valid":true},"city":{"found":true,"value":"千代田区","valid":true},"town":{"found":true,"value":"千代田一丁目","valid":true},"banchi":{"found":true,"value":"1"},"go":{"found":true,"value":"1"}},"issues":[]}},"invalid":{"summary":"Invalid address / 無効な住所","value":{"valid":false,"match_level":"none","components":{"pref":{"found":false,"value":"","valid":false},"city":{"found":false,"value":"","valid":false},"town":{"found":false,"value":"","valid":false},"banchi":{"found":false,"value":""},"go":{"found":false,"value":""}},"issues":["都道府県が認識できません / Prefecture could not be recognized","住所を正規化できませんでした / Address could not be normalized"]}},"partial":{"summary":"Partial match / 部分一致","value":{"valid":true,"normalized":{"address":{"full":"東京都千代田区千代田"}},"match_level":"town","components":{"pref":{"found":true,"value":"東京都","valid":true},"city":{"found":true,"value":"千代田区","valid":true},"town":{"found":true,"value":"千代田","valid":true},"banchi":{"found":false,"value":""},"go":{"found":false,"value":""}},"issues":["番地が指定されていません / Block number (banchi) is not specified","号が指定されていません / Building number (go) is not specified"]}}}}}},"422":{"description":"Validation error / バリデーションエラー"},"429":{"description":"Rate limit exceeded / レート制限超過","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/reverse":{"get":{"tags":["Lookup / 住所検索"],"summary":"Reverse lookup (address to postal code) / 住所逆引き","description":"住所から郵便番号を逆引きする / Reverse-lookup postal code from address\n\nNormalizes the given address and extracts the postal code and\naddress components. Useful for getting a postal code from\na free-form address string.\n\n指定された住所を正規化し、郵便番号と住所構成要素を抽出します。\n自由形式の住所文字列から郵便番号を取得するのに便利です。\n\n**Example / 例:**\n```\nGET /reverse?address=東京都千代田区千代田1-1\n```","operationId":"reverse_lookup_reverse_get","parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string","description":"逆引き対象の住所文字列 / Address string to reverse-lookup","examples":["東京都千代田区千代田1-1","大阪府大阪市北区梅田1-1-1"],"title":"Address"},"description":"逆引き対象の住所文字列 / Address string to reverse-lookup"}],"responses":{"200":{"description":"Reverse lookup result / 逆引き結果","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReverseResponse"},"example":{"postal_code":"1000001","pref":"東京都","city":"千代田区","town":"千代田"}}}},"404":{"description":"Address not found / 住所が見つからない","content":{"application/json":{"example":{"error":"Not Found","detail":"住所が見つかりませんでした: 存在しない住所"},"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation error / バリデーションエラー"},"429":{"description":"Rate limit exceeded / レート制限超過","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}},"components":{"schemas":{"AddressInfo":{"properties":{"full":{"type":"string","title":"Full","description":"正規化住所全体 / Full normalized address","default":"","examples":["東京都千代田区千代田一丁目1-1"]},"pref":{"type":"string","title":"Pref","description":"都道府県（kenall優先） / Prefecture (KEN_ALL preferred)","default":"","examples":["東京都"]},"city":{"type":"string","title":"City","description":"市区町村（kenall優先） / City/Ward (KEN_ALL preferred)","default":"","examples":["千代田区"]},"town":{"type":"string","title":"Town","description":"町域（大字＋丁目、kokudo由来） / Town area (oaza + chome, from KOKUDO)","default":"","examples":["千代田一丁目"]},"koaza":{"type":"string","title":"Koaza","description":"小字 / Sub-area (koaza)","default":"","examples":[""]},"banchi":{"type":"string","title":"Banchi","description":"番地 / Block number (banchi)","default":"","examples":["1"]},"go":{"type":"string","title":"Go","description":"号 / Building/lot number (go)","default":"","examples":["1"]},"building":{"type":"string","title":"Building","description":"建物名 / Building name","default":"","examples":[""]}},"type":"object","title":"AddressInfo","description":"住所情報 / Address Information\n\nRepresentative address fields. Prefecture and city use KEN_ALL (Japan Post) values\nby default for postal/delivery compatibility. Town uses KOKUDO (MLIT) values\nto include detailed chome information.\n\n代表値の住所情報。都道府県・市区町村はKEN_ALL（郵便局）の値を優先し、\n町域はKOKUDO（国交省）の値を使用して丁目を含む詳細情報を提供します。"},"AddressVariantsInfo":{"properties":{"kokudo":{"$ref":"#/components/schemas/VariantAddress","description":"国土交通省表記（国交省API連携・GIS用） / MLIT representation (for GIS and government API integration)"},"kenall":{"$ref":"#/components/schemas/VariantAddress","description":"郵便局表記（配送業者サイト自動入力用） / Japan Post representation (for delivery service auto-fill)"}},"type":"object","required":["kokudo","kenall"],"title":"AddressVariantsInfo","description":"住所表記揺れ情報 / Address Variant Information\n\nThe same address may have different representations depending on the data source.\nChoose the appropriate source for your use case.\n\n同じ住所でもデータソースによって表記が異なる場合があります。\n用途に応じて適切なソースを選択してください。\n\nExamples / 例:\n- 袖ケ浦市 (kenall/Japan Post) vs 袖ヶ浦市 (kokudo/MLIT)\n\nUse cases / 用途:\n- **kokudo**: MLIT API integration, GIS, administrative codes / 国土交通省API連携、GIS、行政コード取得\n- **kenall**: Delivery service auto-fill, postal code lookup / 配送業者サイト自動入力、郵便番号検索"},"BatchNormalizeRequest":{"properties":{"addresses":{"items":{"type":"string"},"type":"array","maxItems":100,"minItems":1,"title":"Addresses","description":"正規化対象の住所文字列リスト（最大100件） / List of address strings to normalize (max 100)","examples":[["東京都千代田区千代田1-1","大阪府大阪市北区梅田1-1-1"]]}},"type":"object","required":["addresses"],"title":"BatchNormalizeRequest","description":"一括正規化リクエスト / Batch Normalize Request\n\nAccepts a list of Japanese address strings for batch normalization (max 100).\n複数の住所文字列を受け取り、一括正規化を行います（最大100件）。","examples":[{"addresses":["東京都千代田区千代田1-1","大阪府大阪市北区梅田1-1-1","北海道札幌市中央区北1条西2丁目"]}]},"BatchNormalizeResponse":{"properties":{"total":{"type":"integer","title":"Total","description":"入力件数 / Total number of input addresses","examples":[3]},"success_count":{"type":"integer","title":"Success Count","description":"成功件数 / Number of successfully normalized addresses","examples":[2]},"error_count":{"type":"integer","title":"Error Count","description":"エラー件数 / Number of failed normalizations","examples":[1]},"results":{"items":{"$ref":"#/components/schemas/BatchResultItem"},"type":"array","title":"Results","description":"個別結果リスト / List of individual results"}},"type":"object","required":["total","success_count","error_count","results"],"title":"BatchNormalizeResponse","description":"一括正規化レスポンス / Batch Normalization Response\n\nSummary and detailed results for a batch normalization request.\nIndividual failures do not cause the entire request to fail.\n\n一括正規化リクエストの概要と詳細結果。\n個別の失敗はリクエスト全体のエラーにはなりません。"},"BatchResultItem":{"properties":{"input":{"type":"string","title":"Input","description":"入力住所 / Original input address","examples":["東京都千代田区千代田1-1"]},"success":{"type":"boolean","title":"Success","description":"正規化成功フラグ / Whether normalization succeeded","examples":[true]},"result":{"anyOf":[{"$ref":"#/components/schemas/NormalizeResponse"},{"type":"null"}],"description":"正規化結果（成功時） / Normalization result (on success)"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error","description":"エラーメッセージ（失敗時） / Error message (on failure)","examples":[null]}},"type":"object","required":["input","success"],"title":"BatchResultItem","description":"一括処理の個別結果 / Individual Batch Result Item\n\nEach item in the batch response contains the original input, a success flag,\nthe normalization result (on success), or an error message (on failure).\n\n一括レスポンスの各項目には、元の入力、成功フラグ、正規化結果（成功時）、\nまたはエラーメッセージ（失敗時）が含まれます。"},"CodesInfo":{"properties":{"post_code":{"type":"string","title":"Post Code","description":"郵便番号（7桁） / Postal code (7 digits, no hyphen)","default":"","examples":["1000001"]},"pref_code":{"type":"string","title":"Pref Code","description":"都道府県コード / Prefecture code (JIS X 0401)","default":"","examples":["13"]},"city_code":{"type":"string","title":"City Code","description":"市区町村コード / Municipality code (JIS X 0402)","default":"","examples":["13101"]},"town_code":{"type":"string","title":"Town Code","description":"町域コード / Town area code","default":"","examples":["0010000"]}},"type":"object","title":"CodesInfo","description":"コード情報 / Administrative Code Information\n\nJapanese administrative codes and postal code.\n日本の行政コードと郵便番号。"},"ConvertResponse":{"properties":{"converted":{"type":"boolean","title":"Converted","description":"変換が行われたか / Whether conversion was performed","examples":[true]},"original":{"type":"string","title":"Original","description":"元の住所 / Original address string","examples":["埼玉県浦和市高砂3-15-1"]},"new_address":{"type":"string","title":"New Address","description":"変換後の住所（変換なしの場合は元の住所） / Converted address (original if no conversion)","examples":["埼玉県さいたま市高砂3-15-1"]},"old_city":{"type":"string","title":"Old City","description":"旧市区町村名（変換ありの場合） / Old municipality name (if converted)","default":"","examples":["浦和市"]},"new_city":{"type":"string","title":"New City","description":"新市区町村名（変換ありの場合） / New municipality name (if converted)","default":"","examples":["さいたま市"]},"merge_info":{"type":"string","title":"Merge Info","description":"合併情報 / Merger information","default":"","examples":["2001年5月1日に浦和市・大宮市・与野市が合併してさいたま市になりました"]},"normalized":{"anyOf":[{"$ref":"#/components/schemas/NormalizeResponse"},{"type":"null"}],"description":"正規化結果（変換後の住所で正規化を試行） / Normalization result (attempted on converted address)"}},"type":"object","required":["converted","original","new_address"],"title":"ConvertResponse","description":"旧住所変換レスポンス / Old Address Conversion Response\n\nConverts addresses using old (pre-merger) municipality names to current names.\n市町村合併等により廃止された旧住所を現在の新住所に変換した結果を返します。"},"ErrorResponse":{"properties":{"error":{"type":"string","title":"Error","description":"エラー種別 / Error type","examples":["Not Found"]},"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detail","description":"エラーの詳細 / Error detail message","examples":["住所が見つかりませんでした: 存在しない住所"]}},"type":"object","required":["error"],"title":"ErrorResponse","description":"エラーレスポンス / Error Response"},"GeoInfo":{"properties":{"lat":{"type":"string","title":"Lat","description":"緯度 / Latitude (WGS84)","default":"","examples":["35.685175"]},"lng":{"type":"string","title":"Lng","description":"経度 / Longitude (WGS84)","default":"","examples":["139.752799"]}},"type":"object","title":"GeoInfo","description":"位置情報 / Geographic Coordinates\n\nLatitude and longitude from KOKUDO (MLIT) address data.\n国土交通省の住所データに基づく緯度経度。"},"HealthResponse":{"properties":{"status":{"type":"string","title":"Status","description":"ヘルス状態 / Health status","examples":["healthy"]}},"type":"object","required":["status"],"title":"HealthResponse","description":"ヘルスチェックレスポンス / Health Check Response"},"KanaInfo":{"properties":{"pref":{"type":"string","title":"Pref","description":"都道府県カナ / Prefecture in katakana","default":"","examples":["トウキョウト"]},"city":{"type":"string","title":"City","description":"市区町村カナ / City/Ward in katakana","default":"","examples":["チヨダク"]},"town":{"type":"string","title":"Town","description":"町域カナ / Town area in katakana","default":"","examples":["チヨダ"]}},"type":"object","title":"KanaInfo","description":"カナ情報 / Kana Reading Information\n\nKatakana readings for address components, derived from KEN_ALL data.\nKEN_ALLデータに基づく住所構成要素のカタカナ読み。"},"McpStatusResponse":{"properties":{"available":{"type":"boolean","title":"Available","description":"MCPが利用可能か / Whether MCP is available","examples":[true]},"endpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Endpoint","description":"MCPエンドポイントパス / MCP endpoint path","examples":["/mcp"]},"server_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Server Name","description":"MCPサーバー名 / MCP server name","examples":["jusho"]},"client_config":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Client Config","description":"MCPクライアント設定例 / Example MCP client configuration"}},"type":"object","required":["available"],"title":"McpStatusResponse","description":"MCP状態レスポンス / MCP Status Response\n\nReports MCP (Model Context Protocol) availability and provides\nclient configuration for connecting to the MCP endpoint.\n\nMCP (Model Context Protocol) の利用可否を報告し、\nMCPエンドポイントへの接続用クライアント設定を提供します。"},"MetaInfo":{"properties":{"match_type":{"type":"string","title":"Match Type","description":"マッチタイプ / Match type: 'address' (standard), 'building' (large building with floor-specific postal code), 'jigyosyo' (business office with dedicated postal code)","default":"","examples":["address"]},"match_level":{"type":"integer","maximum":5.0,"minimum":0.0,"title":"Match Level","description":"マッチレベル (0-5) / Match level (0-5): 0=none, 1=prefecture (都道府県), 2=city (市区町村), 3=town (町域), 4=block (番地), 5=full (完全一致)","default":0,"examples":[5]},"match_level_label":{"type":"string","title":"Match Level Label","description":"マッチレベルラベル / Match level label: none/prefecture/city/town/block/full","default":"none","examples":["full"]},"confidence":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Confidence","description":"信頼度スコア (0.0-1.0) / Confidence score (0.0-1.0): Higher values indicate more reliable normalization results. Factors: data source agreement, match depth, address completeness.","default":0.0,"examples":[0.98]},"is_jigyosyo":{"type":"boolean","title":"Is Jigyosyo","description":"事業所郵便番号であるか / Whether matched as a business office postal code","default":false,"examples":[false]},"is_tatemono":{"type":"boolean","title":"Is Tatemono","description":"大型建物であるか / Whether matched as a large building","default":false,"examples":[false]},"version":{"type":"string","title":"Version","description":"APIバージョン / API version","default":"","examples":["0.3.6"]},"old_address":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Old Address","description":"旧住所変換情報（市町村合併により自動変換された場合のみ） / Old address conversion info (only present when auto-converted due to municipal merger). Contains: original, old_city, new_city, merge_info"}},"type":"object","title":"MetaInfo","description":"メタ情報 / Metadata\n\nInformation about how the address was matched and resolved.\n住所がどのようにマッチ・解決されたかについてのメタ情報。"},"NormalizeRequest":{"properties":{"address":{"type":"string","title":"Address","description":"正規化対象の住所文字列 / Japanese address string to normalize","examples":["東京都千代田区千代田1-1","大阪府大阪市北区梅田1-1-1","六本木ヒルズ森タワー30F","宮内庁"]}},"type":"object","required":["address"],"title":"NormalizeRequest","description":"正規化リクエスト / Normalize Request\n\nAccepts a Japanese address string for normalization.\n住所文字列を受け取り、正規化を行います。","examples":[{"address":"東京都千代田区千代田1-1"},{"address":"大阪府大阪市北区梅田1-1-1"},{"address":"六本木ヒルズ森タワー30F"}]},"NormalizeResponse":{"properties":{"address":{"$ref":"#/components/schemas/AddressInfo","description":"住所情報（代表値） / Representative address information"},"address_variants":{"$ref":"#/components/schemas/AddressVariantsInfo","description":"データソース別住所表記 / Data-source-specific address representations"},"kana":{"$ref":"#/components/schemas/KanaInfo","description":"カナ情報 / Katakana readings"},"romaji":{"$ref":"#/components/schemas/RomajiInfo","description":"ローマ字情報 / Romanized address (Hepburn)"},"codes":{"$ref":"#/components/schemas/CodesInfo","description":"コード情報 / Administrative and postal codes"},"geo":{"$ref":"#/components/schemas/GeoInfo","description":"位置情報 / Geographic coordinates"},"meta":{"$ref":"#/components/schemas/MetaInfo","description":"メタ情報 / Metadata about the match"}},"additionalProperties":true,"type":"object","required":["address","address_variants","kana","romaji","codes","geo","meta"],"title":"NormalizeResponse","description":"正規化レスポンス / Normalization Response\n\nStructured result of address normalization. Contains the representative address,\ndata-source-specific variants, kana readings, administrative codes,\ngeographic coordinates, and metadata.\n\n住所正規化の構造化結果。代表住所、データソース別表記、カナ読み、\n行政コード、緯度経度、メタ情報を含みます。","examples":[{"address":{"banchi":"1","building":"","city":"千代田区","full":"東京都千代田区千代田一丁目1-1","go":"1","koaza":"","pref":"東京都","town":"千代田一丁目"},"address_variants":{"kenall":{"city":"千代田区","pref":"東京都","town":"千代田"},"kokudo":{"city":"千代田区","pref":"東京都","town":"千代田一丁目"}},"codes":{"city_code":"13101","post_code":"1000001","pref_code":"13","town_code":"0010000"},"geo":{"lat":"35.685175","lng":"139.752799"},"kana":{"city":"チヨダク","pref":"トウキョウト","town":"チヨダ"},"meta":{"confidence":0.98,"is_jigyosyo":false,"is_tatemono":false,"match_level":5,"match_level_label":"full","match_type":"address","version":"0.3.6"},"romaji":{"city":"Chiyoda-ku","full":"Chiyoda, Chiyoda-ku, Tokyo-to","pref":"Tokyo-to","town":"Chiyoda"}}]},"PostalAddressItem":{"properties":{"post_code":{"type":"string","title":"Post Code","description":"郵便番号（7桁） / Postal code (7 digits)","examples":["1000001"]},"pref":{"type":"string","title":"Pref","description":"都道府県 / Prefecture","examples":["東京都"]},"city":{"type":"string","title":"City","description":"市区町村 / City/Ward","examples":["千代田区"]},"town":{"type":"string","title":"Town","description":"町域 / Town area","default":"","examples":["千代田"]},"pref_kana":{"type":"string","title":"Pref Kana","description":"都道府県カナ / Prefecture in katakana","default":"","examples":["トウキョウト"]},"city_kana":{"type":"string","title":"City Kana","description":"市区町村カナ / City/Ward in katakana","default":"","examples":["チヨダク"]},"town_kana":{"type":"string","title":"Town Kana","description":"町域カナ / Town area in katakana","default":"","examples":["チヨダ"]}},"type":"object","required":["post_code","pref","city"],"title":"PostalAddressItem","description":"郵便番号逆引き結果の住所項目 / Postal Code Lookup Address Item"},"PostalLookupResponse":{"properties":{"postal_code":{"type":"string","title":"Postal Code","description":"検索した郵便番号 / Queried postal code","examples":["1000001"]},"count":{"type":"integer","title":"Count","description":"結果件数 / Number of results","examples":[1]},"addresses":{"items":{"$ref":"#/components/schemas/PostalAddressItem"},"type":"array","title":"Addresses","description":"住所リスト / List of matching addresses"}},"type":"object","required":["postal_code","count","addresses"],"title":"PostalLookupResponse","description":"郵便番号逆引きレスポンス / Postal Code Lookup Response\n\nReturns a list of addresses matching the given postal code.\n指定された郵便番号に一致する住所のリストを返します。"},"RateLimitStatusResponse":{"properties":{"global_remaining":{"type":"integer","title":"Global Remaining","description":"残りグローバルリクエスト数 / Remaining global requests in current window","examples":[49500]},"global_reset_seconds":{"type":"integer","title":"Global Reset Seconds","description":"リセットまでの秒数 / Seconds until window reset","examples":[3200]},"global_limit_per_hour":{"type":"integer","title":"Global Limit Per Hour","description":"時間あたりのグローバル上限 / Global limit per hour","examples":[50000]},"ip_limit_per_minute":{"type":"integer","title":"Ip Limit Per Minute","description":"IP単位の分あたり上限 / Per-IP limit per minute","examples":[100]}},"type":"object","required":["global_remaining","global_reset_seconds","global_limit_per_hour","ip_limit_per_minute"],"title":"RateLimitStatusResponse","description":"レート制限状況レスポンス / Rate Limit Status Response"},"ReadyResponse":{"properties":{"status":{"type":"string","title":"Status","description":"データロード状態 / Data load status: 'ready', 'loading', or 'not_loaded'","examples":["ready"]},"data_loaded":{"type":"boolean","title":"Data Loaded","description":"辞書データがロード済みか / Whether dictionary data is loaded","examples":[true]}},"type":"object","required":["status","data_loaded"],"title":"ReadyResponse","description":"レディネスレスポンス / Readiness Response\n\nReports whether dictionary data has been loaded and the service is ready\nto process normalization requests.\n\n辞書データのロード状態を報告し、正規化リクエストの処理準備ができているかを示します。"},"ReverseResponse":{"properties":{"postal_code":{"type":"string","title":"Postal Code","description":"郵便番号（7桁） / Postal code (7 digits)","default":"","examples":["1000001"]},"pref":{"type":"string","title":"Pref","description":"都道府県 / Prefecture","default":"","examples":["東京都"]},"city":{"type":"string","title":"City","description":"市区町村 / City/Ward","default":"","examples":["千代田区"]},"town":{"type":"string","title":"Town","description":"町域 / Town area","default":"","examples":["千代田"]}},"type":"object","title":"ReverseResponse","description":"住所逆引きレスポンス / Address Reverse Lookup Response\n\nExtracts postal code and address components from a free-form address string.\n住所文字列から郵便番号と住所構成要素を抽出します。"},"RomajiInfo":{"properties":{"pref":{"type":"string","title":"Pref","description":"都道府県ローマ字 / Prefecture in romaji","default":"","examples":["Tokyo-to"]},"city":{"type":"string","title":"City","description":"市区町村ローマ字 / City/Ward in romaji","default":"","examples":["Chiyoda-ku"]},"town":{"type":"string","title":"Town","description":"町域ローマ字 / Town area in romaji","default":"","examples":["Chiyoda"]},"full":{"type":"string","title":"Full","description":"住所全体ローマ字（英語順） / Full address in romaji (English order)","default":"","examples":["Chiyoda, Chiyoda-ku, Tokyo-to"]}},"type":"object","title":"RomajiInfo","description":"ローマ字情報 / Romanized Address Information\n\nHepburn romanization of address components, converted from katakana readings.\nカタカナ読みから変換した修正ヘボン式ローマ字表記。"},"RootResponse":{"properties":{"status":{"type":"string","title":"Status","description":"サービス状態 / Service status","examples":["ok"]},"service":{"type":"string","title":"Service","description":"サービス名 / Service name","examples":["address-normalizer"]},"version":{"type":"string","title":"Version","description":"APIバージョン / API version","examples":["0.3.6"]},"mcp_available":{"type":"boolean","title":"Mcp Available","description":"MCPが利用可能か / Whether MCP is available","examples":[true]}},"type":"object","required":["status","service","version","mcp_available"],"title":"RootResponse","description":"ルートエンドポイントレスポンス / Root Endpoint Response"},"SuggestItem":{"properties":{"full_address":{"type":"string","title":"Full Address","description":"住所全体 / Full address string","examples":["東京都千代田区千代田"]},"post_code":{"type":"string","title":"Post Code","description":"郵便番号 / Postal code","default":"","examples":["1000001"]},"pref":{"type":"string","title":"Pref","description":"都道府県 / Prefecture","default":"","examples":["東京都"]},"city":{"type":"string","title":"City","description":"市区町村 / City/Ward","default":"","examples":["千代田区"]},"town":{"type":"string","title":"Town","description":"町域 / Town area","default":"","examples":["千代田"]}},"type":"object","required":["full_address"],"title":"SuggestItem","description":"住所サジェスト候補 / Address Suggestion Item"},"SuggestResponse":{"properties":{"query":{"type":"string","title":"Query","description":"検索クエリ / Search query","examples":["東京都千代田"]},"count":{"type":"integer","title":"Count","description":"結果件数 / Number of results","examples":[5]},"suggestions":{"items":{"$ref":"#/components/schemas/SuggestItem"},"type":"array","title":"Suggestions","description":"サジェスト候補リスト / List of suggestions"}},"type":"object","required":["query","count","suggestions"],"title":"SuggestResponse","description":"住所サジェストレスポンス / Address Suggestion Response\n\nReturns prefix-matched address suggestions for autocomplete use.\nオートコンプリート用に前方一致する住所候補を返します。"},"ValidateComponentInfo":{"properties":{"found":{"type":"boolean","title":"Found","description":"コンポーネントが検出されたか / Whether the component was found","examples":[true]},"value":{"type":"string","title":"Value","description":"検出された値 / Detected value","default":"","examples":["東京都"]},"valid":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Valid","description":"コンポーネントが有効か（pref/city/townのみ） / Whether the component is valid (pref/city/town only)","examples":[true]}},"type":"object","required":["found"],"title":"ValidateComponentInfo","description":"住所コンポーネントのバリデーション情報 / Address Component Validation Info\n\nValidation result for an individual address component (prefecture, city, town, etc.).\n住所の個別コンポーネント（都道府県、市区町村、町域など）のバリデーション結果。"},"ValidateComponentsInfo":{"properties":{"pref":{"$ref":"#/components/schemas/ValidateComponentInfo","description":"都道府県 / Prefecture validation"},"city":{"$ref":"#/components/schemas/ValidateComponentInfo","description":"市区町村 / City/Ward validation"},"town":{"$ref":"#/components/schemas/ValidateComponentInfo","description":"町域 / Town area validation"},"banchi":{"$ref":"#/components/schemas/ValidateComponentInfo","description":"番地 / Block number validation"},"go":{"$ref":"#/components/schemas/ValidateComponentInfo","description":"号 / Building/lot number validation"}},"type":"object","required":["pref","city","town","banchi","go"],"title":"ValidateComponentsInfo","description":"住所コンポーネント一覧のバリデーション情報 / Address Components Validation Info\n\nPer-component validation results for all address levels.\n住所の各レベルごとのバリデーション結果。"},"ValidateResponse":{"properties":{"valid":{"type":"boolean","title":"Valid","description":"住所が有効か（町域レベル以上） / Whether the address is valid (at least town level)","examples":[true]},"normalized":{"anyOf":[{"$ref":"#/components/schemas/NormalizeResponse"},{"type":"null"}],"description":"正規化結果（有効な場合） / Normalization result (if valid)"},"match_level":{"type":"string","title":"Match Level","description":"マッチレベル / Match level: 'none', 'prefecture', 'city', 'town', 'block', 'full'","examples":["full"]},"components":{"anyOf":[{"$ref":"#/components/schemas/ValidateComponentsInfo"},{"type":"null"}],"description":"コンポーネント別バリデーション詳細 / Per-component validation details"},"issues":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Issues","description":"検出された問題点（日本語 / 英語） / Validation issues found (Japanese / English bilingual)","examples":[["番地が指定されていません / Block number (banchi) is not specified"]]}},"type":"object","required":["valid","match_level"],"title":"ValidateResponse","description":"住所バリデーションレスポンス / Address Validation Response\n\nValidates whether an address can be normalized and returns the match level,\ncomponent-level validation details, and any issues found.\n\n住所が正規化可能かどうかを検証し、マッチレベル、コンポーネント別の\nバリデーション詳細、および検出された問題点を返します。"},"VariantAddress":{"properties":{"pref":{"type":"string","title":"Pref","description":"都道府県 / Prefecture","default":"","examples":["東京都"]},"city":{"type":"string","title":"City","description":"市区町村 / City/Ward","default":"","examples":["千代田区"]},"town":{"type":"string","title":"Town","description":"町域 / Town area","default":"","examples":["千代田"]}},"type":"object","title":"VariantAddress","description":"ソース別住所表記 / Address variant from a specific data source"},"WarmupResponse":{"properties":{"status":{"type":"string","title":"Status","description":"ウォームアップ状態 / Warmup status: 'already_loaded', 'loading', or 'loading_started'","examples":["loading_started"]}},"type":"object","required":["status"],"title":"WarmupResponse","description":"ウォームアップレスポンス / Warmup Response\n\nReports the status of a data preload request.\nデータ事前ロードリクエストの状態を報告します。"}}},"tags":[{"name":"Normalization / 住所正規化","description":"Core address normalization endpoints. Accepts Japanese addresses in various formats and returns structured, validated data.\n\n住所正規化の中核エンドポイント。様々な形式の日本の住所を受け付け、構造化・検証済みデータを返します。"},{"name":"Batch / 一括処理","description":"Batch normalization for processing multiple addresses in a single request (up to 100 addresses).\n\n1回のリクエストで複数の住所を処理する一括正規化エンドポイント（最大100件）。"},{"name":"Health / ヘルスチェック","description":"Health check and readiness probe endpoints for monitoring and orchestration (Cloud Run, Kubernetes, etc.).\n\n監視・オーケストレーション用のヘルスチェック・レディネスプローブエンドポイント（Cloud Run、Kubernetes等）。"},{"name":"MCP / Model Context Protocol","description":"MCP (Model Context Protocol) integration status and configuration. The actual MCP endpoint is mounted at `/mcp`.\n\nMCP (Model Context Protocol) の統合状態と設定情報。MCPエンドポイント本体は `/mcp` にマウントされます。"},{"name":"Lookup / 住所検索","description":"Postal code lookup, address suggestion, validation, and reverse geocoding endpoints.\n\n郵便番号検索・住所サジェスト・バリデーション・逆引きエンドポイント。"},{"name":"Rate Limiting / レート制限","description":"Endpoints to monitor current rate limit status.\n\n現在のレート制限状況を監視するためのエンドポイント。"}]}