Moklav GlobalMoklav Global

MOKLAV API (DNS + Hosting) v1.1.0

One API for MOKLAV DNS (zones on ns1/ns2.moklav.com) and MOKLAV Hosting (websites, SSL, mail, databases, FTP, cron, SSH keys, backups, one-click apps), MOKLAV VPS orders (manual review) and enterprise enquiries. Auth: `Authorization: Bearer <key>`. Scopes: `dns` (zones chosen at key creation), `hosting:read`, `hosting:write`. Errors: `{"error":{"code","message","status","details","request_id"}}`. Slow operations return `202` with a job; poll `GET /jobs/{id}` or use webhooks. Guide for humans and AI agents: https://panel.moklav.co.jp/docs/guide and https://panel.moklav.co.jp/llms.txt

ベース URL: https://panel.moklav.co.jp/api/v1 · OpenAPI 仕様: openapi.json (Postman / Insomnia / Swagger にインポートできます)

curl -H "Authorization: Bearer mk_..." https://panel.moklav.co.jp/api/v1/zones
curl -X POST -H "Authorization: Bearer mk_..." -H "Content-Type: application/json" \
  -d '{"name":"www","type":"A","content":"192.0.2.10","ttl":300}' https://panel.moklav.co.jp/api/v1/zones/example.com/records

エンドポイント

