Vercel API は、Vercel 上のプロジェクトをプログラムから制御するための API だ。デプロイのトリガー、ロールバック、ドメインや環境変数の管理、チーム運用までをコードで扱える。ダッシュボードでポチポチやっていた操作を自動化に置き換えるのが役割だ。

どこで効くか

真価が出るのは、プロジェクトが増えてきたときだ。一つ二つならダッシュボードで足りるが、十数個のプロジェクトを抱えると、環境変数の一括更新やドメインの棚卸しが手作業では回らなくなる。Vercel API があれば、スクリプトで全プロジェクトを横断して設定を揃えられる。

外部 CI からデプロイを叩く、特定ブランチのマージ後にロールバック用のフックを仕込む、といった「Vercel の標準フローの外側」で制御したい場面にもはまる。

標準連携で足りるか、API が要るか

注意したいのは、多くのチームは Vercel API を直接触る必要がないという点だ。GitHub / GitLab との Git 連携を有効にすれば、push に対するデプロイもプレビュー環境の生成も自動で走る。API を持ち出すべきなのは、Git 連携の枠に収まらない要件——複数プロジェクトの設定同期、外部システムからのデプロイ起動、独自の承認フロー——がある場合だ。標準機能で済むものをわざわざ API で組み直すと、保守対象を無駄に増やすことになる。

料金とトークンの扱い

API 自体に追加費用はなく、Vercel のプラン料金に含まれる。使った分だけ別請求、という心配がない点はシンプルでよい。一方でトークンの権限スコープには注意が要る。本番デプロイやロールバックを叩けるトークンが漏れると、サービスを止められる。CI に置く場合は権限を絞り、定期的にローテーションする運用を前提にすべきだ。当然ながら Vercel 専用の API で、他のホスティングには使えない。マルチクラウドでデプロイ先を抽象化したいなら、各プラットフォームの API をアプリ側で吸収する設計が要る。

プラットフォーム操作の自動化に使う

Vercel の API は、アプリのコードから呼ぶというより、デプロイやドメイン、環境変数といったプラットフォーム側の設定を自動化する用途で使う。社内で複数のプロジェクトを扱う場合、環境変数の一括更新やプレビュー環境の生成をスクリプト化できると運用が楽になる。CI から呼び出して、独自のデプロイフローを組む使い方も多い。

🔴
トークンの権限範囲に注意してください

アカウント全体を操作できるトークンを CI に置くと、その CI が侵害されたときにプロジェクト全体が危険にさらされます。チームやプロジェクトを限定したトークンを使い、有効期限を設定し、用途ごとに分けてください。環境変数を読み書きできるトークンは、実質的にアプリの秘密情報へのアクセス権と同じです。

使用量とコストの監視に使う

デプロイ回数、帯域、関数の実行時間といった使用状況も API から取得できる。無料枠や契約プランの上限に近づいたときに気づける仕組みを自前で作っておくと、突然の制限や超過課金を避けられる。とくにプレビューデプロイを多用するチームでは、想定より早く上限に届くことがあるため、監視しておく価値がある。