開発者向け

コードから操作できるホスティング

Zinn Digital®は API ファーストのプラットフォームです。弊社のダッシュボードを支える同一のエンジン API をお客様にご利用いただけます。バージョン管理され、仕様ファーストであり、ビルド時に100%文書化され、その上に生成された SDK、CLI、Terraform プロバイダー、署名付き Webhook、および MCP サーバーを備えています。お客様が作業に使用するものがターミナル、パイプライン、ステートファイル、または AI エージェントのいずれであっても、プラットフォームはそれに応答します。

サブスクライブしている複数のリスナーに署名付きイベントを配信する API エンドポイント。
  • 700,000+世界中でホストされているサイト
  • 1各ツールが生成される基となる OpenAPI 仕様
  • 4クライアント SDK — TypeScript、Python、PHP、Go
  • OAuth 2.1スコープ付き・失効可能な AI エージェントのアクセス

1つの API。すべてのサーフェスがその上で動作します。

ほとんどのホスティング事業者は後付けでコントロールパネルに API を組み込むため、パネルの機能の半分が日の目を見ないという結果になりがちです。私たちはその逆の方法で構築しました。ダッシュボード、管理コンソール、CLI、Terraform プロバイダー、MCP サーバー、そしてお客様独自の連携機能はすべて、まったく同一のエンジン API を利用しています。パネルで実行できる操作であれば、コードでも同様に実行できます。

仕様先行、後からの文書化ではない

OpenAPI 仕様は信頼できる唯一の情報源であり、仕様に含まれていないエンドポイントがリリースされることはありません。この唯一のルールによって、パブリック API は後からではなくビルド時に完全に文書化されます。文書化されていないエンドポイントは存在し得ないため、未文書化の箇所は一切ありません。

自動生成 (手動でのメンテナンス不可)

インタラクティブなリファレンスドキュメント、4つのクライアント SDK、CLI の大半、そして Terraform プロバイダーの雛形はすべて、その単一の仕様から生成されます。1つのソースから多数の成果物が作成され、常に同期されるため、実装から乖離したドキュメントを追いかける必要は決してありません。

非推奨ポリシーに基づくバージョニング

エンドポイントは、公開された非推奨ポリシーおよび変更ログとともに /v1 の下に配置されています。ビルドの失敗によって変化に気づくのではなく、変更が生じる前に書面で通知されます。

CI でコントラクトテスト済み

実装と仕様の整合性を検証するコントラクトテストおよび OpenAPI のリントは、変更のたびに実行されます。コードとコントラクトの乖離はビルドの失敗を引き起こすため、クライアントの生成元となる仕様は、サーバーが実際に準拠している仕様そのものとなります。

認証、スコープ設定、および大規模運用で直面する落とし穴

2つの入口、その背後にある1つの統一された原則。どちらをご利用になっても、同一の権限チェックと同じデータベースレベルの分離が適用されます。

API キー (組織別)

キーは zdk_<mode>_<prefix>_<secret> のような形式になります。シークレットの SHA-256 ハッシュのみが保存されます。発行後にキーを再表示することはできず、データベースにアクセスできる者であっても同様です。キーにはスコープが設定されており、取り消しが可能で、個人単位ではなく組織単位で発行されます。

本番モードとテストモードを分離

Sandbox キーは本番環境のキーとは別個のものであり、Sandbox モードで動作します。実際の課金や実際のリソースのプロビジョニングは発生しません。費用をかけたりサーバーを構築したりすることなく、統合テストで API へ集中的にリクエストを実行できます。

人間のための OIDC

ユーザーセッションは、レルムの公開鍵で検証される Keycloak 発行の JWT を使用して認証され、API キーと同じ Principal オブジェクトへと解決されます。エンドポイントは、sites.create や apikeys.manage などの詳細な権限キーによってアクセスが制御され、組織ごとにチェックされます。ある組織の権限は、無関係な別の組織へのアクセスを許可しませんが、その配下にネストされた組織には適用されます。

下層の行レベルセキュリティ

テナントの各リクエストは、プリンシパルから設定された Postgres の組織スコープを持つトランザクション内で実行されるため、誰かが忘れる可能性のある ORM フィルターではなく、データベースによって分離が強制されます。多層防御として queryset フィルターも引き続き残されています。

デモのためだけでなく、マシンのために構築

API を README で見栄えよく仕上げるのは容易ですが、実際のトラフィック下で安定して動作させるのは困難です。夜中の3時に連携を破綻させるのはまさにこうした部分であるため、私たちはここに最も心血を注ぎました。

