API REFERENCE · PRISM PRO

ローカル API リファレンス:スクリプトでブラウザプロファイルを管理する。

Prism Pro のローカル自動化 API は、この PC の 127.0.0.1 でのみ待ち受け、起動のたびに生成されるアクセストークンを使用します。HTTP リクエストを送信できる言語なら、どの言語からでもプロファイルを単体または一括で作成し、照会、起動、終了を行えます。

更新日 · Prism 0.3.22 アプリのソースコードに基づく

概要

ローカル API は Prism Pro の機能で、自作のスクリプトでプロファイルを一括管理するのに向いています。たとえば、業務データからプロファイルを作成し、順番に起動して状態を確認し、使い終わったら閉じる、といった使い方です。API が管理するのはプロファイルそのものだけで、Cookie、パスワード、プロキシの認証情報、ページの内容は読み取りません。Puppeteer / Playwright 用のデバッグエンドポイントも提供しません。AI にページの読み取り、クリック、フォーム入力を行わせたい場合は、MCP を使ってください。

ローカル API の基本情報
項目説明
アドレスhttp://127.0.0.1:<port>。ポートは起動のたびにランダムに割り当てられ、この PC からのリクエストのみ受け付ける
認証リクエストヘッダー Authorization: Bearer <token>。トークンは API の起動時に一度だけ表示され、停止すると無効になる
データ形式JSON(UTF-8)。成功時の結果は result フィールドに入る
リクエストボディJSON のリクエストボディを受け付けるのは作成エンドポイントのみ(最大 96 KiB)
レート制限60 秒あたり最大 120 件のリクエスト(MCP と共通)
タイムアウト各リクエストの待機時間は最大 60 秒
対象バージョンPrism Pro。macOS 版と Windows 版で共通。作成エンドポイントには 0.3.22 以降が必要

クイックスタート

  1. ローカル API を起動

    Prism の左側のサイドバーで「オートメーションAPI」を開き、「ローカル API を起動」をクリックします。この機能を使うには Prism Pro が必要です。

  2. アドレスとトークンをコピー

    ウィンドウに「APIアドレス」と「セッションアクセストークン」が表示されます。トークンは起動に成功したときに一度だけ表示されるので、すぐにコピーしてください。あとで新しいトークンが必要になったら、API を停止してから再起動します。

  3. 最初のリクエストを送信

    ターミナルで 2 つの変数を設定し、サービスの状態を確認してから、プロファイルの一覧を取得します。レスポンスに "state": "running" が含まれていれば、アドレスとトークンは有効です。

PRISM_API='http://127.0.0.1:43123'   # the API address shown in Prism
PRISM_TOKEN='<token>'                # the token shown in Prism

curl -H "Authorization: Bearer $PRISM_TOKEN" "$PRISM_API/v1/status"
curl -H "Authorization: Bearer $PRISM_TOKEN" "$PRISM_API/v1/profiles"

Windows PowerShell では curl が別のコマンドのエイリアスになっているため、curl.exe と入力してください。PowerShell 標準の Invoke-RestMethod を使う場合は次のとおりです。

$api = 'http://127.0.0.1:43123'
$headers = @{ Authorization = 'Bearer <token>' }
(Invoke-RestMethod -Uri "$api/v1/profiles" -Headers $headers).result | Format-Table serialNumber, name, status

リクエストのルール

API が受け付けるのは、この PC 上のスクリプトやプログラムから送信されたリクエストだけです。次のルールを満たさないリクエストは実行されず、表に示したエラーが返されます。

リクエストのルールと対応するエラー
ルールHTTPエラー
localhost ではなく 127.0.0.1 でアクセスする。Host ヘッダーは API のアドレスと完全に一致している必要がある403invalid_host
すべてのリクエストに Authorization: Bearer <token> を付ける401unauthorized
ブラウザの Origin ヘッダーを付けない(そのため、ウェブページやブラウザ拡張機能内の JavaScript からは呼び出せない)403browser_origin_not_allowed
URL にクエリパラメーター(?…)を付けない400query_not_allowed
後述のパスとメソッドのみを使う404not_found
リクエストボディを受け付けるのは作成エンドポイントのみ。起動や終了など、その他のリクエストでは {} も送らない400body_not_allowed
作成エンドポイントでは Content-Type: application/json を指定し、リクエストボディは JSON オブジェクトにする400json_body_required / invalid_json_body
リクエストボディは 96 KiB 以下413request_too_large
60 秒あたり最大 120 件まで(失敗したリクエストと MCP のリクエストも数に含む)429rate_limited

