従来、Kinstaのサービスは、MyKinstaを介した手動でのインタラクションを土台としており、人による直接の操作という範囲にシステムを限定していました。そして今、この仕様について大きな転換期を迎えることになりました。

Kinsta API(Application Programming Interface)のご紹介です。

機械とKinstaサービスとのシームレスな相互作用が実現しました。過去の制限に別れを告げ、新たな操作性をお楽しみください。MyKinstaにログインすることなく、Kinstaサイトのタスクを実行可能です。

Kinsta APIで可能になること

比類なき手軽さと効率で、リモートアクセスでのタスク実行が可能になりました。Kinsta APIの活用例をご紹介します。

1. レポートの生成

KinstaのAPIを使用すると、Kinstaサービスを社内のトラッキングシステムにシームレスに統合することができます。クライアントのWordPressサイト、アプリケーション、およびデータベースをすべてリストアップする場合でも、独自のダッシュボードを構築する場合でも問題ありません。APIを使えば、Kinstaの分析データを簡単に取得可能です。

2. 定期的なタスクの実行

Kinsta APIを使用すると、タクスのスケジュール管理アプリを作成できるため、サイトのパフォーマンスに影響を与える作業を深夜に手動で実行する必要がなくなります。キャッシュのクリアや重要な操作の実行などの作業を、APIを使用して簡単に自動化できます。

3.WordPressサイトの作成

Kinsta APIを使用し、WordPressサイトを自動で作成することができます。また、APIからWooCommerceYoast SEOなどの人気プラグインをインストールすることで、サイトの機能をコントロールすることが可能です。

しかし、それだけではありません。Kinsta APIでは、WordPressマルチサイトを作成し、サブドメイン(is_subdomain_multisite TRUE)またはサブディレクトリ(is_subdomain_multisite FALSE)の構成を指定することもできます。

Kinsta APIの利用を開始する

Kinsta APIの使用を開始するには、MyKinstaで少なくとも1つのWordPressサイトアプリケーション、またはデータベースを持つ有効なアカウントが必要です。また、アカウントを認証してアクセスするためにAPIキーを生成する必要があります。

認証とユーザーアクセス

APIキーを生成する方法は以下の通りです。

  1. コントロールパネル「MyKinsta」に移動する
  2. APIキー」ページ(「(アカウント名)」>「企業の設定」>「APIキー」)に移動する
  3. APIキーの作成」をクリック
  4. キーの有効期限を選択するか、開始日と時間をカスタムで設定
  5. キーに一意の名前を付ける
  6. 生成」をクリック
Generate an API key
MyKinstaで「APIキー」を作成する

APIキーが生成されたら、必ずコピーして安全な場所に保管しておいてください。後から表示することはできませんのでご注意ください。

APIキー」のページでは、複数のAPIキーを生成することができます。APIキーのアクセスを取り消すには、対象となるAPIキーの横にある「取り消す」をクリックします。

アクセス権

APIキーに複数のアクセスレベルを実装することで、APIへのアクセスを制御することができます。Kinsta APIの場合、企業の所有者管理者開発者がAPIキーを作成できるため、APIへのアクセスレベルはユーザーの役割に依存することになります。

例えば、企業の開発者が生成したAPIキーは、企業の所有者や管理者が生成したキーと同じアクセス権を持ちません。

Kinsta APIで自動化を実装する

APIキーを取得したら、Kinsta APIで自動化の処理を行うことができます。Kinsta APIリファレンスドキュメントでは、リクエストとレスポンスのサンプルとともに、各エンドポイントの詳細な説明、クエリの方法、必要なパラメータ、可能なレスポンスをご紹介しています。

たとえば、会社のアプリケーションのリストを取得するには、applicationsエンドポイントを使用します。このエンドポイントには、「企業ID」の値を持つcompanyパラメータが必要です(この情報は、MyKinstaの「請求先情報」ページで確認できます)。エンドポイント(https://api.kinsta.com/v2/applications?company=UNIQUE_COMPANY_ID)にGETリクエストを送信すると、機能のアプリケーションを含むJSONデータが返されます。

{
    "company": {
        "apps": {
            "items": [
                {
                    "id": "ccd26ccb-8e78-4cf0-a5b2-2ab5d1a23760",
                    "name": "chatgpt-clone-g9q10",
                    "display_name": "chatgpt-clone",
                    "status": "deploymentSuccess"
                },
                {
                    "id": "1adf1e9c-f35e-491e-bec9-fe00ad9f2086",
                    "name": "kinsta-developer-portfolio-ir8w8",
                    "display_name": "Kinsta-developer-portfolio",
                    "status": "deploymentSuccess"
                },
            ]
        }
    }
}

Kinsta APIでできることは、Kinsta APIリファレンスドキュメントに記載されているように、まだまだあります。

動作状況の確認

時間のかかる可能性のある操作(サイトの作成、キャッシュのクリアPHPの再起動など)に対して、APIは結果を即座に応答することはありません。これは、操作に時間がかかったために、サーバーのスレッドがブロックされたり、ゲートウェイがタイムアウトしたりする可能性を防ぐための仕様です。

操作の状態を確認するには、operationsエンドポイントを使用します。すると操作のステータスが返されます。例えば、以下の通りです。

{
  "status": 202,
  "message": "Operation in progress",
  "data": null
}

このoperationsエンドポイントは、パスパラメータとしてoperation_idを必要とし、これは、何らかの長期間の操作を実行したときに202 Acceptedレスポンスとして取得できます。詳細と例については、こちらのリファレンスをご参照ください。

レート上限

APIが多くのリクエストで溢れるのを防ぐため、1分あたりのリクエスト数は60に制限されています。ただし、サイト作成の場合は例外で、1分あたり5件のリクエストに制限されます。

現在のレート上限のステータスは、最新のAPIレスポンスのRateLimitヘッダーで確認することができます。

RateLimit-Limit: 60
RateLimit-Remaining: 50
RateLimit-Reset: 60

現在、レート上限を引き上げることはできません。

トラブルシューティング

APIキーがアクセスできないエンドポイントにリクエストを行うと、APIからは、アクセス権がないことを知らせるエラーメッセージが返されます。そのエンドポイントにアクセスするには、企業の所有者または管理者によるAPIキーの生成が必要になります。

Kinsta APIを自動化や効率化に是非ともご活用ください。ご利用開始はこちら