一括処理の挙動を左右するため、言及しておくべき詳細が1点あります。重複ドメインに対する409エラーは、任意のテナントに対して「このホスト名はここでホストされているか ?」という問いに答えてしまうため、列挙オラクルとなり、Footprint-Free に対する実質的な匿名性解除のリスクとなります。サイト作成をスロットリングすることは安易な解決策であり、一括プロビジョニング製品を完全に損なうことになっていたでしょう。代わりに、プリンシパルごとに拒否された重複ドメインの試行のみが予算枠としてカウントされます。作成が成功した場合は決して消費されないため、終日一括でプロビジョニングを行うことができ、探索行為はほぼ即座に停止します。

  • 失敗時に常に返される統一されたエラー形式: コード、わかりやすいメッセージ、フィールド単位の任意の詳細情報、およびサポートに提示できる request_id。検証エラーでは問題のあるフィールド名とともに 422 が返されます。
  • インラインではなくコミット時に再生レコードが書き込まれる POST の冪等性キー — これにより、コミットされなかった行を指定するキャッシュされた201が再試行で再生されることは決してありません。失敗したリクエストは処理中のロックを直ちに解放するため、422によって修正された再試行が締め出されることはありません。
  • UUIDv7上のキーセットとしてのカーソルページネーション — 同時書き込み時でも安定し、スキャンの途中で行が挿入されてもページのずれが発生しません。
  • 生成されたクライアントが推測に頼るのではなくインテリジェントに待機できるよう、レスポンスに RateLimit-Remaining を含めています。
  • スコープ外のリソースは 403 ではなく 404 を返します。403 ではリソースが存在することが確認されてしまうためです。同様の理由により、お客様のスコープ外の組織で絞り込みを行うと空のページが返されます。
  • サイトの作成はプロビジョニングではなく登録です。POST /v1/sites は pending のステータスで 201 を返し、ビルドをブロックすることはありません。イベントは行と同じトランザクションで transactional outbox に書き込まれるため、プロビジョニングの要求が保証されている場合にのみサイトが存在します。

SDK、CLI、および Terraform プロバイダー

3つの異なる働き方に対応する、同一仕様の3つのコンシューマー。

クライアント SDK

TypeScript、Python、PHP、Go 向けに生成され、仕様を追跡するため、手書きのラッパーを待つことなく新しいエンドポイントがお使いの言語に届きます。

Zinnector®、CLI

WordPress サイトのスキャフォールディングを行い、Node 以外何もインストールすることなくローカルで実行し、デプロイできます。Zinnector®は、デプロイ先のスロットに対してプロジェクトの事前検証 (PHP バージョン、ディスク、ファイル数) を行い、プッシュ後ではなくプッシュ前に警告を発します。さらに、サインイン、サイトの一覧表示、デプロイ、ドメインと DNS の管理、メールサービスの読み取り、バックアップの作成、許可リストに登録された WP-CLI の実行、ログのリアルタイム追跡、一括操作の実行も行います。無料で MIT ライセンスが付与されており、これと同じ公開 API 上に構築されています。

Terraform プロバイダー

サイト、ドメイン、DNS レコード、メールボックス、プランをコードとしてのインフラストラクチャ (IaC) として管理します。terraform apply がホスティングをプロビジョニングし、誰も記録していない一連のクリック作業に代わって、環境を再現可能かつレビュー可能な状態にします。

インタラクティブリファレンス

ブラウザから直接確認して呼び出すことができる生成ドキュメント。サーバーが実装しているエンドポイントを正確に記述しています。これは、両者が同一の仕様に基づいているためです。

エンドポイントがダウンしても失われないウェブフック

プラットフォームの背後には堅牢なイベントスパインが存在します。すべての状態変更はデータベースの変更とアトミックに Postgres のトランザクショナルアウトボックスへイベントを書き込み、リレーがそれを NATS JetStream に発行します。イベントには型とバージョンが定義されています — site.deployed、order.paid、invoice.overdue、backup.completed、abuse.flagged、trial.ending、その他。

関心のあるトピックを購読する

エンドポイントを WebhookSubscription として登録し、受信するイベントタイプを選択してください。単一のストリームが通知、アナリティクス、自動化、およびお客様の連携機能に同様にデータを配信します。弊社が利用しているものと全く同じイベントをご利用いただけます。

HMAC で署名済み

すべての配信は HMAC 署名されているため、対応を行う前に当社からの送信であることを確認できます。

バックオフを伴って再試行し、記録しました

