awardwallet について
awardwalletは、AwardWallet Business Account Access APIを通じてポイント残高、ステータス、アカウント履歴を取得する旅行計画スキルです。Businessアカウントと接続済みアカウントの認証情報がある利用者向けです。
主な機能
- 01接続済みアカウントの残高取得
- 02ステータスとアカウント属性の表示
- 03全取引履歴の取得
- 04保存済み旅行日程の取得
- 05対応プロバイダー一覧の確認
活用シーン
- 01旅行計画前の航空・カードポイント集計
- 02ロイヤルティアカウントの最近の取引確認
- 03指定期間内の旅行日程確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ borski/ travel-hacking-toolkit --skill awardwalletインストール後、Claude Code で/awardwalletを入力して読み込まれたか確認します。
詳細
AwardWallet スキル
AwardWallet Business Account Access API を介して、ロイヤルティプログラムの残高、エリートステータス、取引履歴を照会します。
ソース: business.awardwallet.com — Business アカウントが必要です。
認証
.env ファイルに次の値を設定します。
AWARDWALLET_API_KEY— https://business.awardwallet.com/profile/api から取得しますAWARDWALLET_USER_ID— 接続済みユーザー ID です。下記の接続済みユーザー一覧エンドポイントから確認できます。
すべてのリクエストで X-Authentication ヘッダーを使用します。
初回設定時の注意点: AwardWallet は Business API キーに IP 許可リストを適用しています。IP が許可リストに登録されていない場合、すべての呼び出しで
{"error": "access_denied", "code": "IP_DENIED"}が返されます。トラブルシューティングの前に IP を許可リストに登録してください。
- 許可リストの登録先: https://business.awardwallet.com/profile/api
- IP の確認方法:
curl ifconfig.me- 複数の IP: 自宅、職場、ホットスポット、VPN の出口ノード、旅行先など、それぞれを登録する必要があります。安定した家庭用 ISP を利用している場合は、/24 を許可リストに登録するのが最も簡単です。
エラーの特徴
| 応答 | 意味 | 対処方法 |
|---|---|---|
{"error": "access_denied", "code": "IP_DENIED"} | IP が許可リストに登録されていません | 開発者ポータルで現在の IP を許可リストに登録します |
Unauthorized / 401 | キーが正しくありません | キーを再生成します |
空の accounts 配列 | ユーザー ID が正しくないか、接続がありません | AWARDWALLET_USER_ID を確認します |
API ベース
https://business.awardwallet.com/api/export/v1
クイックスタート:すべての残高を取得する
curl -s -H "X-Authentication: $AWARDWALLET_API_KEY" \
"https://business.awardwallet.com/api/export/v1/connectedUser/$AWARDWALLET_USER_ID" | jq '.accounts'
レスポンスフィールド
各アカウントオブジェクトには次の情報が含まれます。
| フィールド | 説明 |
|---|---|
accountId | 詳細確認に使用する一意の ID |
code | プロバイダーコード(例:「united」、「chase」、「amex」) |
displayName | 人が読みやすい名称(例:「United Airlines (MileagePlus)」) |
kind | カテゴリー:航空会社、ホテル、クレジットカードなど |
balance | 書式設定済みの残高文字列 |
balanceRaw | 数値の残高 |
properties | ステータス、口座番号、有効期限などを含む配列 |
history | 直近 10 件の取引(全履歴を取得するには /account/{id} を呼び出します) |
errorCode | 1 = 更新成功、2 = 認証情報が無効、など |
便利な jq フィルター
以下のフィルターは、すべて curl の出力をパイプで渡すことを前提としています。上記の curl コマンド全体で ... を置き換えてください。
# Just airline balances with status
... | jq '[.accounts[] | select(.kind == "Airlines") | {name: .displayName, balance: .balanceRaw, status: ((.properties // [])[] | select(.kind == 3) | .value) // "none"}]'
# Just hotel balances with status
... | jq '[.accounts[] | select(.kind == "Hotels") | {name: .displayName, balance: .balanceRaw, status: ((.properties // [])[] | select(.kind == 3) | .value) // "none"}]'
# Just credit card / transferable points
... | jq '[.accounts[] | select(.kind == "Credit Cards") | {name: .displayName, balance: .balanceRaw}]'
# All balances sorted by amount (descending), non-zero only
... | jq '[.accounts[] | {name: .displayName, kind: .kind, balance: .balanceRaw} | select(.balance > 0)] | sort_by(-.balance)'
# Elite status across all programs
... | jq '[.accounts[] | {name: .displayName, status: ((.properties // [])[] | select(.kind == 3) | .value) // null} | select(.status != null)]'
# Accounts with errors (need password update, etc.)
... | jq '[.accounts[] | select(.errorCode != 1) | {name: .displayName, error: .errorCode}]'
# Combined summary for trip planning (airlines + transferable points, non-zero, sorted)
... | jq '[.accounts[] | select((.kind == "Airlines" or .kind == "Credit Cards") and .balanceRaw > 0) | {name: .displayName, kind: .kind, balance: .balanceRaw, status: ((.properties // [])[] | select(.kind == 3) | .value) // null}] | sort_by(-.balance)'
詳細確認:アカウントの全履歴
直近 10 件を超える全取引履歴を取得するには:
curl -s -H "X-Authentication: $AWARDWALLET_API_KEY" \
"https://business.awardwallet.com/api/export/v1/account/{accountId}" | jq '.account[0].history'
旅行のタイムライン
接続済みユーザーの保存済み旅程を取得します。
curl -s -H "X-Authentication: $AWARDWALLET_API_KEY" \
-X POST \
-H "Content-Type: application/json" \
-d '{"start": "2026-01-01", "end": "2027-01-01"}' \
"https://business.awardwallet.com/api/export/v1/travel-timeline/$AWARDWALLET_USER_ID" | jq '.itineraries'
サポート対象プロバイダーの一覧表示
curl -s -H "X-Authentication: $AWARDWALLET_API_KEY" \
"https://business.awardwallet.com/api/export/v1/providers/list" | jq '.'
アカウントプロパティの種類
properties 配列を解析する際、次の kind 値が標準化されています。
| 種類 | 意味 |
|---|---|
| 1 | 口座番号 |
| 2 | 有効期限 |
| 3 | エリートステータス |
| 4 | 生涯獲得ポイント |
| 5 | 入会年月 |
| 6 | 有効期限が近い残高 |
| 7 | 年初来のマイル/ポイント |
| 8 | 年初来の搭乗区間数 |
| 9 | 次のエリートレベル |
| 10 | 次のレベルまでに必要なポイント |
| 11 | 次のレベルまでに必要な搭乗区間数 |
| 12 | 名前 |
| 13 | 最終利用日 |
| 14 | 次の特典に必要なポイント |
| 15 | ステータスの有効期限 |
| 16 | ステータス維持に必要なポイント |
| 17 | ステータス維持に必要な搭乗区間数 |
| 18 | アライアンスのエリートレベル |
| 19 | ステータス対象マイル/ポイント |
エラーコード
| コード | 意味 |
|---|---|
| 0 | 更新されたことがありません |
| 1 | 成功 |
| 2 | 認証情報が無効です |
| 3 | ロックアウトされています |
| 4 | プロバイダーエラー、またはユーザーの操作が必要です |
| 5 | AwardWallet によってプロバイダーが無効化されています |
| 6 | 解析に失敗しました |
| 7 | パスワードがありません |
| 8 | ロックアウト防止のため無効化されています |
| 9 | 警告付きで成功しました |
| 10 | セキュリティ質問への回答が必要です |
| 11 | タイムアウトしました |
ワークフロー:旅行計画の概要
旅行を計画するときは、次のワークフローを実行します。
- すべてのアカウントを取得します
- 航空会社とクレジットカード(移行可能なポイント)に絞り込みます
- プログラム名、残高、エリートステータスを見やすくまとめます
- 更新が必要と思われるエラーのあるアカウントを記載します
- 渡航先で利用できる移行提携先と照合します
メモ
- ユーザー/メンバーの詳細レスポンスに含まれる履歴は、最大10件です。履歴全体を確認するには、
/account/{id}を使用してください。 balanceRawは数値です。balanceにはカンマ区切りの値が表示されます。- 接続済みユーザーは、自分のアクセスレベルを管理します。データが制限されている場合は、共有範囲が制限されている可能性があります。
- Capital Oneのように、1つのログインで複数のカードを利用するプログラムでは、サブアカウントが存在します。
subAccounts配列を確認してください。