Prism は、ローカル API と MCP のリクエストを受け取った順に 1 件ずつ処理します。プロファイルの起動にはプロキシのチェックとブラウザを開く処理が含まれるため、通常は数秒かかります。その間に届いたリクエストは順番待ちになります。前のリクエストの応答が返ってから、次のリクエストを送ってください。

エンドポイント一覧

ローカル API のエンドポイント
メソッドパス機能
GET/v1/statusサービスが利用可能か確認
GET/v1/profiles全プロファイルの一覧を取得(ゴミ箱内のものを除く)
GET/v1/profiles/{id}/statusプロファイルを 1 つ取得
POST/v1/profiles/{id}/startプロファイルを起動
POST/v1/profiles/{id}/closeプロファイルを閉じる(データは保持)
POST/v1/profilesプロファイルを 1 つ作成(0.3.22 以降)
POST/v1/profiles/batch1 回で 1–50 個のプロファイルを作成(0.3.22 以降)

{id} はプロファイル ID で、GET /v1/profiles の結果から取得できます。成功時の HTTP ステータスはすべて 200 です。GET /v1/status を除き、結果は result フィールドに入ります。プロファイルの編集や削除を行うエンドポイントはありません。

プロファイルオブジェクト

プロファイルの一覧取得、状態の取得、起動、終了のいずれでも、同じプロファイルオブジェクトが返されます。

プロファイルオブジェクトのフィールド
項目種類説明
id文字列プロファイル ID。他のエンドポイントで使用
serialNumber整数アプリに表示されるプロファイル番号。削除後も再利用されない
name文字列プロファイル名
group文字列グループ。未設定の場合は空文字列
tags文字列の配列タグ
status文字列closed 停止中、starting 起動中、running 実行中、stopping 終了中、orphaned プロセス残存、error エラー
lastOpenedAt文字列最後に開いた日時(ISO 8601、UTC)。一度も開いていないプロファイルには、このフィールドがない
{
  "result": {
    "id": "8f0c2b9e-4d6a-4f51-9a7e-2f1c3d5b6a70",
    "serialNumber": 12,
    "name": "Shop A",
    "group": "Project A",
    "tags": ["automation"],
    "status": "running",
    "lastOpenedAt": "2026-10-02T08:30:00.000Z"
  }
}

プロキシのアドレスや認証情報、フィンガープリントのパラメーター、Cookie、パスワード、サイトデータ、拡張機能のデータは、どのエンドポイントからも返されません。

照会・起動・終了

GET /v1/status

サービスの状態を返します。アドレスとトークンが使えるかどうかの確認に使います。結果が result に格納されない唯一のレスポンスです。

{
  "state": "running",
  "transport": "loopback",
  "protocolVersion": 1
}

GET /v1/profiles

プロファイルオブジェクトの配列を、最近変更したものから順に返します。ゴミ箱内のプロファイルは含まれません。

GET /v1/profiles/{id}/status

1 つのプロファイルの現在の状態を返します。プロファイルが存在しないか、ゴミ箱に移動済みの場合は 404 PROFILE_NOT_FOUND が返されます。

