ツールのためのAPI。AIのためのMCPサーバー。
Customer APIは、デバイス、ローカル管理者、Runbook、アプリストア、テナントのセットアップをカバーし、ブラウザーでそのまま試せるOpenAPIドキュメントが付きます。MCPサーバーは、AIアシスタントに自社のデバイス群への読み取り専用アクセスを与えます。そしてPowerShellモジュールが、オンボーディングをスクリプト化します。
- 対話的なドキュメント付きのOpenAPI
- 6つのツールを備えたMCPサーバー
- PowerShellモジュール
- オープンソースのRunbook
# Device state, Intune part onlycurl -u "t-<tenant-id>:<api-secret>" \ "https://customer-api.realmjoin.com/device/<device-id>/state?path=Intune"# Request a support account for helpdeskcurl -u "t-<tenant-id>:<api-secret>" -X POST \ "https://customer-api.realmjoin.com/laps/request"
# User name t-<tenant-id>, password = API secret$cred = Get-CredentialInvoke-RestMethod -Authentication Basic -Credential $cred ` -Uri "https://customer-api.realmjoin.com/device/list"Invoke-RestMethod -Authentication Basic -Credential $cred ` -Uri "https://customer-api.realmjoin.com/tenant/stats"
// Example client configuration; the exact format depends on your client{ "mcpServers": { "realmjoin": { "url": "https://customer-api.realmjoin.com/mcp", "headers": { "Authorization": "Bearer rjm_…" } } }}
Customer API
テナントごとのREST APIで、テナントIDとAPIシークレットで認証します。領域ごとに個別に有効化するため、ヘルプデスク連携にはLAPSだけを渡すといったことができます。
OpenAPIとScalar
仕様は
/openapi/v1.json、対話的なリファレンスは/scalar/v1にあります。テナントごとのスコープ
8つのAPI領域とMCPサーバーを、それぞれ個別に有効化します。
レート制限
テナントごとに、デバイス関連のエンドポイントは毎分30リクエスト、MCPは毎分60リクエストです。
監査
何かを変更する呼び出しは、ポータルでの操作と同じように自社のワークスペースに記録されます。ドキュメントを読む · APIリファレンスを開く
エンドポイント
顧客向けのルートを領域ごとにまとめています。フィルターで一つの領域だけを表示できます。
| ルート | できること |
|---|---|
| GET/device/list | プライマリユーザー、セカンダリユーザー、最終確認日時を伴うデバイスの一覧。 |
| GET/device/{id}/state | RealmJoin、Entra、IntuneのIDによるデバイスの完全な状態、または指定したパスだけ。 |
| POST/laps/request | サポート用アカウントを要求します。デバイスの次のチェックインまでの時間を返します。 |
| POST/laps/retrieve | エスクローされたサポート用アカウントのパスワードを取得します。 |
| POST/runbook/{runbookName}/run | Runbookを実行して結果を待ちます。1時間までのジョブ向けです。 |
| POST/runbook/{runbookName}/start | Runbookをバックグラウンドで開始し、ジョブIDを受け取ります。 |
| GET/runbook/jobs/{jobID}/status | ジョブの状態。 |
| GET/runbook/jobs/{jobID}/output/text | テキストとしての出力。 |
| GET/runbook/jobs/{jobID}/output/streams | すべての出力ストリーム。 |
| GET/runbook/jobs/{jobID}/exception/text | 失敗したジョブの例外テキスト。 |
| GET/store/apps | Package Storeの検索とページ送り。 |
| GET/store/apps/{id} | 1つのパッケージとその詳細。 |
| GET/store/subscribed | 購読中のパッケージ。 |
| POST/store/subscribed | IntuneまたはRealmJoin経由でパッケージを購読します。自動化、延期、夜間ウィンドウ、タイムゾーンを指定できます。 |
| GET/store/subscribed/{id} | 1つのサブスクリプション。 |
| GET/store/subscribed/status/{id} | 購読処理の進捗。 |
| POST/tenant/connect | ワンタイムトークンによるスクリプト化されたオンボーディング。 |
| POST/tenant/logingestion-config | 自社のLog Analyticsワークスペースを接続します。 |
| POST/tenant/runbooks-config | 自社のAzure Automationアカウントを接続します。 |
| GET/tenant/stats | 稼働中および総数のデバイス、ユーザー、パッケージ。 |
パートナー向けと表示用の連携には、さらにいくつかのルートがあります。APIリファレンスを参照してください。
自社のデバイス群に尋ねる
組み込みのMCPサーバーを使うと、Model Context Protocolを話すAIアシスタントがRealmJoinの情報を調べられます。デバイスの状態、名前によるマシンの特定、デバイス群全体でのパッケージの分布などです。トークンには名前が付き、有効期限があり、いつでも取り消せて、最後に使われた日時もわかります。
6つの読み取り専用ツール
RealmJoin PowerShellモジュール
すべてのアクセス許可を手作業で付与したいテナントや、多数のテナントをオンボーディングするパートナー向けに、PowerShell Galleryのモジュールがセットアップを行います。ポータルで発行したトークンによるオンボーディング、Log AnalyticsとAzure Automationの接続を扱います。
Install-Module RealmJoin
Complete-RJTenantOnboarding -Token <token>
Set-RJLogAnalyticsWorkspace
Set-RJAutomationAccountKQLとSentinelのためのログテーブル
RealmJoinは、データ収集ルールを使ってLogs Ingestion API経由で自社のワークスペースに書き込みます。共有キーは使いません。何が起きたかは、3つのカスタムテーブルが保持します:
- RJAuditLogs_CL
- 誰が何を変更したか
- RJOperationalLogs_CL
- RealmJoinが何をしたか
- RJRunbookLogs_CL
- すべてのRunbookジョブ
役に立つところは、オープンソースで
読みたい、拡張したい、再利用したいと思う部分はGitHubで公開しています。
Runbookライブラリ
ユーザー、グループ、デバイス、組織のための175本のRunbook。
修復スクリプト
ポータルに同期される、Intuneの検出スクリプトと修復スクリプト。
Runbookヘルパーモジュール
Use-RJInterfaceなどの背後にあるPowerShellモジュール。独自のRunbook
顧客固有のRunbookを書き始めるための出発点。
customパッケージ
自分でパッケージを作るための足がかり。
.NETライブラリ
Microsoft GraphとAzure向けの軽量クライアント、そしてBlazorコンポーネント。
RealmJoinを、ほかのスタックにつなぐ。
ITSM、SIEM、AIアシスタント。テナントとAPIシークレットがあれば始められます。