Postman Spec Hub

に公開

先日Postmanが開催している年次カンファレンスであるPOST/CON 25でいくつかの新機能がリリースされました。
https://postcon.postman.com/2025/

中の人である川崎さんがそれぞれの機能のサマリーをXでポスト(Postmanだけに・・・やかましい、ごめんなさい)してくれています。

それらを触っていこうと思います。第二回目はSpec Hubです。

Spec Hub とは

PostmanはCollectionという機能を用いてAPIコールを設定しテストを行うことが可能です。CollectionではGUIをベースとした作業によるAPIコールの作成の他に、CLI経由でjsonによるAPI作成、curlコマンドをインポートすることが可能ですが、それに加えてOpenAPI3.0 準拠のAPI諸元をインポートすることも可能でした。

コレクションはAPIコールをまとめて管理することは可能である一方、APIコールを作成するAPI諸元である、OpenAPI3.0の管理することは行えませんでした。新しく発表されたSpec Hubを使うことで、OpenaPI3.0やAsyncAPI2.0準拠のAPI諸元をまとめて管理し、そこからコレクションを作成することが可能となりました。
企業がAPIを開発する場合、土台となるAPI諸元をあらかじめ共通ルールとして定めておき、そこから派生させて各プロジェクト毎のAPIを作成する、ということがこれにより簡単に行えるようになります。

さっそくやってみる

無償バージョンのPostmanだと1つSpec HubでAPI諸元を管理できるようになっていますので、それをためしていきます。
まず左ペイン一番下の四角の集合体をクリックします。

Specsのトグルをオンにします。


Create Newをクリックし、OpenAPI 3.0を選択します。

以下の様にOpenAPI3.0のAPI諸元を管理する画面が起動します。

以下の値をコードエディタに貼り付けます。

openapi: 3.0.0
info:
  title: Kameda RequestCatcher API
  version: 1.0.0
  description: RequestCatcher に JSON データを POST するサンプル API
servers:
  - url: https://kameda.requestcatcher.com
paths:
  /:
    post:
      summary: JSON データを POST
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                message:
                  type: string
                  example: "これはテストメッセージです"
                timestamp:
                  type: string
                  format: date-time
                  example: "2025-06-07T21:59:34+09:00"
      responses:
        '200':
          description: リクエストが正常にキャッチされました
        '400':
          description: 不正なリクエスト

右側にこのようにyamlを解析した内容が表示されます。

コードエディタでは構造解析が自動で行われ開発補助機能が提供されています。

ではこのAPI諸元をもとに、Collectionを作成します。Generate Collectionをクリックします。


無事APIコールがCollectionに生成されました。

Collection から Spec Hub へのエクスポート

Spec Hubには上記とは逆のステップもサポートされています。つまりすでに作成されているCollectionから Spec Hub へ Specification をエクスポート可能です。
Generate specificationをクリックします。

エクスポート形式をyamljsonから選択します。

無事Spec Hub にOpenAPI3.0準拠のAPI諸元がyaml形式でエクスポートされています。

Discussion