POST /v1/profiles/{id}/start

  • アプリで「開く」をクリックしたときと同じ処理です。カーネルと Pro カーネルのライセンスを確認し、プロキシと出口 IP の変化をチェックしてから、ブラウザウィンドウを開きます。成功すると、状態が running のプロファイルオブジェクトを返します。
  • プロファイルがすでに実行中の場合は、現在の状態をそのまま返し、重複して開くことはありません。
  • 起動リクエストの応答が返るまで、Prism は次のリクエストを処理しません。複数のプロファイルを起動する場合は、1 つずつ順番に呼び出してください。同時に実行できるプロファイルの数は、PC のメモリと CPU によって決まります。
  • 対応するカーネルがない、プロキシのチェックに失敗した、プロキシの出口 IP が変化した(ポリシーが block の場合)、残存プロセスがある、のいずれかに該当すると起動は失敗し、502 が返されます。理由は error.message に示されます。
  • アプリであれば確認を求められる状況では、API 経由の操作はそのまま失敗します。たとえば、プロキシの出口について位置情報のデータが互いに矛盾している場合です。このようなエラーが出たときは、Prism のアプリでそのプロファイルを開くか、ネットワークアイデンティティを manual に変更してください。
  • 起動エンドポイントを呼び出したプロファイル(呼び出した時点ですでに実行中だったものを含む)は記録され、「オートメーションAPI」ウィンドウで「緊急停止」をクリックするとまとめて閉じられます。「API を停止」や、MCP ウィンドウでの停止・緊急停止では API が停止するだけで、これらのプロファイルは開いたままになります。

POST /v1/profiles/{id}/close

ブラウザウィンドウを閉じ、プロファイルのデータは保持したまま、状態が closed のプロファイルオブジェクトを返します。プロファイルが実行中でない場合も、そのまま closed を返します。ブラウザが 8 秒以内に終了せず、データディレクトリを使用したままの場合は、返される状態は orphaned です。終了エンドポイントをもう一度呼び出すと、残存プロセスが終了します。

PROFILE_ID='8f0c2b9e-4d6a-4f51-9a7e-2f1c3d5b6a70'   # an id from GET /v1/profiles
curl -X POST -H "Authorization: Bearer $PRISM_TOKEN" "$PRISM_API/v1/profiles/$PROFILE_ID/start"
curl -X POST -H "Authorization: Bearer $PRISM_TOKEN" "$PRISM_API/v1/profiles/$PROFILE_ID/close"

プロファイルの作成

作成エンドポイントは、プロファイルを閉じた状態で保存し、ブラウザは開きません。フィールドはすべて省略可能です。省略したフィールドにはアプリの「新規プロファイル」と同じ既定値が使われ、プロファイルごとに新しいフィンガープリントシードが生成されます。不明なフィールドが含まれているとリクエストは拒否されます。

プロファイルを 1 つ作成

curl -X POST "$PRISM_API/v1/profiles" \
  -H "Authorization: Bearer $PRISM_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: shop-b-001" \
  -d '{
    "name": "Shop B",
    "group": "Project A",
    "tags": ["automation"],
    "startUrls": ["https://example.com/"],
    "proxy": { "protocol": "socks5", "host": "203.0.113.10", "port": 1080, "username": "user", "password": "pass" }
  }'

成功すると、新しいプロファイルが返されます。

{
  "result": {
    "id": "3b1f7a52-9c4e-4d2b-8f60-1a2b3c4d5e6f",
    "serialNumber": 13,
    "name": "Shop B",
    "group": "Project A",
    "tags": ["automation"],
    "status": "closed"
  }
}

一括作成

POST /v1/profiles/batch のリクエストボディは profiles 配列で、1 回に指定できるのは 1–50 個です。各要素の書き方は単体の作成と同じですが、requestKey だけはトップレベルまたはリクエストヘッダーで指定します。Prism はまずすべての設定を検証し、1 つでも誤りがあれば何も作成しません。エラーメッセージには、どのプロファイルのどのフィールドに問題があるかが示されます(profiles[1] は 2 番目のプロファイルを指します。番号は 0 から数えます)。結果は入力と同じ順序で返されます。

{
  "requestKey": "shops-batch-001",
  "profiles": [
    { "name": "Shop C", "group": "Project A" },
    { "name": "Shop D", "group": "Project A", "fingerprint": { "platform": "windows" } }
  ]
}
{
  "result": {
    "profiles": [
      { "id": "…", "serialNumber": 14, "name": "Shop C", "group": "Project A", "tags": [], "status": "closed" },
      { "id": "…", "serialNumber": 15, "name": "Shop D", "group": "Project A", "tags": [], "status": "closed" }
    ],
    "count": 2
  }
}