失敗した配信はバックオフを行い再試行され、各試行は WebhookDelivery として記録されます。サポートに何を送信したかをメールで問い合わせる代わりに、ダッシュボードから配信を確認して再実行できます。

少なくとも1回、そのため id で重複排除してください

このパイプラインは、「厳密に1回」を装うのではなく、意図的に「少なくとも1回」として設計されています。公開の途中で停止したリレーは要求リースが期限切れとなり、そのイベントは再公開されます。エンベロープ ID に基づいて重複排除を行えば、利用者は設計上正しく動作します。

サイトへのコードの反映

API は開発者のストーリーの半分にすぎません。残りの半分はリリースすることです。

  • OAuth 経由で GitHub、GitLab、または Bitbucket を接続し、デプロイキーを設定ファイルではなく資格情報ストアに保持します。
  • Push により、ブランチから環境へのマッピング (main から production、staging から staging) および composer と npm のスタックごとのビルドステップを含むビルド&デプロイパイプラインがトリガーされます。
  • デプロイで問題が発生した場合は、以前のリリースにロールバックします。
  • ステージング環境への複製と本番反映により、変更内容が訪問者に届く前に実際の環境で検証されます。
  • CageFS による隔離環境下でのサイトごとの SFTP により、各テナントは自身のファイルのみを閲覧できます。さらに共有プラットフォーム上で制限付き (jailed) の SSH シェルも利用可能です。
  • コントロールパネルのターミナルおよび SSH 経由の wp-cli。
  • code-server 経由でブラウザから利用できる VS Code — サイトのファイルを直接編集できる git 搭載のフルエディター。
  • サイトごとの PHP バージョン、編集可能な PHP 設定、サイトごとの拡張機能、環境変数、そして WP-cron と並行した本物の cron。

サイトで作業する4つの方法

API は1つの扉にすぎません。これらが残りの4つであり、開発者向け階層として別売されるのではなく、すべてプランに含まれています。

Web エディター

ダッシュボードのサイトページから開くブラウザ版 VS Code では、git が組み込まれており、エディタ全体がお客様の SFTP アクセスと同じ CageFS 制限環境内に配置され、対象サイトの実際のファイルを編集できます。本番環境のサイトを直接編集します。中間にステージング用のコピーは存在しないため、保存したファイルは書き込まれた瞬間に公開されますが、静的ファイルは最大4時間 CDN キャッシュから配信され続ける場合があります。

Zinnector®、CLI

無料で MIT ライセンス供与されており、同一のパブリック API 上に構築されています。WordPress サイトの雛形を作成し、ご自身のマシンで実行し、デプロイ先の枠に対して事前検証 (PHP のバージョン、ディスク、ファイル数) を行ったうえでデプロイできます。Node 24以降が必要です。

MCP サーバー

1つのツールカタログにより、既にご利用の AI クライアントが、ダッシュボードと同じ API と同じ権限を通じてサイト上で動作します。お客様独自のクライアントが接続するのと同じサーバーが、Web エディターに接続されています。変更を指定するまでは読み取り専用です。

サイトごとの開発者アクセス

クライアントの作業にお客様のパスワードは必要ありません。メールアドレスで招待すれば、アクセスできるサイトは正確に1つだけに制限されます。招待されたユーザーは自身のアカウントで閲覧者、編集者、または管理者ロールとしてサインインし、他のすべてのサイトはハンドラーが実行される前に404を返します。これは Postgres の行レベルセキュリティポリシーとリクエストレベルのフェンスによるものであり、単一のチェックではありません。アカウント所有者は1回のクリックで権限を付与および取り消すことができ、その効果は次のリクエストから即座に適用されます。

そして、お客様の AI エージェントが使用できるのと同じ API

プラットフォームをホスト型 MCP サーバーとして公開しています。これは、同一のアクションカタログ、RBAC、および監査証跡を再利用する、エンジン API 上の軽量なプロトコルアダプターです。Claude Code、Cursor、ChatGPT、Claude Desktop、または任意の MCP 対応クライアントを一度接続するだけで、API に追加されるすべての機能が自動的に利用可能になります。

エージェントは3つの要素を取得します: ツール (同じ API エンドポイント、乖離する並行ロジックなし)、リソース (行動する前に実際のデータで診断できるよう、読み取り専用のサイト健全性、構成、最近のログ、メトリクス、稼働時間、およびナレッジベース記事)、およびプロンプト (「このサイトを診断する」や「移行を準備する」などの公開されたワークフローテンプレート)。

