Огляд
Локальний API — це функція Prism Pro для пакетного керування профілями з власних скриптів: створюйте профілі на основі своїх даних, запускайте їх по черзі, перевіряйте статус і закривайте після роботи. Він керує лише самими профілями — не читає файли cookie, паролі, облікові дані проксі та вміст сторінок і не надає інтерфейсу налагодження для Puppeteer / Playwright. Щоб ШІ читав сторінки, натискав і заповнював форми, використовуйте MCP.
| Аспект | Опис |
|---|---|
| Адреса | http://127.0.0.1:<port>; порт призначається випадково під час кожного запуску, а запити приймаються лише з цього комп’ютера |
| Автентифікація | Заголовок запиту Authorization: Bearer <token>; маркер показується один раз під час запуску API і стає недійсним після його зупинки |
| Формат даних | JSON (UTF-8); результат успішної відповіді міститься в полі result |
| Тіло запиту | Тіло JSON приймають лише ендпоінти створення, до 96 KiB |
| Ліміт запитів | Не більше 120 запитів за 60 секунд, ліміт спільний з MCP |
| Тайм-аут | Кожен запит чекає на результат не більше 60 секунд |
| Доступність | Prism Pro; однаково в програмах для macOS і Windows; для ендпоінтів створення потрібна версія 0.3.22 або новіша |
Швидкий старт
Запустіть локальний API
У Prism відкрийте «API автоматизації» на панелі ліворуч і натисніть «Запустити локальний API». Для цієї функції потрібен Prism Pro.
Скопіюйте адресу й маркер
У вікні з’являться «Адреса API» та «Маркер доступу для цього сеансу». Маркер показується лише один раз — після успішного запуску, тому скопіюйте його відразу; щоб пізніше отримати новий маркер, зупиніть і знову запустіть API.
Надішліть перший запит
Задайте в терміналі дві змінні, перевірте стан служби й отримайте список профілів. Якщо у відповіді є
"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 приймає лише запити, які надсилають скрипти чи програми на цьому комп’ютері. Запит, що порушує будь-яке з наведених нижче правил, не виконується, і API повертає помилку, указану в таблиці:
| Правило | HTTP | Помилка |
|---|---|---|
Використовуйте 127.0.0.1, а не localhost: заголовок запиту Host має точно збігатися з адресою API | 403 | invalid_host |
Додавайте Authorization: Bearer <token> до кожного запиту | 401 | unauthorized |
| Без заголовка браузера Origin, тож JavaScript на вебсторінках і в розширеннях браузера не може викликати API | 403 | browser_origin_not_allowed |
Без параметрів запиту в URL (?…) | 400 | query_not_allowed |
| Лише шляхи й методи, наведені нижче | 404 | not_found |
Тіло запиту приймають лише ендпоінти створення; запити на запуск, закриття та інші не можуть надсилати навіть {} | 400 | body_not_allowed |
Для ендпоінтів створення — Content-Type: application/json, а тіло запиту має бути об’єктом JSON | 400 | json_body_required / invalid_json_body |
| Тіло запиту — не більше 96 KiB | 413 | request_too_large |
| Не більше 120 запитів за 60 секунд; невдалі запити й запити MCP теж враховуються | 429 | rate_limited |
Prism обробляє запити локального API і MCP по одному, у порядку надходження. Під час запуску профілю перевіряється проксі й відкривається браузер — зазвичай це триває кілька секунд, і наступні запити тим часом чекають у черзі. Надсилайте наступний запит лише після того, як надійде відповідь на попередній.
Ендпоінти
| Метод | Шлях | Призначення |
|---|---|---|
| GET | /v1/status | Перевірка доступності служби |
| GET | /v1/profiles | Список усіх профілів (крім тих, що в кошику) |
| GET | /v1/profiles/{id}/status | Статус одного профілю |
| POST | /v1/profiles/{id}/start | Запуск профілю |
| POST | /v1/profiles/{id}/close | Закриття профілю зі збереженням даних |
| POST | /v1/profiles | Створення одного профілю (з версії 0.3.22) |
| POST | /v1/profiles/batch | Створення 1–50 профілів за раз (з версії 0.3.22) |
{id} — це ID профілю; його можна отримати з результату GET /v1/profiles. Усі успішні відповіді мають статус HTTP 200; крім GET /v1/status, результат міститься в полі result. В API немає ендпоінтів для редагування й видалення профілів.
Об’єкт профілю
Список профілів, статус профілю, запуск і закриття повертають однаковий об’єкт профілю:
| Поле | Тип | Опис |
|---|---|---|
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"
}
}API не повертає адрес і облікових даних проксі, параметрів відбитка, файлів cookie, паролів, даних сайтів чи даних розширень.
Перегляд, запуск і закриття
GET /v1/status
Повертає стан служби — так можна перевірити, що адреса й маркер працюють. Лише ця відповідь не обгорнута в result:
{
"state": "running",
"transport": "loopback",
"protocolVersion": 1
}GET /v1/profiles
Повертає масив об’єктів профілів; першими йдуть нещодавно змінені. Профілі з кошика сюди не потрапляють.
GET /v1/profiles/{id}/status
Повертає поточний стан одного профілю. Якщо профіль не існує або перебуває в кошику, API повертає 404 PROFILE_NOT_FOUND.
POST /v1/profiles/{id}/start
- Те саме, що натиснути «Відкрити» в програмі: Prism перевіряє ядро й ліцензію на ядра Pro, проксі та зміну вихідної IP-адреси, а тоді відкриває вікно браузера. У разі успіху повертається об’єкт профілю зі статусом
running. - Якщо профіль уже запущено, повертається його поточний стан, і повторно нічого не відкривається.
- Наступний запит Prism обробляє лише після того, як запит на запуск поверне відповідь. Щоб запустити багато профілів, викликайте ендпоінт для кожного з них по черзі; скільки профілів може працювати одночасно, залежить від пам’яті та CPU вашого комп’ютера.
- Якщо потрібного ядра немає, перевірка проксі не пройшла, вихідна IP-адреса проксі змінилася (за політики
block) або є залишкові процеси, запуск завершується помилкою 502, аerror.messageпояснює причину. - Коли в програмі для продовження знадобилося б ваше підтвердження, запит через API одразу завершується помилкою — наприклад, якщо джерела геоданих по-різному визначають розташування вихідної IP-адреси проксі. У такому разі відкрийте профіль у програмі Prism або перемкніть його мережеву ідентичність у режим
manual. - Prism запам’ятовує профілі, для яких викликали ендпоінт запуску (зокрема й ті, що на момент виклику вже були запущені), і закриває їх, коли ви натискаєте «Аварійно зупинити» у вікні «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"Створення профілів
Ендпоінти створення зберігають нові профілі закритими й не відкривають браузер. Усі поля необов’язкові: для пропущених полів використовуються ті самі значення за замовчуванням, що й під час створення через «Новий профіль» у програмі, а кожен профіль отримує новий сід відбитка. Невідомі поля відхиляються.
Створення одного профілю
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–50 профілів за запит); кожен елемент записується так само, як для створення одного профілю, лише requestKey потрібно вказувати на верхньому рівні або в заголовку запиту. Prism спершу перевіряє всі профілі: якщо хоча б один містить помилку, нічого не створюється, а повідомлення про помилку вказує профіль і поле (profiles[1] — це другий профіль, бо нумерація починається з 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, у пакеті — щоразу на 1 більше; назва може збігатися з наявною |
group | Група, до 40 символів | Без групи |
tags | Масив тегів: до 20, кожен до 30 символів | Немає |
note | Примітки, до 500 символів | Немає |
color | Колір позначки, #RRGGBB | Кольори палітри по черзі |
startUrls | Масив стартових сторінок, до 50; лише http / https, без імені користувача й пароля; адреси без протоколу відкриваються через https | Офіційний сайт Prism |
proxy | Проксі; див. таблицю нижче | Пряме підключення |
fingerprint | Параметри відбитка; див. таблицю нижче | Як для нового профілю в програмі |
extensionIds | Внутрішні ID встановлених розширень у Prism, до 50. У вікні «Розширення браузера» цим ID є назва папки в шляху розширення …/<ID>/extension; це не ID розширення в Інтернет-магазині Chrome | Без розширень |
kernelVersion | Закріплює певну версію ядра: чотири числа, наприклад 144.0.7559.132; на момент запуску профілю ця версія має бути встановлена | Ядро за замовчуванням |
requestKey | Ключ запиту для безпечних повторів; див. розділ «Безпечні повторні запити» | Немає |
Поля проксі
| Поле | Опис |
|---|---|
protocol | Обов’язкове: direct, http, https або socks5 |
host | Ім’я хоста або IP без протоколу, порту й облікових даних; обов’язкове, якщо протокол не direct |
port | Ціле число від 1 до 65535; обов’язкове, якщо протокол не direct |
username、password | Необов’язкові. Пароль зберігається на цьому комп’ютері в зашифрованому вигляді, і жоден ендпоінт його не повертає |
Поля відбитка
| Поле | Опис | Якщо не вказано |
|---|---|---|
platform | macos або windows | За шаблоном обладнання; якщо шаблон не вказано — операційна система цього комп’ютера |
hardwareProfileId | Шаблон обладнання; див. таблицю нижче. Версію ОС, кількість ядер CPU та розмір екрана визначає шаблон | Шаблон «окремий GPU для кожного сіду» для відповідної системи |
seed | Сід відбитка, ціле число від 0 до 4294967295; однаковий сід за однакових інших налаштувань відбитка дає однаковий відбиток | Генерується випадково |
brand | Chrome або Edge | Chrome |
brandVersion | Версія браузера. Зазвичай поле залишають порожнім, щоб використовувалася версія ядра; якщо його заповнено, основна версія має збігатися з ядром, з яким запускається профіль, інакше профіль не запуститься | За версією ядра |
language | Мова інтерфейсу, наприклад en-US | Системна мова цього комп’ютера |
acceptLanguages | Заголовок запиту Accept-Language | Генерується автоматично за мовою |
timezone | Часовий пояс IANA, наприклад America/New_York | Часовий пояс цього комп’ютера |
networkIdentityMode | proxy: перед запуском перевіряється вихідна IP-адреса проксі; часовий пояс і геолокація відповідають їй, а якщо країну виходу розпізнано — то й мова; manual: завжди використовуються вказані вами значення | proxy |
proxyExitPolicy | Якщо вихідна IP-адреса проксі відрізняється від результату попередньої перевірки: block — цей запуск завершується помилкою, а наступний запуск вважається підтвердженням, тому скрипти не повинні автоматично повторювати запит після цієї помилки; warn — лише попередження | block |
webrtcPolicy | proxy_only — захист від витоку; public_only — лише публічний інтерфейс; default — системне значення за замовчуванням | proxy_only |
Шаблони обладнання
| ID | Система | Опис |
|---|---|---|
macos-seeded-apple | macOS | Окремий Apple GPU для кожного сіду, підходить для багатьох профілів; за замовчуванням для macOS |
macos-host | macOS | Обладнання цього комп’ютера; лише на Mac |
macos-m1 | macOS | Apple M1 · 8GB |
macos-m3-pro | macOS | Apple M3 Pro · 18GB |
macos-m4-pro | macOS | Apple M4 Pro · 24GB |
windows-seeded-nvidia | Windows | Окремий NVIDIA GPU для кожного сіду, підходить для багатьох профілів; за замовчуванням для Windows |
windows-host | Windows | Обладнання цього комп’ютера; лише на комп’ютерах з Windows |
windows-10-rtx3060 | Windows | Windows 10 · RTX 3060 · 16GB |
windows-11-rtx4060 | Windows | Windows 11 · RTX 4060 · 16GB |
windows-11-rtx4070 | Windows | Windows 11 · RTX 4070 · 32GB |
Якщо шаблон не відповідає platform, запит відхиляється. Положення й розмір вікна, файли cookie, дані розширень тощо не можна задати через API — змініть їх у програмі Prism після створення.
Безпечні повторні запити
Якщо зв’язок обірвався або минув тайм-аут запиту, ви можете не знати, чи профіль уже створено. Передавайте з кожним запитом на створення ключ запиту — тоді повторна спроба ніколи не створить профіль двічі:
- Передайте ключ у заголовку
Idempotency-Keyабо в полі тілаrequestKey: 8–128 символів — латинські літери, цифри та. _ : -. Якщо передано обидва, вони мають збігатися. - Повторний запит із тим самим ключем і тим самим вмістом протягом 24 годин повертає профілі, створені першого разу (HTTP 200), навіть після перезапуску Prism.
- Той самий ключ з іншим вмістом повертає 409
IDEMPOTENCY_CONFLICT. Якщо профіль, створений першим запитом, уже видалено (зокрема переміщено до кошика), API повертає 409IDEMPOTENCY_RESULT_GONEі не створює його непомітно знову; щоб створити його ще раз, використайте новий ключ. - Через 24 години той самий ключ вважається новим запитом.
- Протягом 24 годин зберігається до 1000 запитів із ключами; цей ліміт спільний зі створенням профілів через MCP (кожне створення через MCP займає один запис). Коли ліміт вичерпано, API повертає 429
IDEMPOTENCY_CAPACITY, доки не спливе термін зберігання старих записів. - Ключі та вміст запитів зберігаються на цьому комп’ютері лише у вигляді криптографічних хешів, тож пароль проксі у відкритому вигляді там не зберігається.
Формуйте ключі з власних даних, наприклад з номера рядка таблиці чи номера замовлення: 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 | Помилка | Значення | Що робити |
|---|---|---|---|
| 400 | INVALID_PROFILE_INPUT | Неправильні поля створення; details перелічує поля й причини | Виправте поля, указані в details, і надішліть запит знову |
| 400 | query_not_allowed、body_not_allowed、json_body_required、invalid_json_body | Запит порушує правила | Виправте згідно з розділом «Правила запитів» |
| 401 | unauthorized | Неправильний або вже недійсний маркер | Перезапустіть API в Prism і використайте новий маркер |
| 403 | invalid_host、browser_origin_not_allowed | Адресу або джерело запиту не прийнято | Використовуйте 127.0.0.1 і викликайте API зі скрипта, а не з вебсторінки |
| 403 | PRO_REQUIRED | Ліцензія Pro втратила чинність, або закріплене ядро потребує Pro | Поновіть або повторно активуйте Pro |
| 404 | not_found | Такого шляху чи методу немає | Перевірте розділ «Ендпоінти» |
| 404 | PROFILE_NOT_FOUND | Профіль не існує або перебуває в кошику | Отримайте список профілів ще раз |
| 409 | IDEMPOTENCY_CONFLICT、IDEMPOTENCY_RESULT_GONE | Конфлікт ключа запиту, або створений із цим ключем профіль уже видалено | Використайте новий ключ запиту |
| 413 | request_too_large | Тіло запиту перевищує 96 KiB | Розбийте на кілька пакетів |
| 429 | rate_limited、IDEMPOTENCY_CAPACITY | Забагато запитів, або за 24 години набралося 1000 ключів запиту | Повторіть пізніше |
| 502 | MCP_REQUEST_FAILED тощо | Інші збої — наприклад, бракує ядра, перевірка проксі не пройшла або є залишкові процеси | Дійте відповідно до message |
| 504 | BROKER_TIMEOUT | Prism не відповів протягом 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"]) # closedNode.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Локальний API і MCP
Локальний API призначено для ваших власних скриптів; клієнти ШІ мають підключатися до Prism через MCP. MCP має окремий маркер і власні дозволи: ШІ бачить лише профілі, дозволені у вікні «Локальний ШІ · MCP», і не може викликати локальний API. Обидва працюють через ту саму локальну службу й мають спільний ліміт — 120 запитів за 60 секунд; якщо зупинити MCP або аварійно зупинити його, локальний API теж зупиниться.
ШІ також може створювати профілі за допомогою інструментів MCP prism_create_profile і prism_create_profiles, які приймають ті самі поля, що описано на цій сторінці. Для цього у вікні «Локальний ШІ · MCP» потрібно ввімкнути «Дозволити ШІ створювати профілі» (за замовчуванням вимкнено); чи зможе ШІ керувати новими профілями, залежить від параметра «Режим доступу до профілів». MCP і локальний API мають окремі ключі запитів, але спільний ліміт — 1000 записів за 24 години.
Рекомендації з безпеки
- Маркер — це ключ до керування профілями на цьому комп’ютері: не зберігайте його в репозиторіях коду, журналах чи чатах. Якщо є підозра, що маркер витік, зупиніть і знову запустіть API — старий маркер одразу стане недійсним.
- API прослуховує лише 127.0.0.1, тож інші пристрої в локальній мережі чи в інтернеті не можуть підключитися до нього напряму. Перевірка Host передусім блокує запити з браузерів і випадкові помилкові звернення, але не замінює контролю доступу; не відкривайте доступ до API через переадресацію портів або зворотний проксі.
- Інші програми на цьому комп’ютері теж можуть викликати API, якщо отримають маркер. Вмикайте API лише на комп’ютерах, яким довіряєте, а після роботи натискайте «Зупинити API».
- Кнопка «Аварійно зупинити» у вікні «API автоматизації» зупиняє API й закриває профілі, запущені через API в цьому сеансі, якщо вони ще працюють.
- Кожен запит, який виконує Prism, записується до локального журналу аудиту
vault/logs/automation-audit.jsonl(у каталозі даних Prism), де фіксуються час, дія, результат, ID запиту, ID профілів і причина помилки — без маркера, вмісту запиту та вмісту сторінок. Запити, відхилені через порушення правил запитів, а такожGET /v1/statusдо журналу не потрапляють.
Поширені запитання
- Чи можна викликати API з вебсторінки або розширення браузера?
- Ні. Запити, які надсилає браузер, містять заголовок Origin, і API їх відхиляє. Викликайте API з термінала, скрипта або локальної програми.
- Чому через localhost API повертає 403?
- API вимагає, щоб заголовок Host точно збігався з 127.0.0.1 і портом з адреси API, тому localhost відхиляється. Указуйте в адресі ім’я хоста 127.0.0.1.
- Вікно «API автоматизації» показує, що API запущено, але маркера немає. Що робити?
- Коли MCP увімкнено, Prism автоматично запускає спільну для API і MCP локальну службу, тому у вікні видно лише адресу. Маркер показується лише один раз — після успішного запуску кнопкою «Запустити локальний API». Щоб отримати новий маркер, натисніть «Зупинити API», а потім «Запустити локальний API». На час зупинки підключення MCP теж буде перервано.
- Чи працюватиме старий маркер після перезапуску Prism?
- Ні. Під час кожного запуску API створюються новий порт і новий маркер; після зупинки API або виходу з Prism старий маркер стає недійсним.
- Чи можна через API редагувати або видаляти профілі?
- Ні. API може створювати профілі, отримувати відомості про них, запускати й закривати їх; змінювати налаштування та видаляти профілі можна в програмі Prism.
- Чи можна підключити Puppeteer, Playwright або Selenium?
- Ні. API не надає порту налагодження чи адреси WebDriver. Дії на рівні сторінок можна доручити клієнту ШІ через MCP.
- Чи можна запустити багато профілів за раз?
- Так, якщо викликати ендпоінт запуску для кожного профілю по черзі. Prism обробляє запити послідовно й переходить до наступного, щойно профіль запуститься; скільки профілів може працювати одночасно, залежить від пам’яті та CPU вашого комп’ютера.
- Чи працює API у Windows?
- Так. Prism Pro для macOS і Windows надає однаковий локальний API. У Windows PowerShell використовуйте curl.exe або Invoke-RestMethod.