プロファイルのフィールド

プロファイル作成時のフィールド
項目説明省略時
name名前。1–60 文字「API」と数字(例:API 8)。数字は現在のプロファイル数に 1 を足した値で、一括作成では順に増える。既存の名前と重複することがある
groupグループ。最大 40 文字グループなし
tagsタグの配列。最大 20 個、各 30 文字までなし
noteメモ。最大 500 文字なし
color識別用の色。#RRGGBB 形式色を順番に割り当て
startUrls起動時に開くページの配列。最大 50 個。http / https のみ対応し、ユーザー名やパスワードは含められない。スキームがない場合は https として扱うPrism 公式サイト
proxyプロキシ。下の表を参照直接接続
fingerprintフィンガープリントのオプション。下の表を参照アプリで新規作成した場合と同じ
extensionIdsインストール済み拡張機能の Prism 内部 ID(最大 50 個)。「拡張機能」ウィンドウの拡張機能パス …/<ID>/extension に含まれるフォルダー名がこの ID。Chrome ウェブストアの拡張機能 ID とは異なる拡張機能を有効にしない
kernelVersion使用するカーネルのバージョンを固定。4 つの部分からなるバージョン番号(例:144.0.7559.132)で指定し、起動時にはそのバージョンがインストールされている必要がある既定のカーネルに追従
requestKey安全に再試行するためのリクエストキー。「再試行と重複防止」を参照なし

プロキシのフィールド

プロキシのフィールド(proxy)
項目説明
protocol必須。direct、http、https、socks5 のいずれか
hostホスト名または IP。スキーム、ポート、認証情報は含めない。direct 以外では必須
port1–65535 の整数。direct 以外では必須
username、password任意。パスワードはこの PC に暗号化して保存され、どのエンドポイントからも返されない

フィンガープリントのフィールド

フィンガープリントのフィールド(fingerprint)
項目説明省略時
platformmacos または windowsハードウェアテンプレートに合わせる。テンプレートを指定しない場合は、この PC の OS
hardwareProfileIdハードウェアテンプレート。下の表を参照。OS のバージョン、CPU コア数、画面サイズはテンプレートによって決まる対応する OS の「シードごとに異なる」テンプレート
seedフィンガープリントシード。0–4294967295 の整数。シードとその他のフィンガープリント設定がすべて同じなら、同じフィンガープリントが生成されるランダムに生成
brandChrome または EdgeChrome
brandVersionブラウザのバージョン番号。通常は空欄にしてカーネルのバージョンを使う。指定する場合、メジャーバージョンが起動に使うカーネルと一致しないと起動できないカーネルに合わせる
language表示言語(例:en-US)この PC のシステム言語
acceptLanguagesAccept-Language ヘッダー言語に応じて自動生成
timezoneIANA タイムゾーン(例:America/New_York)この PC のタイムゾーン
networkIdentityModeproxy:起動前にプロキシの出口をチェックし、タイムゾーンと位置情報を出口に合わせる。出口の国を識別できた場合は言語も合わせる。manual:指定した値に固定proxy
proxyExitPolicyプロキシの出口 IP が前回のチェック時と異なるとき:block は今回の起動を失敗させる。もう一度起動すると確認したものとみなされるため、スクリプトではこのエラーを自動で再試行しないこと。warn は警告のみblock
webrtcPolicyproxy_only リーク防止、public_only パブリックインターフェースのみ、default システムの既定proxy_only

ハードウェアテンプレート

ハードウェアテンプレート ID
IDOS説明
macos-seeded-applemacOSシードごとに異なる Apple GPU。複数プロファイル向け。macOS の既定
macos-hostmacOSこのデバイスのハードウェア。Mac でのみ使用可能
macos-m1macOSApple M1 · 8GB
macos-m3-promacOSApple M3 Pro · 18GB
macos-m4-promacOSApple M4 Pro · 24GB
windows-seeded-nvidiaWindowsシードごとに異なる NVIDIA GPU。複数プロファイル向け。Windows の既定
windows-hostWindowsこのデバイスのハードウェア。Windows PC でのみ使用可能
windows-10-rtx3060WindowsWindows 10 · RTX 3060 · 16GB
windows-11-rtx4060WindowsWindows 11 · RTX 4060 · 16GB
windows-11-rtx4070WindowsWindows 11 · RTX 4070 · 32GB

