API と MCP でホワイトラベルチームを管理

スコープ付き REST エンドポイントと MCP ツールで、TrekMail の顧客招待、ドメインアクセス管理、メンバーの停止と復元、活動確認を行えます。

記事の詳細

種類・難易度・対象プラン・最終更新の情報。

種類
リファレンス
難易度
中級
プラン
Pro · Agency · + White Label add-on
最終更新
2026年9月9日

ホワイトラベルアカウントは、ダッシュボードに戻らずに管理できます。REST API と MCP サーバーは、アカウントのセットアップ状況、クライアントとチームメンバー、ロール、ドメインアクセス、招待、一時停止、削除、復元、アクティビティ履歴に対応しています。ブランディングには、同じホワイトラベルツールセットと専用のブランディングガイドを使用します。

重要な境界は単純です。接続によって、その背後にいるユーザーがすでに持つ権限を超えるアクセスを付与することはできません。特定ドメインに制限されたマネージャーは無関係なドメインへユーザーを招待できず、カスタムロールは呼び出し元が持たない権限を付与できません。

利用できる機能

完全な MCP カタログには、現在 stdio 経由の 261 ツールと、ホスト型 HTTP 経由で最大 260 ツールが含まれます。ホワイトラベルでは 20 のツールが追加されます。ブランディング用が七つ、アカウント、メンバー、アクティビティ管理用が 13 です。

これらのツールは全員に読み込まれるわけではありません。TrekMail は tools/list を構築する前に、アカウントの現在のホワイトラベル利用資格、ユーザーの現在のメンバーシップ、トークンまたは OAuth 許可、ドメイン制約、選択されたツールセット、ローカルの安全設定を評価します。ホワイトラベルへのアクセス権がない接続には、スキーマ自体が提供されません。

利用資格の状態

状態 オーナー 委任されたメンバー 書き込み
有効 スコープで許可されたフルアクセス スコープとメンバーシップで許可されたアクセス 利用可能
キャンセル猶予期間 復旧用の読み取り専用アクセス ホワイトラベルアクセスを削除 ブロック
利用不可 ホワイトラベル API または MCP へのアクセスなし ホワイトラベル API または MCP へのアクセスなし ブロック

ホワイトラベルの読み取りアクセスがある場合、GET /api/v1/white-label または get_white_label ツールを呼び出すと、active と読み取り専用の grace を区別し、セットアップの進捗と猶予期限を確認できます。利用できないアカウントはそのエンドポイントを呼び出せません。保存済みの認証情報に、そのアカウントでは使用できなくなったホワイトラベルスコープが残っている場合、API は scope_blocked_by_entitlement を返し、再有効化する場所を示します。

スコープ

スコープ 許可される操作
branding:read ブランド設定、アセット、ホスト、DNS レコード、セットアップ状況の読み取り
branding:write ブランディング、アセット、プレビュー、ホスト、DNS チェックの変更
members:read クライアント、チームメンバー、ロール、ドメインアクセス、アクセスカタログの読み取り
members:write ユーザーの招待と、アクセスの更新、一時停止、再開、削除、復元
activity:read ホワイトラベルアカウントのアクティビティとメンバーのサインインの読み取り

メンバーアクティビティのエンドポイントには activity:readmembers:read の両方が必要です。レスポンスにアクティビティだけでなくメンバーレコードも含まれるためです。ホスト型 OAuth 接続は、tools:white_label セレクターを使ってこのツールファミリーを要求します。有効な REST スコープは、引き続きアカウントとメンバーシップによって制限されます。

セルフホスト型 MCP サーバーでツールセットの許可リストを使用する場合は、TREKMAIL_TOOLSETSwhite_label を追加します。書き込みツールには、後述するローカルの安全ゲートも適用されます。

REST エンドポイント

すべてのパスは https://trekmail.net/api/v1 の配下にあります。

