このビルダーは、メソッド・URL・クエリパラメータ・ヘッダー・任意の Basic/Bearer 認証・本文をまとめて 1 つの HTTP リクエストに組み立て、cURL コマンドと Fetch スニペットとして出力します。対象の API がブラウザからの呼び出しを許可していれば、同じリクエストをこのタブから送信できます。
2 つ目のパネルは、貼り付けまたはファイル選択したローカルの OpenAPI 3.x/Swagger 2.0 ドキュメントを読み取り、その操作の 1 つでビルダーを埋めます。解析中にアップロードも URL の取得も行いません。
cURL 欄は 1 つのコマンドです。curl -X にメソッド、クエリ文字列を含む URL、ヘッダーごとの -H、本文の --data-raw が続き、シェル用に単一引用符がエスケープされます。Fetch 欄は同じ内容の fetch() 呼び出しで、メソッド、headers オブジェクト、credentials: "omit"、文字列の本文を持ちます。
「リクエスト JSON をダウンロード」はメソッド・URL・ヘッダー・本文・本文の種類を kivtools-http-request.json として保存し、Authorization・Cookie・X-API-Key の値は [redacted] に置き換えます。「OpenAPI フラグメントをダウンロード」は、URL のオリジンをサーバーとし、クエリ文字列をクエリパラメータ、入力したヘッダーをヘッダーパラメータ、本文から推論した requestBody を持つ 1 つの操作を含む OpenAPI 3.0.3 ドキュメントを書き出します。認証を選んだ場合は bearer または basic のセキュリティスキームも付きます。
ヘッダー行は「ヘッダー名: 値」の形式で、名前は HTTP トークンとして有効な文字でなければなりません。ブラウザーが制御する名前 — Host、Origin、Referer、Cookie、Content-Length、Connection、Accept-Encoding、DNT、Date、Expect、Keep-Alive、TE、Trailer、Transfer-Encoding、Upgrade、Via、および Access-Control-Request-* — はリクエストを組み立てる前に拒否され、どの名前が拒否されたかをメッセージで示します。
Content-Type は未入力の場合にのみ補われます。JSON なら application/json、プレーンテキストなら text/plain;charset=utf-8、フォームなら application/x-www-form-urlencoded;charset=UTF-8 です。クエリの値はパーセントエンコードされ、値を空にしたキーは空のパラメータとして送信されます。
ドキュメントを解析すると、各操作が「メソッド /パス — 概要」として一覧され、パネルには先頭 24 件が表示され、総件数も通知されます。1 つ選ぶと、サーバー(変数は既定値で置換)、パス、クエリパラメータ、ヘッダーパラメータ、パスパラメータ、および example・examples・スキーマから作った本文のサンプルが入力されます。
paths オブジェクトがない、または openapi/swagger のバージョンがないドキュメントは、paths を持つ OpenAPI 3.x/Swagger 2.0 ではないとして拒否されます。YAML はブラウザー内で解析します。example のないパスパラメータは {name} のプレースホルダーのまま残り、壊れた URL を生成する代わりにその旨を表示します。
「リクエストを送信」は、入力した URL をこのブラウザーから CORS モード・認証情報なしで呼び出します。そのため API 側が kivtools.com を許可している必要があります。応答カードにはステータスコードとテキスト、経過時間(ミリ秒)、プレビューサイズ、応答ヘッダーが表示されます。本文プレビューは 1 MB で止まり、リクエストは 30 秒で中断されます。
CORS ヘッダーを返さない API、閉じたポート、拒否された証明書の場合は「Failed to fetch」となり、URL、CORS ポリシー、証明書、ネットワーク、API 認証を確認するよう促します。リクエストはタブ内にとどまります。アップロードも保存も行われず、通信は自分が開始した 1 件だけです。