テンプレートが platform と一致しない場合、リクエストは拒否されます。ウィンドウの位置とサイズ、Cookie、拡張機能のデータなどは API では設定できません。作成後に Prism のアプリで変更してください。

再試行と重複防止

ネットワークが切断されたりリクエストがタイムアウトしたりすると、プロファイルが作成されたかどうかがわからなくなることがあります。作成のたびにリクエストキーを指定しておけば、再試行しても重複して作成されることはありません。

  • リクエストヘッダー Idempotency-Key またはリクエストボディの requestKey で、8–128 文字のキーを指定します。使える文字は半角英数字と . _ : - です。両方で指定する場合は同じ値にしてください。
  • 24 時間以内に同じキーと同じ内容で再試行すると、最初に作成されたプロファイルが返されます(HTTP 200)。これは Prism を再起動した後も有効です。
  • キーが同じで内容が異なる場合は、409 IDEMPOTENCY_CONFLICT が返されます。最初のリクエストで作成されたプロファイルが削除されている(ゴミ箱への移動を含む)場合は、黙って作り直すことはせず 409 IDEMPOTENCY_RESULT_GONE を返します。作り直したい場合は別のキーを使ってください。
  • 24 時間を過ぎると、同じキーでも新しいリクエストとして扱われます。
  • 24 時間以内のキー付きリクエストは最大 1,000 件まで保持されます。この上限は MCP による作成と共通で、MCP で作成するたびに 1 件を使用します。上限に達すると 429 IDEMPOTENCY_CAPACITY が返され、古い記録の期限が切れると再び受け付けられます。
  • キーとリクエストの内容は、鍵付きハッシュ(ダイジェスト)としてのみこの PC に保存されます。プロキシのパスワードが平文で保存されることはありません。

キーは、スプレッドシートの行番号や注文番号など、業務データから生成することをおすすめします(例:shop-b-001)。

エラー処理

リクエストが受付の段階で拒否された場合(「リクエストのルール」を参照)、error は {"error":"unauthorized"} のような文字列になります。Prism でリクエストの処理中にエラーが発生した場合、error は次のようなオブジェクトになります。

{
  "error": {
    "code": "INVALID_PROFILE_INPUT",
    "message": "Invalid profile creation request; see details",
    "retryable": false,
    "details": [
      { "path": "profiles[1].proxy.port", "message": "Too big: expected number to be <=65535" }
    ]
  }
}

プログラムでは HTTP ステータスと code で判定してください。message は人が読むための説明で、一部は中国語です。文言はバージョンによって変わる場合があります。retryable が true の場合は、しばらくしてから同じリクエストを再試行できます。details は作成時のパラメーターエラーでのみ返され、最大 20 件で、送信した値は含まれません。

HTTP ステータスとエラーコード
HTTPエラー意味対処方法
400INVALID_PROFILE_INPUT作成時のパラメーターに誤りがある。details にフィールドと理由を列挙details に従って修正し、再送信
400query_not_allowed、body_not_allowed、json_body_required、invalid_json_bodyリクエストの形式がルールに沿っていない「リクエストのルール」を確認して修正
401unauthorizedトークンが誤っている、または無効になっているPrism で API を再起動し、新しいトークンを使う
403invalid_host、browser_origin_not_allowedアドレスまたはリクエスト元が受け付けられない127.0.0.1 を使い、ウェブページではなくスクリプトから呼び出す
403PRO_REQUIREDPro ライセンスが無効になっている、または固定したカーネルに Pro が必要Pro を更新または再アクティベート
404not_foundパスまたはメソッドが存在しない「エンドポイント一覧」を確認
404PROFILE_NOT_FOUNDプロファイルが存在しない、またはゴミ箱に移動済みプロファイル一覧を再取得
409IDEMPOTENCY_CONFLICT、IDEMPOTENCY_RESULT_GONEリクエストキーが競合している、または作成済みのプロファイルが削除された別のリクエストキーを使う
413request_too_largeリクエストボディが 96 KiB を超えている複数のバッチに分ける
429rate_limited、IDEMPOTENCY_CAPACITYリクエストが多すぎる、または 24 時間以内のリクエストキーが 1,000 件に達したしばらくしてから再試行
502MCP_REQUEST_FAILED などその他の実行失敗(カーネルがない、プロキシのチェックに失敗した、残存プロセスがあるなど)message に従って対処
504BROKER_TIMEOUTPrism から 60 秒以内に応答がない(操作は続行中の可能性あり)まず状態を確認。作成リクエストは同じキーで再試行