方法パス説明
GET/zonesこのキーでアクセスできるゾーンの一覧
GET/zones/{zone}ゾーンの詳細とレコードを取得
GET/zones/{zone}/recordsレコードの一覧(名前・タイプで絞り込み可)
POST/zones/{zone}/recordsレコードを 1 件追加(既存の RRset に追記)
DELETE/zones/{zone}/recordsレコード値または RRset 全体を削除
PUT/zones/{zone}/rrsetRRset 全体を置き換え(名前とタイプのすべての値)
GET/zones/{zone}/dnssecDNSSEC の状態とレジストラ用 DS レコード
GET/zones/{zone}/exportゾーンを BIND ゾーンファイル形式でエクスポート
POST/acme/presentACME DNS-01:TXT チャレンジを追加(acme.sh / certbot フック)
POST/acme/cleanupACME DNS-01:TXT チャレンジを削除
GET/hosting/plansホスティングプランと料金の一覧(認証不要)
GET/hosting/appsインストール可能なワンクリックアプリ(認証不要)
POST/hosting/ordersプランを注文
GET/hosting/orders注文の一覧
POST/hosting/orders/{oid}/cancelCancel one of your pending orders
GET/hosting/accountsホスティングアカウントの一覧
GET/hosting/accounts/{aid}アカウント詳細、プラン、現在の使用量
DELETE/hosting/accounts/{aid}すべてのサイト・メール・DB を含めてアカウントを完全に削除(非同期)
GET/hosting/accounts/{aid}/stats月別のディスク・帯域幅の履歴(グラフ用)
GET/hosting/accounts/{aid}/sitesウェブサイトの一覧
POST/hosting/accounts/{aid}/sitesウェブサイトを追加(非同期:Web + DNS + Let's Encrypt)
GET/hosting/accounts/{aid}/sites/{domain}ウェブサイトの詳細、DNS レコード、SFTP パス
DELETE/hosting/accounts/{aid}/sites/{domain}ウェブサイトとそのファイルを削除(非同期)
POST/hosting/accounts/{aid}/sites/{domain}/sslLet's Encrypt SSL を発行・再発行(非同期)
PUT/hosting/accounts/{aid}/sites/{domain}/phpPHP バージョンを切り替え(非同期)
POST/hosting/accounts/{aid}/sites/{domain}/wordpressワンクリック WordPress(非同期、パスワードはジョブ結果に一度だけ表示)
POST/hosting/accounts/{aid}/sites/{domain}/apps対応アプリをワンクリックでインストール(非同期)
GET/hosting/accounts/{aid}/mail/domainsメールドメインの一覧(クライアント設定付き)
POST/hosting/accounts/{aid}/mail/domainsメールドメインを追加(非同期、MX/SPF/DKIM/DMARC は自動設定)
GET/hosting/accounts/{aid}/mail/domains/{domain}/dnsメールに必要な DNS レコード(DKIM を含む)
DELETE/hosting/accounts/{aid}/mail/domains/{domain}メールドメインとそのすべてのメールボックスを削除
GET/hosting/accounts/{aid}/mail/domains/{domain}/mailboxesメールボックスの一覧
POST/hosting/accounts/{aid}/mail/domains/{domain}/mailboxesメールボックスを作成
PUT/hosting/accounts/{aid}/mail/domains/{domain}/mailboxes/{local}/passwordメールボックスのパスワードを変更
DELETE/hosting/accounts/{aid}/mail/domains/{domain}/mailboxes/{local}メールボックスを削除
GET/hosting/accounts/{aid}/databasesMariaDB データベースの一覧
POST/hosting/accounts/{aid}/databasesデータベースとユーザーを作成
PUT/hosting/accounts/{aid}/databases/{name}/passwordデータベースのパスワードを変更
DELETE/hosting/accounts/{aid}/databases/{name}データベースを削除
POST/hosting/accounts/{aid}/ftpサイトの FTP ユーザーを作成
DELETE/hosting/accounts/{aid}/ftp/{domain}/{login}FTP ユーザーを削除
GET/hosting/accounts/{aid}/croncron ジョブの一覧
POST/hosting/accounts/{aid}/croncron ジョブを追加
DELETE/hosting/accounts/{aid}/cron/{cid}cron ジョブを削除
GET/hosting/accounts/{aid}/ssh-keysSSH/SFTP 鍵の一覧
POST/hosting/accounts/{aid}/ssh-keysSSH/SFTP 鍵を追加
DELETE/hosting/accounts/{aid}/ssh-keys/{kid}SSH 鍵を削除
GET/hosting/accounts/{aid}/backupsバックアップの一覧
POST/hosting/accounts/{aid}/backups今すぐバックアップ(非同期)
POST/hosting/accounts/{aid}/backups/restoreバックアップから復元(非同期)
PUT/hosting/accounts/{aid}/planプランを変更(非同期)
POST/hosting/accounts/{aid}/suspendアカウントを停止(スタッフ用)
POST/hosting/accounts/{aid}/unsuspendアカウントの停止を解除(スタッフ用)
GET/admin/hosting/orders全注文(スタッフ用)
POST/admin/hosting/orders/{oid}/approve注文を承認してプロビジョニング(スタッフ用)
POST/admin/hosting/orders/{oid}/reject注文を却下(スタッフ用)
GET/admin/hosting/accounts全ホスティングアカウント(スタッフ用)
GET/admin/hosting/nodesホスティングノード、負荷、API の状態(スタッフ用)
GET/jobs/{jid}非同期ジョブの状態(succeeded/failed になるまでポーリング)
GET/jobsジョブの一覧(新しい順)
GET/webhooksWebhook の一覧
POST/webhooksWebhook を作成(署名シークレットは一度だけ返されます)
DELETE/webhooks/{wid}Webhook を削除
GET/auditアクティビティログ(新しい順)
GET/me現在のユーザー、キーのスコープ、レート制限
GET/vps/plansList VPS plans, prices and live stock (no auth)
POST/vps/ordersa VPS (manual review) を注文
GET/vps/ordersList your VPS orders
GET/vps/orders/{oid}One VPS order
POST/vps/orders/{oid}/cancelCancel your pending VPS order (frees capacity)
POST/enquiriesSend an enterprise enquiry (ILL, BGP transit, IPv6 /48, colocation). No auth.
GET/admin/vps/ordersAll VPS orders + capacity (staff)
POST/admin/vps/orders/{oid}/decideMark a VPS order approved / rejected / provisioned (status only; does NOT create a VM)
GET/admin/enquiriesEnterprise enquiries (staff)
GET/companyCompany verification data with public sources (no auth)
GET/invoicesList your invoices (請求書)
GET/invoices/{iid}One invoice
POST/invoices/{iid}/checkoutPay by card: Stripe Checkout for a monthly subscription
POST/billing/portalStripe Customer Portal (cancel subscription, change card)
GET/billing/subscriptionsYour card subscriptions
GET/billing/methodsAvailable payment methods (no auth)
GET/admin/invoicesAll invoices (staff)
POST/admin/invoices/{iid}/mark-paidMark invoice paid and approve the order (hosting auto-provisions; VPS stays manual)
POST/admin/invoices/{iid}/voidVoid an unpaid invoice
GET/admin/billing/configBank-transfer / invoice issuer settings (staff)
PUT/admin/billing/configSet bank-transfer details / registration number (staff)
POST/payments/webhook/{provider}Payment provider webhook (disabled until online payment launches)

Let's Encrypt DNS-01(ワイルドカード)

acme.sh

フックスクリプトを acme.sh の dnsapi フォルダーにダウンロードして、次を実行してください:

dns_moklav.sh

export MOKLAV_API_KEY="mk_..."
acme.sh --issue --dns dns_moklav -d example.com -d '*.example.com'

certbot

フックスクリプトをダウンロードして、次を実行してください:

certbot-moklav-hook.sh

export MOKLAV_API_KEY="mk_..."
certbot certonly --manual --preferred-challenges dns \
  --manual-auth-hook "./certbot-moklav-hook.sh auth" --manual-cleanup-hook "./certbot-moklav-hook.sh cleanup" \
  -d example.com -d '*.example.com'

ダイナミック DNS(DynDNS2)

ドメインの「ダイナミック DNS」タブでトークンを作成してください。ルーター(MikroTik、OpenWrt ddns-scripts、pfSense の「Custom」)、ddclient、curl で利用できます:

https://panel.moklav.co.jp/nic/update?hostname=home.example.com&myip=1.2.3.4   (HTTP basic auth: any username, password = token)
# ddclient: protocol=dyndns2, server=panel.moklav.co.jp, login=ddns, password=TOKEN