はじめに
API ConnectでAPIを開発する際には、OpenAPI(YAML)によるAPI定義の作成やポリシー設定が必要になります。
しかし、これらを手作業で作成すると、記述ミスや設定漏れが発生しやすく、API定義の作成に手間がかかることがあります。
そこで今回は、IBM Bobを利用し、自然言語の指示(プロンプト)からAPI Connect用のAPI定義をどこまで生成できるのかを試してみました。
具体的には、セキュリティ設定やレスポンス生成のロジックを含むAPI定義を、AIにどこまで正確に作成させることができるのかを検証します。
この記事では、Bobに自然言語でAPI仕様を指示し、OpenAPI(YAML)を生成してAPI Connectにインポートすることで、現在時刻を返却するシンプルなAPIを作成します。
さらに、生成されたAPIをAPI Connect上で公開し、実際にリクエストを送って動作を確認します。なお今回はバックエンドサーバーを用意せず、API Connectのみを使用してAPIを実装します。
前提条件
- IBM API Connect の環境が利用可能であること
- IBM Bobが利用可能であること
今回作るAPI
今回は時刻を返すとてもシンプルなAPIを作成します。
GET /time/current
レスポンス例
{
"timestamp": "2026-03-09T06:05:50.507Z",
"timezone": "UTC",
"message": "Current system time retrieved successfully"
}
実装手順
1. BobにAPIからOpenAPI YAMLを生成する
まずIBM Bobに以下のプロンプトを入力します。
# 指示
IBM API Connectで現在時刻を返却するAPIを作成してください。
# 注意事項
この手順では、バックエンドサーバーを別途用意することなく、APICのSet-variableポリシーを使用して直接レスポンスを生成します。
1. APIの基本定義 (Design)
Title: Get System Time
Name: get-system-time
Base Path: /time
Version: 1.0.0
2. パスの設定
Paths セクションで新しいパス /current を追加します。
Operations で GET メソッドを選択します。
3. アセンブル・ロジックの構築 (Assemble)
Set-variableポリシーで現在時刻を含むJSONレスポンスを生成する実装にしてください。
レスポンスボディの設定 (message.body)
Type: set
Value:
'{"timestamp":"$(request.date)","timezone":"UTC","message":"Current system time retrieved successfully"}'
4. セキュリティとして、API Key (Client ID) による認証を追加してください。
Bobは Planモード で実装プランを作成してくれます。
プランを確認して承認をすると、OpenAPIのYAMLを生成してくれます。

生成されたget-system-time-api.yamlのファイルが、API ConnectにインポートするOpenAPI定義になります。
ポイント
APIの基本情報
APIの基本情報を定義します。
title: Get System Time
name: get-system-time
basePath: /time
version: 1.0.0
ここではAPIの名前やベースパスを定義しています。
パスの設定
新しいパス/currentを追加します。
GET /time/currentが今回作成するAPIのエンドポイントになります。
Set-variableポリシー
今回のAPIではバックエンドサーバーを用意しません。
代わりにSet-variableポリシーを使用してAPI Connectが直接レスポンスを生成します。
message.body
これはAPIレスポンスの本文を意味します。レスポンスのJSONは次のように設定しています。
{"timestamp":"$(request.date)","timezone":"UTC","message":"Current system time retrieved successfully"}
API Key認証
APIを安全に公開するためAPI Key(Client ID)認証を設定します。
API呼び出し時には次のヘッダーを指定します。
X-IBM-Client-Id
2. IBM API Connectにインポートする
次にBobが作成したYAMLをAPI Connectにインポートします。
「OpenAPI 3.0」を選択し、「既存のOpenAPI」を選択して「次へ」

先ほどBobが作成したget-system-time-api.yamlをアップロード

3. APIを公開する
ここで Auto Publish がOFFの場合はONに変更します。

APIがオンラインになるとテストが可能になります。
4. APIをテストする
正常に動作すると次のレスポンスが返ります。
{
"timestamp": "2026-03-09T06:05:50.507Z",
"timezone": "UTC",
"message": "Current system time retrieved successfully"
}
まとめ
今回は IBM BobとAPI Connect を使用して、現在時刻を返却するシンプルなAPIを作成しました。
Bobを活用することで、API仕様からOpenAPI YAMLを生成できるため、手作業でYAMLを書く場合と比べてミスを減らしながらAPI作成を進めることができました。
また、API ConnectにインポートするだけでAPIを作成できるため、API開発を効率的に進めることができました。
さらにAPI Connectでは、
- OpenAPIをそのままAPIとして公開できる
- GUIでAPIの設定や管理ができる
- セキュリティやポリシーを簡単に適用できる
といった特徴があり、APIの開発から公開、管理までを一貫して行うことができます。
BobとAPI Connectを組み合わせることで、APIの設計から公開までをよりスムーズに進めることができると感じました。