MCP_REQUEST_FAILED は Prism の内部で以前から使われている汎用のエラー名で、ローカル API でもそのまま使われています。

コード例

例のアドレスとトークンは、Prism のウィンドウに表示された値に置き換えてください。この例ではプロファイルを作成し、新しく作成したプロファイルを起動して閉じます。

Python

requests が必要です(pip install requests でインストール)。

import requests

API = "http://127.0.0.1:43123"   # the API address shown in Prism
TOKEN = "<token>"                # the token shown in Prism

session = requests.Session()
session.headers["Authorization"] = f"Bearer {TOKEN}"

def call(method, path, **kwargs):
    response = session.request(method, API + path, timeout=70, **kwargs)
    body = response.json()
    if not response.ok:
        raise RuntimeError(f"{response.status_code}: {body['error']}")
    return body.get("result", body)

created = call("POST", "/v1/profiles/batch",
               headers={"Idempotency-Key": "shops-batch-002"},
               json={"profiles": [{"name": "Shop C"}, {"name": "Shop D"}]})
for profile in created["profiles"]:
    print("created", profile["serialNumber"], profile["id"])

profiles = call("GET", "/v1/profiles")
for profile in profiles:
    print(profile["serialNumber"], profile["name"], profile["status"])

first = created["profiles"][0]["id"]
print(call("POST", f"/v1/profiles/{first}/start")["status"])   # running
print(call("POST", f"/v1/profiles/{first}/close")["status"])   # closed

Node.js

Node.js 18 以降には fetch が標準で組み込まれているため、依存パッケージをインストールする必要はありません。

// prism.mjs — run with: node prism.mjs (Node.js 18 or later)
const API = 'http://127.0.0.1:43123' // the API address shown in Prism
const TOKEN = '<token>'              // the token shown in Prism

async function call(method, path, body, headers = {}) {
  const response = await fetch(API + path, {
    method,
    headers: { Authorization: `Bearer ${TOKEN}`, ...(body ? { 'Content-Type': 'application/json' } : {}), ...headers },
    body: body ? JSON.stringify(body) : undefined,
    signal: AbortSignal.timeout(70_000),
  })
  const data = await response.json()
  if (!response.ok) throw new Error(`${response.status}: ${JSON.stringify(data.error)}`)
  return data.result ?? data
}

const profile = await call('POST', '/v1/profiles', {
  name: 'Shop E',
  fingerprint: { language: 'en-US', timezone: 'America/New_York', networkIdentityMode: 'manual' },
}, { 'Idempotency-Key': 'shop-e-001' })
console.log('created', profile.serialNumber, profile.id)

console.log((await call('POST', `/v1/profiles/${profile.id}/start`)).status) // running
console.log((await call('POST', `/v1/profiles/${profile.id}/close`)).status) // closed

MCP との関係

ローカル API は、自分で書いたスクリプトから使うためのものです。AI クライアントは MCP 経由で Prism に接続してください。MCP は独自のトークンと権限を使い、「ローカルAI・MCP」で許可したプロファイルだけが AI から見えます。AI がローカル API を呼び出すことはできません。両者は同じローカルサービスと、60 秒あたり 120 件のリクエスト上限を共有しています。MCP を停止するか、MCP の緊急停止を行うと、ローカル API も停止します。

