Kinsta API
KinstaのREST API(Application Programming Interface)は、開発者によるKinstaのアカウントやプロジェクトに関連した簡単なアクセス、やり取りを支援する機能です。APIを使うことで、弊社プラットフォームでの作業が楽になり、効率的にデータを取得したり、アクションを実行したり、タスクを自動化したりできます。
利用可能なAPIエンドポイントの詳細、OpenAPI関連資料のダウンロード、およびエンドポイントの試用については、APIリファレンスをご覧ください。
KinstaコミュニティフォーラムのKinsta APIカテゴリでは、他の開発者と交流したり、KinstaのREST APIの活用方法やヒント、ベストプラクティスを参照したりすることができます。
認証とユーザーアクセス(APIキー)
Kinsta APIを利用するには、APIキーを生成し、それを使って認証およびアカウントへのアクセスを行う必要があります。APIキーは複数作成することができます。
企業の所有者、企業の管理者、企業の開発者は、APIキーを作成することができます。APIへのアクセスレベルは、ユーザーの権限に応じて異なります。たとえば、企業の開発者が生成したAPIキーは、企業の所有者や管理者が生成したAPIキーと同じアクセス権限を持つわけではありません。
- MyKinstaで画面右上のユーザー名をクリックして「企業の設定」>「APIキー」に移動し、「APIキーの作成」をクリック
- 有効期限を選択するか、有効期限の開始日と時間を指定
- キーに名前を付けて、「生成」をクリック
APIキーは、この時だけ表示されます。必ずコピーして、安全な場所に保管してください。
APIキーのアクセスを取り消すには、対象のAPIキーの横にある「取り消す」をクリックします。
APIエンドポイント
Kinsta APIを使用して、以下のようなタスクを実行することができます。
WordPress専用マネージドクラウドサーバー
- WordPressサイトの一覧、特定のサイト情報、サイトの環境情報の取得
- WordPressサイトの作成、既存サイトの複製、空のサイト(WordPress無し)の作成、サイトの削除
- ステージング環境の作成、ステージング環境の本番環境への反映、ステージング環境の削除
- キャッシュのクリア、PHPの再起動および更新、拒否されたIPアドレスの一覧取得
- 環境ごとにPHPメモリ制限とPHPスレッド数の変更
- WordPressファイル(
wp-config.php、wp-content、wp-admin、wp-includes)が配置されているサイトパスを変更 - リダイレクトルールの取得と更新
- サイトのSFTP/SSHステータスを取得し、有効化または無効化
- プラグインおよびテーマの一覧取得、更新
- ドメインの追加および削除
- エッジキャッシュおよびCDNキャッシュのクリア
- 追加のSFTPアカウントの一覧を取得し、それらを有効化・無効化、追加、削除
- バックアップの一覧、ダウンロード可能なバックアップの一覧取得、サイトへのバックアップ復元、バックアップの削除
- ログファイルの取得
静的サイトサーバー
- 静的サイトの一覧および特定のサイト情報の取得、サイト設定の更新、サイトの削除
- 静的サイトのデプロイ情報の取得、サイトの手動または自動デプロイ
ウェブアプリケーションサーバー
- アプリケーションの一覧、特定のアプリケーション情報(デプロイやプロセスの詳細など)の取得、アプリケーション設定の更新、アプリケーションの削除
- アプリケーションのデプロイ情報取得、アプリケーションの手動または自動デプロイ
- アプリケーションとデータベース間で内部接続の作成
- CDNとエッジキャッシュの有効化とクリア
マネージドデータベースサーバー
- 企業のデータベース一覧と各データベースの詳細情報の取得、新規データベースの作成、データベース設定の更新、およびデータベースの削除
企業
- メールアドレス、名前(姓名)、プロフィール写真へのリンクを含む企業内のユーザーの一覧取得
- 企業内で利用可能なデータセンター所在地の一覧取得
DNS管理
- サイトのドメインとDNSレコードの一覧取得
- DNSレコードの作成、更新、削除
一般的な使用例
レポートの作成
APIを使用してデータを読み込むことができるので、独自のレポートを作成したり、内部の追跡システムにKinstaサービスを統合したりすることができます。サイト管理に関連する代行業を営んでおり、すべてのクライアントをリストアップするアプリケーションを使用するには、APIを使用して、各クライアントに属するすべてのWordPressサイト、アプリケーション、およびデータベースを取得することができます。
定期的なタスクの実行
アプリケーションを作成し、サイトのパフォーマンスに影響を与えたり、ダウンを引き起こしたりする可能性のあるタスクを夜間に設定することができます。例えば、夜間にサイトのキャッシュをクリアすることで、サイト訪問者への影響を最小限に抑えることも可能です。
サイトの管理
Node.jsとAPIを使って、サイト管理用のSlackbotを構築可能です。Slackbotで、サイトの稼働状況の確認、サイトのキャッシュのクリア、PHPエンジンの再起動などのタスクを実行することができます。
WordPressサイトの作成
APIを使用して、WordPressサイトを作成可能です。例えば、代行業を運営する中で、毎回MyKinstaにログインすることなくサイト作成を自動化できるようにしたい場合には、APIを使用してサイトを作成し、WooCommerce、Yoast SEO、Easy Digital Downloadsをインストールすることができます。
また、WordPressマルチサイト(is_multisite TRUE)を作成し、サブドメイン(is_multisite TRUE)またはサブディレクトリ(is_subdomain_multisite FALSE)の構成を指定可能です。
サイトの作成状況を確認するには、Operationsエンドポイントを使用します。
操作状況の確認
時間のかかる可能性のある操作(サイトの作成、キャッシュのクリア、PHPの再起動など)に対して、APIは結果を即座に応答することはありません。これは、操作に時間がかかったために、サーバーのスレッドがブロックされたり、ゲートウェイがタイムアウトしたりする可能性を防ぐための仕様です。
操作の状態を確認するには、/operationsエンドポイントを使用します。オペレーションを開始すると、APIからの即時応答には、/operationsエンドポイントで使用するためのoperation_idが含まれます。詳細と例は、詳細と例はこちらをご参照ください。
レート上限
APIにリクエストが殺到することを防ぐため、1分あたりのリクエスト数は以下のように制限されています。
- APIキーから特定される企業IDにつき毎分120件のリクエスト
- IPアドレスにつき毎分1000件のリクエスト(複数の企業にアクセスする場合に有効です)
- リソース作成(WordPressサイトの作成など)につき毎分5件のリクエスト
レート上限のステータスを確認するには、最新のAPIレスポンスのRateLimitヘッダーをご覧ください。現在、レート上限の引き上げは承っておりません。
トラブルシューティング
APIキーがアクセスできないエンドポイントにリクエストした場合、アクセスできないことを知らせるエラーメッセージが表示されます。そのエンドポイントへのアクセスが必要な場合は、企業の所有者または管理者がAPIキーを生成する必要があります。
APIリファレンス
利用可能なAPIエンドポイントの詳細、OpenAPI関連資料のダウンロード、およびエンドポイントの試用については、APIリファレンスをご覧ください。