メソッド パス スコープ 用途
GET /white-label branding:read 利用資格、既定のブランド、セットアップの進捗、アクセス可能なドメインの状態を読み取り
GET /white-label/access-catalog members:read ロール、権限グループ、付与可能な権限、アクセス可能なドメインを読み取り
GET /white-label/members members:read 検索とステータスフィルターを使用してメンバーと招待を一覧表示
POST /white-label/members members:write クライアントまたはチームメンバーを招待
GET /white-label/members/{id} members:read 特定のメンバーと許可された次の操作を読み取り
PATCH /white-label/members/{id} members:write ロール、ドメインアクセス、カスタム権限、メモを変更
POST /white-label/members/{id}:suspend members:write アクセスを即座に停止し、メンバーのキーを無効化
POST /white-label/members/{id}:resume members:write 一時停止中のメンバーシップを再開
POST /white-label/members/{id}:resend-invitation members:write 保留中の招待を置き換え、新しい招待を送信
DELETE /white-label/members/{id} members:write アクセスを削除し、メンバーのキーを無効化
POST /white-label/members/{id}:restore members:write 古いキーを復活させずに、削除済みのメンバーシップを復元
GET /white-label/activity activity:read アカウントアクティビティを読み取り。操作またはメンバーで絞り込み可能
GET /white-label/members/{id}/activity activity:read + members:read 特定のメンバーの操作と最近のサインインを読み取り

この表の書き込みには、すべて Idempotency-Key ヘッダーが必要です。同じキーで同じリクエストを繰り返すと、最初の安全な結果が返されます。招待トークンなど、再実行に含まれる一度限りの機密情報は伏せられます。同じキーを異なる本文で再利用すると idempotency_mismatch が返されます。

最初にアクセスカタログを読み取る

ロールの権限を連携処理にハードコードしないでください。招待またはアクセス変更の前にアクセスカタログを呼び出します。その grantable フラグは呼び出し元の現在のメンバーシップを反映し、オーナーがそのメンバーシップを調整すると変わる場合があります。

現在、新しい招待で提供されるロールは次のとおりです。

  • client - 割り当てられたドメインとメールボックスを管理しますが、リセラーと TrekMail の非公開な関係は表示されません。
  • webmail_only - チームリストには表示されますが、ダッシュボード権限は付与されません。
  • domain_admin - 割り当てられたドメインとその DNS を管理しますが、メールボックスは管理しません。
  • mailbox_operator - 割り当てられたドメイン内のメールボックスを管理しますが、ドメイン自体は管理しません。
  • read_only - 許可されたアカウント領域を確認できますが、変更はできません。
  • custom - permissions に記載された権限だけを受け取ります。

一部のロールでは明示的な domain_ids が必要です。それ以外のロールでは all_domains を使用できます。適用されるルールはアクセスカタログで確認できます。呼び出し元がより広いロール、権限、ドメインセットを付与しようとすると、TrekMail は招待を暗黙に狭めるのではなく scope_blocked_by_membership を返します。

クライアントを招待する

curl -s -X POST "https://trekmail.net/api/v1/white-label/members" \
  -H "Authorization: Bearer tm_live_your_token" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: invite-northwind-admin-20260904" \
  -d '{
    "email": "admin@northwind.example",
    "role": "client",
    "all_domains": false,
    "domain_ids": [123, 124],
    "note": "Northwind primary contact"
  }'

レスポンスには、メンバー、メール送信が成功したかどうか、一度限りの招待 URL が含まれます。配信に問題があっても招待は消去されません。オーナーは URL をコピーするか、後で再送信できます。

カスタムロールの場合は、アクセスカタログから grantable_permissions を読み取り、選択した値を permissions で送信します。少なくとも一つの権限が必要です。

メンバーの状態を追跡する

すべてのメンバーレスポンスに allowed_operations が含まれます。推測せず、このリストを使用してください。

  • 保留中の招待は、更新、一時停止、再送信、削除が可能です。
  • 有効なメンバーは、更新、一時停止、削除が可能です。
  • 一時停止中のメンバーは、更新、再開、削除が可能です。
  • 削除済みのメンバーは復元できます。
  • オーナーの行は参考情報として表示されますが、これらのエンドポイントでは変更できません。

このリストは、現在の呼び出し元に応じても絞り込まれます。読み取り専用の接続、呼び出し元自身のメンバーシップ、呼び出し元が管理できる範囲より広い権限を持つメンバーでは空になります。

呼び出し元は自分自身を削除または一時停止できません。また、委任された呼び出し元は、自分より広いアクセス権を持つメンバーを管理できません。無効な状態遷移では membership_state_conflict が返され、メンバーを再度読み取るよう案内されます。

ユーザーを一時停止または削除すると、そのメンバーシップで作成された API キーとメールボックスキーが無効化されます。メンバーシップを再開または復元しても、古いキーは戻りません。そのユーザーは再接続するか、新しい認証情報を作成する必要があります。

アクティビティとプライバシーの境界

GET /white-label/activity は、招待、ロールとドメインの変更、一時停止、削除、復元、関連するセキュリティ操作を返します。actionmember_idper_page で絞り込めます。