AI も MCP ツール prism_create_profile と prism_create_profiles でプロファイルを作成でき、パラメーターはこのページと同じです。そのためには、「ローカルAI・MCP」で「AI によるプロファイル作成を許可」をオンにする必要があります(既定はオフ)。新しいプロファイルを AI が操作できるかどうかは、プロファイルの権限設定によって決まります。MCP とローカル API のリクエストキーは別々に管理されますが、記録の上限(24 時間以内に 1,000 件)は共通です。

セキュリティ上の注意

  • トークンは、この PC でプロファイルを管理するための鍵にあたります。コードリポジトリ、ログ、チャットには書き込まないでください。漏えいの疑いがある場合は、API を停止して再起動してください。古いトークンはすぐに無効になります。
  • API は 127.0.0.1 でのみ待ち受けるため、LAN やインターネット上の他のデバイスから直接アクセスすることはできません。Host のチェックは主にブラウザからのアクセスや誤用を防ぐためのもので、アクセス制御の代わりにはなりません。ポートフォワーディングやリバースプロキシで外部に公開しないでください。
  • この PC 上の他のプログラムも、トークンを入手すれば API を呼び出せます。API は信頼できる PC でのみ有効にし、使い終わったら「API を停止」をクリックしてください。
  • 「オートメーションAPI」ウィンドウの「緊急停止」を使うと API が停止し、今回 API で起動してまだ実行中のプロファイルが閉じられます。
  • Prism が実行したすべてのリクエストは、この PC の監査ログ vault/logs/automation-audit.jsonl(Prism のデータディレクトリ内)に書き込まれます。記録されるのは日時、操作、結果、リクエスト ID、プロファイル ID、失敗の理由で、トークン、リクエストの内容、ページの内容は記録されません。リクエストのルールで拒否されたリクエストと GET /v1/status は記録されません。

よくある質問

ウェブページやブラウザ拡張機能から呼び出せますか?
できません。ブラウザから送信されるリクエストには Origin ヘッダーが付くため、API に拒否されます。ターミナル、スクリプト、ローカルのプログラムから呼び出してください。
localhost を使うと 403 が返されるのはなぜですか?
API は、Host ヘッダーが API アドレスの 127.0.0.1 とポートに完全に一致することを求めるため、localhost は拒否されます。アドレスのホスト名には 127.0.0.1 を使ってください。
「オートメーションAPI」ウィンドウに実行中と表示されているのにトークンが表示されない場合は、どうすればよいですか?
MCP を有効にすると、Prism は API と MCP が共有するローカルサービスを自動で起動します。このとき、ウィンドウにはアドレスだけが表示されます。トークンは、「ローカル API を起動」をクリックして起動に成功したときに一度だけ表示されます。新しいトークンを取得するには、まず「API を停止」をクリックし、次に「ローカル API を起動」をクリックしてください。停止している間は、MCP の接続も切断されます。
Prism を再起動した後も、以前のトークンを使えますか?
使えません。API を起動するたびに新しいポートとトークンが生成されます。API を停止するか Prism を終了すると、古いトークンは無効になります。
API でプロファイルを編集・削除できますか?
できません。API でできるのはプロファイルの作成、照会、起動、終了です。設定の編集や削除は Prism のアプリで行ってください。
Puppeteer、Playwright、Selenium を接続できますか?
できません。API はデバッグポートも WebDriver のアドレスも提供しません。ページ単位の操作が必要な場合は、MCP を通じて AI クライアントに任せられます。
多数のプロファイルを一度に起動できますか?
起動エンドポイントを 1 つずつ順番に呼び出せば可能です。Prism はリクエストを順に処理し、1 つのプロファイルの起動が完了してから次を処理します。同時に実行できる数は、PC のメモリと CPU によって決まります。
Windows でも使えますか?
使えます。macOS 版と Windows 版の Prism Pro のどちらにもローカル API があり、エンドポイントも同じです。Windows PowerShell では curl.exe または Invoke-RestMethod を使ってください。