安全性は認証と同様の原則に基づいています。OAuth 2.1、組織にバインドされたトークン、行レベルのセキュリティが適用された RBAC 権限、ツールごとにスコープ設定および取り消しが可能、そして本番環境から分離されたサンドボックスです。破壊的なアクション (削除、一時停止、請求、多額の支出など) には、明示的な確認または人間による承認ポリシーが必要です。レート制限と支出上限により AI による有料アクションが制限され、すべての MCP 呼び出しは ID、ツール、引数、結果とともに監査ログに記録されます。

各アプリを個別に統合するのではなくプロトコルをサポートしているため、ホスティングの統合を変更することなく、AI ツールの選択を変更できます。

よくある質問

公開 API はダッシュボードが使用しているものと同じですか ?

はい — 公開され強化された、まったく同じエンジン API です。ダッシュボード、管理コンソール、CLI、Terraform プロバイダー、MCP サーバー、Web フックはすべて同一のインターフェースを利用しているため、API がパネルに遅れをとることはありません。

費用をかけたり、実際のサーバーを構築したりせずに、連携をテストすることはできますか ?

はい。Sandbox キーは本番用キーとは別に発行され、テストモードで実行されます。実際の請求やプロビジョニングは発生しません。CI を sandbox の認証情報に向け、リクエストとレスポンスの完全なサイクルを安全に実行してください。

再試行によって同じものが重複して作成されるのを防ぐにはどうすればよいですか ?

POST リクエストで Idempotency-Key を送信してください。再生レコードはインラインではなくコミット時に書き込まれるため、再試行によって実際にコミットされていない行のキャッシュされた成功が再生されることは決してありません。また、失敗したリクエストはロックを直ちに解放するため、修正した再試行が滞ることもありません。Webhook の配信は仕様上少なくとも1回行われます (at-least-once) — お客様側でエンベロープ ID をもとに重複排除を行ってください。

1つの API キーにすべてのクライアント組織へのアクセス権を付与することはできますか ?

現時点では対応しておりません。API キーは組織ごとに発行されるため、複数のクライアント組織にまたがる統合ではそれぞれにキーを保持します。ユーザープリンシパルの権限も組織ごとにチェックされます。ある組織で sites.create を保持していても、関連のない別の組織へのアクセス権は付与されませんが、その組織の配下にネストされている組織には適用されます。これは意図的な仕様です。万が一キーが侵害された場合でも、その影響を該当の組織およびその配下のサブ組織のみに限定し、プラットフォーム全体に及ばないようにします。

組み込みの「開発者」ロールでは実際に何が許可されますか ?

開発者 (dev) ロールは、組織情報の閲覧、API キーの管理、サイトの表示と作成、サイトの再起動、キャッシュのクリア、そしてチケットの閲覧と返信を対象としています。請求管理は意図的に除外されています。デプロイおよび本番環境への反映権限は含まれていませんのでご注意ください。チームメンバーにこれらの権限が必要な場合は、開発者が最も広範な技術ロールであると思い込まずに、それらの権限を含むロールを割り当ててください。

エンドポイントが1時間停止した場合、Webhook はどうなりますか ?

配信はバックオフを伴って再試行され、すべての試行は確認可能な WebhookDelivery として記録されます。アップストリームでは、イベントは変更そのものと同じデータベーストランザクション内のトランザクショナルアウトボックスに書き込まれるため、コンシューマーが利用できない間も失われるものはありません。コンシューマーがダウンしても遅延が発生するだけでプロデューサーが破損することはなく、復旧後はダッシュボードから配信を再実行できます。

それを利用して開発を開始するにはどのくらいの費用がかかりますか ?

クレジットカード不要の Footprint-Free ホスティング14日間無料トライアルをお試しください。お支払い情報の登録は不要で、最大5サイトまでご利用いただけます。有料の Footprint-Free プランは、PBN 5向けに月額6ドルからご用意しております。すべてのプランに30日間の返金保証、無料移行、ベンダーロックインなしの特典が含まれています。

仕様書を読み、それに従って構築してください

仕様ファーストの API、自動生成された SDK、CLI、Terraform プロバイダー、署名付き Webhook、および MCP サーバー — 世界中で70万件以上のサイト向けに構築されたホスティング上で提供されます。クレジットカード不要、お支払い情報の登録なしで14日間の無料トライアルをお試しください。

無料で始める

AI エージェントが連携できる WordPress プラグイン

これらのプラグインはそれぞれ WordPress サイトを MCP サーバーにするため、Claude、Cursor、VS Code などの AI アシスタントが、あなたとしてログインし、あなたに許可された権限の範囲内で、サイト上で実際の作業を実行できるようになります。

開発者向けすべての MCP および API ドキュメント →