GET /white-label/members/{id}/activity は、そのメンバーのアカウント操作と最近のサインインをまとめて返します。これには、時刻、IP アドレス、おおよその場所、ブラウザー、オペレーティングシステム、デバイスの種類が含まれます。このルートは意図的に両方の読み取りスコープを要求します。ドメイン制約のある呼び出し元が要求できるのは、そのドメイン境界に完全に含まれるメンバーだけです。アクセスできないメンバーは 404 として返されるため、別のテナントやクライアントの存在は明らかになりません。

MCP ツール

ツール ゲート 用途
get_white_label Read 利用資格、ブランド、セットアップの進捗、ドメイン
get_white_label_access_catalog Read 呼び出し元が付与できるロール、権限、ドメイン
list_white_label_members Read クライアント、メンバー、招待を検索または絞り込み
get_white_label_member Read 特定のメンバーと許可された次の操作を読み取り
invite_white_label_member Sending 招待を作成してメールで送信
update_white_label_member Destructive ロール、ドメイン、権限、メモを変更
suspend_white_label_member Destructive アクセスを停止し、有効なキーを無効化
resume_white_label_member Destructive 一時停止中のメンバーシップを再開
resend_white_label_invitation Sending 保留中の招待を置き換えてメールで送信
remove_white_label_member Destructive + confirmation アクセスを削除し、有効なキーを無効化
restore_white_label_member Destructive 削除済みのメンバーシップを復元
list_white_label_activity Read アカウントアクティビティを読み取り
get_white_label_member_activity Read 特定のメンバーの操作とサインインを読み取り

招待ツールをセルフホスト型 stdio MCP で使用するには、TREKMAIL_ALLOW_SENDING=true が必要です。アクセス変更ツールには TREKMAIL_ALLOW_DESTRUCTIVE=true が必要で、削除にはさらに confirm_remove=true が必要です。これらのスイッチはローカルの安全管理であり、追加の API 権限ではありません。ホスト型 MCP には、承認済みの独自の安全ポリシーが適用されます。

独自のキーを指定しなかった場合、ツールは決定的な冪等キーを作成します。ワークフローが別のプロセスで再起動する可能性がある場合は、独自の idempotency_key を指定すると便利です。

安全な自動化フロー

  1. get_white_label を呼び出します。scope_blocked_by_entitlement の場合は停止します。成功した grace レスポンスでは、読み取り操作だけを続行します。
  2. アクセスを付与する直前に get_white_label_access_catalog を呼び出します。
  3. 対象メンバーを変更する前に、一覧表示または読み取りを行います。
  4. allowed_operations、目的のロール、権限、ドメイン ID を確認します。
  5. 書き込みには安定した冪等キーを使用します。
  6. メンバーを再度読み取り、結果のステータスと有効な権限を報告します。
  7. 変更の監査記録が必要な場合は、ホワイトラベルアクティビティを確認します。

対処方法を示すエラー

コード 意味 次の手順
insufficient_scope 認証情報に必要なスコープが付与されていない そのスコープを追加するか、OAuth 接続を再認証
scope_blocked_by_entitlement 保存済みの許可は存在するが、現在はホワイトラベルが有効ではない ホワイトラベルを再有効化してから、認証情報を再発行または再認証
scope_blocked_by_membership ユーザーの現在のロールが、要求された操作または付与内容より狭い オーナーにメンバーシップの変更を依頼するか、より狭いアクセスを要求
member_not_manageable 対象がオーナー、呼び出し元自身、またはより広い権限を持つメンバー 呼び出し元の管理境界内にいるメンバーを選択
membership_state_conflict 操作がメンバーの現在の状態に合わない allowed_operations を読み取り、そこにある操作を選択
missing_idempotency_key キーなしで書き込みが送信された 安定した Idempotency-Key を指定して再試行
idempotency_mismatch 同じキーが異なる入力に再利用された 元の入力を使用するか、新しいキーを作成

関連記事

ワークフローの続きとなる関連ガイドに移動します。

TrekMail の運用と保護に必要な技術を使用します。確認すると、Cookie ポリシーに記載された限定的な分析と広告測定も許可されます。

TrekMail にサインイン

ダッシュボード、メールボックス、DNS にアクセスできます。

または

12 文字 パスワードが一致

または

再設定メールを送信しました

このメールアドレスのアカウントが存在する場合、パスワード再設定の手順をお送りしました。

続行すると、TrekMail の 利用規約 および プライバシーポリシーに同意したものとみなされます.