Analytics REST API
The Privatus Analytics REST API: add .json to any app URL and send a token. Conventions and a reference of every operation, generated from the code.
Every page and action in Privatus Analytics is also an API endpoint (only
form pages such as new and edit have no JSON form). There's no
separate /api/v1: add .json to a URL and send an API token.
curl https://privatusanalytics.com/sites/pa_7Q2K9XH3AB/stats/aggregate.json?period=7d \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
{
"data": {
"period": { "from": "2026-09-23T00:00:00Z", "to": "2026-09-30T00:00:00Z" },
"metrics": {
"visitors": 1840, "visits": 2310, "pageviews": 5122,
"views_per_visit": 2.22, "bounce_rate": 41.3,
"visit_duration": 48000, "revenue": 129900
}
}
}
The reference below lists every operation with its method, path, permission, input schema and response schema. It's generated from the running code, as is the OpenAPI 3.1 document, so neither can drift from what the server does. The same operations are MCP tools.
Conventions#
| Base URL | https://privatusanalytics.com |
| Format | JSON. Add .json to the path (or send Accept: application/json) |
| Auth | Authorization: Bearer pat_… (Authentication) |
| Ids | Public ids with a prefix: ws_… workspaces, pa_… sites, goal_… goals, seg_… segments, wh_… webhooks |
| Reads | GET with query parameters |
| Writes | POST, PATCH, DELETE with a JSON body of flat fields |
| Success | { "data": … }, plus "meta" for lists |
| Errors | { "error": { "code", "message", "details" } } (Errors) |
| Lists | page and per_page (max 100) (Pagination) |
| Times | ISO 8601 in UTC. Date parameters (from, to) are days in the site's timezone |
| Money | Minor units (cents) in the site currency, e.g. revenue: 129900 = 1,299.00 |
| Durations | Milliseconds |
Common tasks#
| Task | Operation |
|---|---|
| List workspaces | GET /workspaces.json |
| List sites | GET /workspaces/{workspace_id}/sites.json |
| Headline metrics | GET /sites/{site_id}/stats/aggregate.json |
| Chart data | GET /sites/{site_id}/stats/timeseries.json |
| Top pages, sources, countries… | GET /sites/{site_id}/breakdown/{dimension}.json |
| Everything on the Overview | GET /sites/{site_id}/overview.json |
| Live visitors | GET /sites/{site_id}/live.json |
| Add a note (e.g. a deploy) | POST /sites/{site_id}/notes.json |
See Stats endpoints and Examples.
In this section#
Authentication · Errors · Pagination · Rate limits · Filters · Stats endpoints · Examples · Webhooks · Changelog and deprecation
Wszystkie operacje
Wyślij Authorization: Bearer pat_…. Tokeny utworzysz w ustawieniach przestrzeni roboczej, w sekcji Tokeny API. Przewodnik po uwierzytelnianiu.
Dodaj .json do dowolnej ścieżki. Odpowiedzi mają postać { "data": … }, a błędy { "error": { "code", "message" } }. Błędy.
Wyślij POST z JSON-RPC na https://privatusanalytics.com/mcp z tym samym tokenem. Każda operacja poniżej jest narzędziem. Przewodnik po MCP.
Pobierz openapi.json · 527 operacji
Alerty
POST
/alerts/:id/acknowledge.json
Potwierdź ostatni incydent
alerts_acknowledge
Oznacza ostatni niepotwierdzony incydent alertu jako zauważony przez wywołującego użytkownika. Nie rozwiązuje incydentu ani nie wycisza alertu, alert sam się rozwiązuje, gdy warunek przestaje być spełniony. Jeśli alert nie ma niepotwierdzonego incydentu, wywołanie kończy się błędem walidacji. Zwraca alert. Użyj alerts_history, aby zobaczyć incydenty z acknowledged_at i acknowledged_by. Wymaga tylko dostępu do odczytu analityki, więc potwierdzać mogą także widzowie.
Uprawnienie: analytics.read
curl -X POST https://privatusanalytics.com/alerts/:id/acknowledge.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/workspaces/:workspace_id/alerts.json
Utwórz alert
alerts_create
Tworzy regułę alertu, która obserwuje witrynę (lub całą przestrzeń roboczą dla kind usage) i powiadamia wybrane kanały po jej wyzwoleniu. Ścieżka przyjmuje workspace_id. name i kind są wymagane. kind decyduje, co jeszcze jest potrzebne. threshold wymaga site_id, metric (visitors, visits, pageviews, bounce_rate lub conversion), operator (gt, gte, lt lub lte) i threshold, a conversion wymaga też goal_id. anomaly wymaga site_id i metric (visitors, visits lub pageviews), porównuje ostatnie okno z tym samym oknem w każdym z poprzednich 4 tygodni i używa sensitivity (low, medium lub high). operator lt alarmuje tylko przy spadkach, gt tylko przy skokach, a pusty w obu przypadkach. goal wymaga site_id, goal_id i threshold (liczba realizacji w oknie). no_data wymaga site_id i threshold w godzinach bez zdarzeń (domyślnie 24). usage nie wymaga witryny, a threshold to procent miesięcznego limitu zdarzeń (domyślnie 80). uptime wymaga site_id i opcjonalnie uptime_check_id (domyślnie wszystkie kontrole witryny). ssl wymaga site_id i threshold w dniach przed wygaśnięciem certyfikatu lub domeny (domyślnie 14). vitals wymaga site_id, metric (lcp, inp, cls, fcp lub ttfb) i threshold w milisekundach (wynik dla cls). subscriptions wymaga site_id, metric (mrr_drop: MRR spadł o więcej niż threshold procent w ostatnich 30 dniach, churn_rate lub mrr_churn_rate: rezygnacje w ostatnich 30 dniach przekraczają threshold procent) i threshold (domyślnie 10), a jest pomijany, dopóki witryna nie ma połączonego dostawcy płatności lub nie ma czego mierzyć. window_minutes (domyślnie 60, od 5 do 10080) określa, jak daleko wstecz sięga każda ocena. channel_ids pochodzą z notification_channels_list, a sensitivity domyślnie ma wartość medium. Alerty są oceniane automatycznie co 5 minut. Progi bounce_rate i conversion to procenty od 0 do 100. testimonials wymaga site_id i metric, który mówi, co jest obserwowane: new (nadchodzi nowa opinia), low_rating (nadchodzi ocena 3 lub niższa), approved (opinia zostaje zatwierdzona), allowance (miesięczny limit nowych opinii jest wykorzystany w 80%, wyczerpany lub wstrzymuje opinię jako oczekującą), sync_found (synchronizacja znajduje nowe recenzje), import_failed (import się nie powiódł lub źródło zawodzi w trzech kolejnych synchronizacjach), removal_requested (ktoś prosi o usunięcie swojej opinii) lub request_bounced (e-mail z prośbą został odrzucony). Alert testimonials nie jest oceniany co 5 minut: wyzwala się od razu przy każdym zdarzeniu, zapisuje incydent, który jest już rozwiązany, a jego stan pozostaje ok. Z metric allowance obserwuje całą przestrzeń roboczą i nie ma witryny. Zwraca utworzony alert ze stanem ok.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/alerts.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/alerts/:id.json
Usuń alert
alerts_delete
Trwale usuwa regułę alertu wraz z całą historią incydentów. Tej operacji nie można cofnąć, a powiadomienia ustają natychmiast. Aby wstrzymać alert bez utraty historii, użyj alerts_update z enabled false lub alerts_mute. Id (alr_...) pochodzi z alerts_list. Zwraca usunięty alert w takiej postaci, w jakiej był. Wymaga uprawnienia do zapisu treści.
Uprawnienie: content.write
curl -X DELETE https://privatusanalytics.com/alerts/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/alerts/:id/history.json
Historia incydentów alertu
alerts_history
Wyświetla incydenty jednego alertu, od najnowszych, ze stronicowaniem. Każdy incydent ma triggered_at, resolved_at (null, dopóki jest otwarty), value (zmierzona liczba w chwili wyzwolenia, w tej samej jednostce co próg alertu), message (czytelny opis), acknowledged_at i acknowledged_by (wyświetlana nazwa członka lub null). Ustaw open na true, aby zobaczyć tylko nierozwiązane incydenty. Użyj alerts_acknowledge, aby oznaczyć ostatni jako zauważony, i alerts_get dla bieżącego stanu reguły.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/alerts/:id/history.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/workspaces/:workspace_id/alerts.json
Wyświetl alerty
alerts_list
Wyświetla reguły alertów przestrzeni roboczej (ścieżka przyjmuje workspace_id), posortowane według nazwy, ze stronicowaniem. Zwraca tablicę data z alertami oraz meta ze stronicowaniem. Każdy alert ma id (alr_...), site_id (pa_..., null dla alertów usage, które obserwują całą przestrzeń roboczą), name, kind, metric, operator, threshold, window_minutes, sensitivity, goal_id, channel_ids (identyfikatory nch_...), state (ok lub triggered), enabled, muted_until, last_triggered_at, last_evaluated_at i created_at. Zawęż listę przez site_id, state (ok lub triggered) lub kind. Użyj site_alerts_list, aby wyświetlić alerty jednej witryny ze ścieżki witryny, alerts_get dla pojedynczego alertu i alerts_history dla jego incydentów. Wywołujący ograniczony do niektórych witryn nigdy nie widzi alertów usage.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/workspaces/:workspace_id/alerts.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/alerts/:id/mute.json
Wycisz (lub włącz ponownie) powiadomienia alertu
alerts_mute
Wycisza powiadomienia jednego alertu na określoną liczbę minut, podczas gdy alert nadal jest oceniany i zapisuje incydenty w historii. minutes domyślnie wynosi 60, maksimum to 43200 (30 dni), a 0 natychmiast wyłącza wyciszenie. Odpowiedzią jest alert z muted_until ustawionym na koniec wyciszenia (null po wyłączeniu wyciszenia). Użyj alerts_update z enabled false, aby całkowicie przestać oceniać, i alerts_acknowledge, aby oznaczyć incydent jako zauważony bez wyciszania.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/alerts/:id/mute.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/alerts/:id.json
Pobierz alert
alerts_get
Zwraca jedną regułę alertu według id (alr_..., z alerts_list lub site_alerts_list). Odpowiedzią jest obiekt alertu z id, site_id (null dla alertów usage), name, kind, metric, operator, threshold, window_minutes, sensitivity, goal_id, channel_ids, state (ok lub triggered), enabled, muted_until, last_triggered_at, last_evaluated_at i created_at. Nie zawiera incydentów, użyj do nich alerts_history. threshold to liczba, której jednostka zależy od kind (zobacz alerts_create). Wymaga dostępu do odczytu analityki.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/alerts/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/alerts/:id.json
Zaktualizuj alert
alerts_update
Zmienia istniejącą regułę alertu (id z alerts_list). Zmieniają się tylko przesłane dane wejściowe, reszta zachowuje wartości. Do wyniku stosują się te same reguły dla poszczególnych kind co w alerts_create, więc zmiana kind lub metric może wymagać pasującego site_id, goal_id, operator lub threshold. Prześlij channel_ids, aby zastąpić całą listę kanałów powiadomień, i enabled false, aby przestać oceniać bez usuwania. Aby na pewien czas wyciszyć powiadomienia, ale nadal zapisywać incydenty, użyj zamiast tego alerts_mute. Zwraca zaktualizowany alert.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/alerts/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/alerts.json
Wyświetl alerty witryny
site_alerts_list
Wyświetla reguły alertów jednej witryny (ścieżka przyjmuje site_id), posortowane według nazwy, ze stronicowaniem. Zwraca te same obiekty alertów i przyjmuje te same filtry state i kind co alerts_list, ale tylko dla tej witryny, więc alerty usage (które nie mają witryny) nie są uwzględniane. Wybierz to wywołanie, gdy masz już identyfikator witryny, a alerts_list, gdy chcesz wszystkie alerty w przestrzeni roboczej. Każdy alert ma id (alr_...), site_id, name, kind, metric, operator, threshold, window_minutes, sensitivity, goal_id, channel_ids, state (ok lub triggered), enabled, muted_until, last_triggered_at, last_evaluated_at i created_at.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/alerts.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
Analityka
GET
/sites/:site_id/clicks.json
Mapa kliknięć: najczęściej klikane elementy witryny albo jednej strony, z udziałem wizyt, które kliknęły każdy z nich
clicks_list
Kliknięcia na element z modułu clicks trackera. Element to krótki selektor CSS (tag, id i do dwóch klas, najwyżej cztery poziomy) albo [data-privatus-click="name"], gdy witryna sama go nazwała. Podaj path (zaczynające się od ukośnika, tak jak jest zapisane), aby dostać jedną stronę: wtedy elements to {selector, clicks, visits, visit_share}, page_visits to liczba wizyt, które zobaczyły stronę, a visit_share to procent z nich (od 0 do 100), który kliknął element. Bez path elements to {path, selector, clicks, visits} dla całej witryny. visits liczy wizyty, które kliknęły przynajmniej raz. Zwraca period, path, page_visits i elements, od najczęściej klikanych. Nigdy nie zbieramy tekstu elementu, współrzędnych ani ruchów myszy. Resztę strony pobierzesz przez pages_detail.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/clicks.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/overview.json
Przegląd witryny: metryki, serie wykresów, najlepsze panele, odwiedzający na żywo i notatki
stats_overview
Jedno wywołanie zwracające wszystko, co pokazuje strona przeglądu witryny: użyj go, aby odpowiedzieć na szerokie pytanie, na przykład jak radzi sobie witryna, zamiast wywoływać kilka narzędzi. Zwraca period, metrics (visitors, visits, pageviews, views_per_visit, bounce_rate, visit_duration, revenue), interval, series (jeden wpis na przedział czasu), panels, notes i live_visitors. Z compare dodaje comparison_period, comparison, change i comparison_series, tak jak w stats_aggregate i stats_timeseries. Jednostki zgadzają się z tymi narzędziami: bounce_rate to procent od 0 do 100, visit_duration to mediana aktywnych milisekund, revenue to liczba całkowita w jednostkach podrzędnych (centach). panels to obiekt z kluczami będącymi nazwami wymiarów, każdy zawiera 10 najlepszych wierszy z ich udziałem, w tym samym kształcie wiersza co stats_breakdown dla tego wymiaru. Domyślnie zwraca channel, referrer, page, entry_page, country, device, browser, os, utm_campaign, event i goal. Prześlij panels, aby wybrać inne wymiary (dowolna nazwa wymiaru poza kluczami prop). notes wylicza adnotacje z zakresu jako {id, date, end_date, title, url, color}. live_visitors liczy odwiedzających z ostatnich 5 minut. Dla więcej niż 10 wierszy wymiaru użyj stats_breakdown, a dla jednej liczby stats_aggregate. Przyjmuje wspólne dane wejściowe period, compare, filters i segment.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/overview.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/experiments/external.json
Raport eksperymentu: współczynnik konwersji na wariant, przyrost względem kontroli i istotność (test z dla dwóch proporcji)
experiments_report
Raportuje test A/B na podstawie danych o zdarzeniach. Wizyty są przypisywane do wariantu znalezionego we właściwości zdarzenia (pierwsza wartość widziana w wizycie, na przykład właściwość variant z wartościami control i b), a konwersją jest wizyta, która zrealizowała cel. Wymagane dane wejściowe to property (klucz małymi literami, do 64 znaków) i goal_id (aktywny cel, z goals_list). Zwraca period, property, goal {id, name}, control, confidence (0.95) i variants. Każdy wariant ma visits, conversions, conversion_rate (procent, od 0 do 100), control (true dla wariantu bazowego), uplift (procentowa zmiana współczynnika konwersji względem kontrolnego, null dla kontrolnego lub gdy jego współczynnik wynosi 0), z, p_value i significant (true, gdy p_value jest poniżej 0.05, z użyciem testu z dla dwóch proporcji). Wariantem kontrolnym jest ten przekazany w control, w przeciwnym razie o nazwie control, a w ostateczności wariant z największą liczbą wizyt. Najwyżej 20 wariantów, od najbardziej ruchliwego. Najpierw upewnij się, że witryna wysyła wariant jako właściwość zdarzenia. Przyjmuje wspólne dane wejściowe period i filters. Dla zwykłego współczynnika konwersji celu użyj goals_get. Wymaga planu Business lub Enterprise (w przeciwnym razie 402 plan_limit).
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/experiments/external.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/insights.json
Istotne zmiany względem poprzedniego okresu, prostym językiem (najwięksi zmieniający się, zmiany konwersji celów)
insights_get
Zrozumiałe zmiany warte uwagi dla witryny, w porównaniu z poprzednim okresem o tej samej długości. Zwraca period, comparison_period i insights. Okres obejmuje pełne dni do wczoraj, wybierane przez period (7d, 14d, 28d lub 30d, domyślnie 7d). Każdy insight ma dimension (total, channel, page, country lub goal), metric, value, previous, current, change i sentence. change to procent dla liczności i punkty procentowe dla współczynnika konwersji celu, a sentence to gotowe do przeczytania zdanie po angielsku. Obejmuje łączną liczbę odwiedzających i odsłon, dwie największe zmiany w każdym wymiarze (zmiany o 20 procent lub więcej przy co najmniej 10 wizytach lub odsłonach) oraz cele, których współczynnik konwersji zmienił się o pół punktu lub więcej. Najważniejsze pierwsze, ograniczone przez limit (domyślnie 8, maks. 20). Wyniki są przechowywane przez dobę. Dla dokładnych liczb użyj stats_aggregate i stats_breakdown, a to wywołanie służy do znajdowania, co się zmieniło.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/insights.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/journeys.json
Ścieżki: najpopularniejsze 3-krokowe ścieżki po stronie (lub dowolnym wejściu) albo przed stroną lub celem
journeys_explore
Bada najczęstsze trzykrokowe ścieżki stron w obrębie wizyt. W trybie forward (domyślnym) pokazuje ścieżki po stronie startowej podanej w path lub po dowolnym wejściu, gdy path jest puste. W trybie reverse pokazuje ścieżki prowadzące do strony końcowej (path) lub do celu (goal_id, co automatycznie przełącza na reverse). reverse wymaga path lub goal_id. path musi zaczynać się od ukośnika. Zwraca period, mode, path, goal, sampled, sample_rate (procent), total_visits oraz graf ścieżek z nodes i links dla każdego kroku, ograniczony do limit stron na krok (od 2 do 12, domyślnie 6). Powyżej 100 000 wizyt dane są próbkowane. Filtry stron są ignorowane, ponieważ skracałyby ścieżki. Ścieżki są budowane dla wizyty, ponieważ nie jest przechowywany żaden identyfikator odwiedzającego. Przyjmuje wspólne dane wejściowe period, filters i segment. Dla sąsiadów jednej strony użyj pages_detail, a dla konwersji kroków funnels_get.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/journeys.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/pages/detail.json
Szczegóły strony: metryki, poprzednie i następne strony, źródła, Web Vitals, zdarzenia i mapa kliknięć dla jednej ścieżki
pages_detail
Jedna strona dogłębnie. Przekaż path (musi zaczynać się od ukośnika, na przykład /pricing), dokładnie tak, jak jest zapisany (bez ciągu zapytania i hosta). Zwraca period, path, url, metrics, previous_pages, next_pages, sources, vitals, events, clicks, goals i notes. metrics ma visitors, visits, pageviews, entrances, exits, entry_rate, exit_rate i bounce_rate (procenty, od 0 do 100), time_on_page (mediana w milisekundach) i scroll_depth (mediana w procentach), przy czym dwa ostatnie są null bez danych o zaangażowaniu. previous_pages i next_pages to strony widziane przed i po w tej samej wizycie, jako {value, count, share}, z (entrance) i (exit) jako wartościami specjalnymi. sources ma najlepsze kanały i źródła odesłań wizyt, które weszły na tę stronę. vitals ma wartości p75 dla każdego wskaźnika Web Vital z ocenami. events to zdarzenia niestandardowe wywołane na stronie, clicks to najczęściej klikane selektory elementów, goals to cele zrealizowane na niej, a notes to adnotacje, które o niej wspominają. Użyj stats_breakdown z dimension page, aby uszeregować strony, i referrers_detail dla witryny odsyłającej.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/pages/detail.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/referrers.json
Źródła odsyłające: witryny, które linkują do tej witryny, wraz z odwiedzającymi, zaangażowaniem, rodzajem ruchu i liczbą linkujących stron
referrers_list
Szereguje zewnętrzne witryny, które przysłały odwiedzających, wraz z tym, co każda z nich przysłała. Wizyty bezpośrednie (bez źródła odesłania) są pomijane. Zwraca period, summary, channels, page, limit, has_more i rows. summary ma visitors, visits, pageviews, bounce_rate (procent), visit_duration (mediana aktywnych milisekund), revenue (jednostki podrzędne, centy), sites (liczba witryn odsyłających) i share (procent wszystkich wizyt, które przyszły z odesłań). channels pokazuje rodzaje ruchu jako {value, visitors, visits}. Każdy wiersz ma value (host odsyłający), visitors, visits, pageviews, bounce_rate, visit_duration, revenue, channel (jego zwykły kanał), linking_pages (ile różnych stron tej witryny prowadzi tutaj) i share (procent odesłanych odwiedzających). Sortuj przez sort (visitors, visits, pageviews lub revenue, domyślnie visitors), zawężaj przez search (tekst zawarty w hoście) i przechodź po stronach przez page i limit (maks. 100), dopóki has_more ma wartość true. Użyj referrers_detail dla jednej witryny. Przyjmuje wspólne dane wejściowe period, compare, filters i segment.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/referrers.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/referrers/detail.json
Szczegóły źródła odsyłającego: metryki i trend jednej witryny odsyłającej, jej linkujące strony, strony docelowe, kraje, urządzenia, kampanie i konwersje
referrers_detail
Jedna witryna odsyłająca dogłębnie. Przekaż referrer jako host bez www i bez ścieżki (na przykład news.ycombinator.com), tę samą wartość co w referrers_list. Zwraca period, referrer, url, channel (jej najczęstszy kanał), metrics, share (procent wszystkich wizyt), interval, series (ruch w czasie), linking_pages, landing_pages, channels, countries, devices, campaigns, goals oraz z compare także comparison, change i comparison_series. metrics i series używają tych samych pól i jednostek co stats_aggregate i stats_timeseries. linking_pages to strony odsyłającego, z których przyszli odwiedzający, jako wiersze z path, url, visitors i share (ciągi zapytania nigdy nie są zapisywane). landing_pages to miejsca, w których ci odwiedzający weszli. channels, countries, devices i campaigns to najlepsze wartości z metrykami, a goals wylicza cele przez nich zrealizowane z conversions i conversion_rate. Użyj referrers_list, aby uszeregować witryny odsyłające, i stats_breakdown z dimension referrer dla prostej listy.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/referrers/detail.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/stats/aggregate.json
Główne metryki dla okresu (z porównaniem)
stats_aggregate
Główne liczby dla jednego okresu, jako jeden obiekt. Zwraca period {from, to} i metrics {visitors, visits, pageviews, views_per_visit, bounce_rate, visit_duration, revenue}. Z compare zwraca także comparison_period, comparison (te same metryki dla drugiego zakresu) i change (zmiana procentowa każdej metryki, null, gdy wcześniejsza wartość wynosiła 0). Jednostki: bounce_rate to procent od 0 do 100 (10.9 oznacza 10,9%). visit_duration to mediana aktywnego czasu wizyty w milisekundach. revenue to liczba całkowita w jednostkach podrzędnych (centach) waluty witryny. views_per_visit to liczba dziesiętna. Odwiedzający są liczeni dziennie, ponieważ nie jest przechowywany żaden trwały identyfikator odwiedzającego, więc ktoś, kto wraca innego dnia, liczy się ponownie. Użyj go dla sum i zmiany okres do okresu. Użyj stats_timeseries dla wykresu w czasie, stats_breakdown dla najlepszych wartości wymiaru i stats_overview dla wszystkiego naraz. Zawężaj każde z nich przez filters (nazwy wymiarów i operatory znajdziesz w filters).
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/stats/aggregate.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/breakdown/:dimension.json
Najczęstsze wartości wymiaru (strony, źródła, kraje…)
stats_breakdown
Najlepsze wartości jednego wymiaru z ich metrykami, od najważniejszych, ze stronicowaniem. Wymiar jest ostatnią częścią ścieżki i musi być dokładną nazwą z jego opisu (na przykład country, page, channel, utm_campaign, prop:plan). Zwraca period, dimension, label, page, limit, has_more i rows. Dopóki has_more ma wartość true, proś o następną stronę. Każdy wiersz ma value i share (procent sumy okresu). Pozostałe pola wiersza zależą od wymiaru. Wymiary wizyt (channel, referrer, referrer_url, utm_*, ref, hostname, country, language, device, browser, browser_version, os, os_version, screen, entry_page, exit_page, interaction, bot_score) dają visitors, visits, pageviews, views_per_visit, bounce_rate, visit_duration i revenue. page daje pageviews, visits, time_on_page (milisekundy) i scroll_depth (procent), bez visitors. event i prop:<key> dają completions, visits, revenue i conversion_rate. goal daje goal_id, completions, conversions, conversion_rate i revenue. Jednostki: bounce_rate i conversion_rate to procenty (od 0 do 100), czasy trwania to milisekundy, revenue jest w jednostkach podrzędnych (centach). Błędny wymiar zwraca 422 z listą prawidłowych nazw. Użyj search, aby szukać wartości we wszystkich wierszach, i filters, aby najpierw zawęzić dane (na przykład strony odwiedzone z jednego kraju). Dla jednej strony lub jednego źródła odesłań dogłębnie użyj pages_detail lub referrers_detail. Wymiary interaction i bot_score wymagają planu Business lub Enterprise: jako podział odpowiadają kodem 402 plan_limit w innych planach, a filtr po nich jest pomijany.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/breakdown/:dimension.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/stats/timeseries.json
Metryki na przedział czasu dla wykresów
stats_timeseries
Metryki na przedział czasu, dla wykresów i trendów. Zwraca period, interval (faktycznie użyty przedział) i series, czyli listę {date, visitors, visits, pageviews, views_per_visit, bounce_rate, visit_duration, revenue}, jeden wpis na przedział, z date jako początkiem przedziału w formacie ISO 8601. Z compare zwraca także comparison_series dla drugiego zakresu, przedział po przedziale. Jednostki są takie same jak w stats_aggregate: bounce_rate to procent (od 0 do 100), visit_duration to mediana aktywnych milisekund, revenue jest w jednostkach podrzędnych (centach). interval domyślnie ma wartość auto, która wybiera minutę, godzinę, dzień, tydzień lub miesiąc odpowiednio do zakresu. Ustaw go, aby wymusić rozmiar przedziału. Użyj stats_aggregate dla pojedynczej sumy i stats_breakdown do podziału według wymiaru, takiego jak country lub page.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/stats/timeseries.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
Analityka opinii
GET
/sites/:site_id/testimonials/analytics/breakdown.json
Podziel jedną metrykę opinii według formularza, prośby, wtyczki, ściany, opinii, kanału, strony, kraju lub źródła
testimonial_stats_breakdown
Zwraca wiersze, od największego, każdy z key, label, value i share (procent sumy) albo numerator i denominator dla wskaźnika. Wiersz rekordu (formularz, prośba, wtyczka, ściana, opinia) zawiera jego id. Każdy wymiar przyjmuje tylko niektóre metryki: formularz i kanał przyjmują metryki formularzy, prośba metryki próśb, wtyczka i ściana własne wyświetlenia, kliknięcia, współczynnik kliknięć i video_plays, opinia przyjmuje testimonial_views i video_plays, strona i kraj metryki wyświetleń i kliknięć, a źródło przyjmuje new_testimonials. Para, która do siebie nie pasuje, dostaje odpowiedź 422 ze wskazaniem pasujących metryk.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/analytics/breakdown.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/testimonials/analytics/export.json
Zakolejkuj plik z jedną sekcją analityki opinii
testimonial_stats_export
Tworzy eksport rodzaju testimonial_stats dla podanego okresu i zwraca go jako zakolejkowany. Odpytuj exports_get, aż status będzie complete, a potem exports_download. section wybiera wiersze: days (jeden wiersz na dzień, tydzień lub miesiąc ze wszystkimi metrykami), forms, channels, requests, widgets, walls, pages, testimonials, sources lub countries. Plik jest przechowywany przez 7 dni. Odpowiada 422 in_progress, gdy w kolejce jest już zbyt wiele eksportów.
Uprawnienie: analytics.export
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/analytics/export.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/analytics.json
Odczytaj analitykę opinii witryny jednym wywołaniem
testimonial_stats_overview
Zwraca wszystko, co pokazuje karta Analityka w Opiniach dla danego okresu: cards (form_views, submissions, completion_rate, answer_rate, widget_views, wall_views, każda z previous i change, gdy ustawiono compare), chart (jedna metryka w czasie), wiersz na każdy formularz, prośbę, wtyczkę i ścianę, channels (jak otwarto formularze), pages (gdzie widziano wtyczki i ściany), top_testimonials, new_testimonials (według źródła i obecnego statusu) oraz countries. Wskaźniki to procenty od 0 do 100 i mają wartość null, gdy nie ma przez co dzielić. blank ma wartość true, dopóki witryna niczego nie zliczyła, a recorded wymienia metryki, które kiedykolwiek zliczono. To dzienne sumy funkcji opinii, a nie analityka internetowa: do odwiedzających i odsłon użyj stats_overview.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/analytics.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/testimonials/analytics/timeseries.json
Odczytaj jedną metrykę opinii na dzień, tydzień lub miesiąc
testimonial_stats_timeseries
Zwraca punkty z date, to, value oraz, gdy ustawiono compare, previous i previous_date, a także total, previous_total i change. Wskaźnik (completion_rate, answer_rate, widget_click_rate, wall_click_rate) jest wyliczany z sum każdego przedziału i ma wartość null dla przedziału, w którym nie ma przez co dzielić. new_testimonials jest liczone z samych opinii według dnia dodania każdej.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/analytics/timeseries.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
Ankiety
POST
/sites/:site_id/surveys.json
Utwórz ankietę
surveys_create
Tworzy ankietę na stronie witryny bez plików cookie. Nic nie zbiera, dopóki jej status nie jest active, więc utwórz ją najpierw jako draft lub przekaż status active, aby ruszyła od razu. Wymagane są name (wewnętrzna, odwiedzający jej nigdy nie widzą, maks. 120 znaków) i questions (od 1 do 5 wierszy w kolejności). Każde pytanie to obiekt z key (opcjonalny, stabilny identyfikator z małych liter, cyfr i podkreśleń, generowany, gdy pominięty), kind (text, choice, multi, rating, nps lub yes_no), prompt (wymagany, maks. 200 znaków), required (boolean), choices (lista do 10 opcji, tylko dla choice i multi) i scale (3, 5, 7 lub 10, tylko dla rating, domyślnie 5). NPS zawsze używa skali od 0 do 10. Kierowanie to trigger_kind (immediate, delay, scroll, exit lub manual) z delay_seconds (od 0 do 600, domyślnie 10, tylko dla delay) i scroll_percent (od 1 do 100, domyślnie 50, tylko dla scroll), paths (wiersze match_type exact, prefix lub glob i pattern, puste oznacza każdą stronę), devices (desktop, mobile, tablet, puste oznacza wszystkie), position (bottom_right, bottom_left lub center), sample_rate (od 1 do 100 procent odwiedzających), thank_you (maks. 200 znaków), starts_on i ends_on (YYYY-MM-DD). Ankiety nie mogą pytać o adres e-mail, a odpowiedzi pisemne są oczyszczane z danych osobowych. Plan Free pozwala na 1 ankietę na przestrzeń roboczą i ograniczoną liczbę odpowiedzi miesięcznie, plany płatne bez limitu. Wymaga uprawnienia content.write. Zwraca ankietę z id (svy_...). Odpowiedzi odczytasz przez surveys_get.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/surveys.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/surveys/:id.json
Usuń ankietę wraz z odpowiedziami
surveys_delete
Trwale usuwa ankietę wraz ze wszystkimi jej odpowiedziami. Tej operacji nie można cofnąć, a wyniki przepadają. Użyj zamiast tego surveys_pause, jeśli chcesz tylko przestać zbierać odpowiedzi. Id pochodzi z surveys_list, a site_id jest wymagane. Wymaga uprawnienia content.write. Zwraca usuniętą ankietę.
Uprawnienie: content.write
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/surveys/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/surveys.json
Wyświetl ankiety witryny wraz z liczbą odpowiedzi
surveys_list
Wyświetla ankiety witryny, od najnowszych, z ich ustawieniami i liczbą odpowiedzi. Filtruj przez status (draft, active, paused lub all, domyślnie all). Stronicowane przez page i per_page (domyślnie 25, do 100). Każda ankieta ma id (svy_...), name, status, questions, ustawienia kierowania, starts_on, ends_on, created_at, updated_at i stats (liczby responses, completed i this_month). Użyj surveys_get dla odpowiedzi i wyników jednej ankiety.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/surveys.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/surveys/:id/pause.json
Przestań zbierać odpowiedzi i zachowaj już udzielone
surveys_pause
Wstrzymuje ankietę, więc od razu przestaje być proponowana odwiedzającym. Już zebrane odpowiedzi są zachowywane i pokazywane w surveys_get, a surveys_start ją wznawia. Użyj go zamiast surveys_delete, gdy chcesz tylko przestać zbierać odpowiedzi. Id pochodzi z surveys_list, a site_id jest wymagane. Wymaga uprawnienia content.write. Zwraca ankietę ze status paused.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/surveys/:id/pause.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/surveys/:id.json
Wyniki ankiety za okres, w podziale na pytania
surveys_get
Zwraca raport z wynikami jednej ankiety za okres, a nie tylko jej ustawienia (do ustawień i liczb użyj surveys_list). Wybierz ustawienie predefiniowane period (domyślnie 30d) lub period custom z from i to. Odpowiedź ma survey (jej ustawienia), period (from i to jako czasy ISO 8601), responses (osoby, które odpowiedziały na co najmniej jedno pytanie), completed (osoby, które odpowiedziały na ostatnie pytanie), questions (jeden wpis na pytanie z key, kind, prompt i liczbą answers, plus szczegóły zależne od rodzaju) oraz pages, devices i countries (do 10 wierszy każde z value i count). Szczegóły zależne od rodzaju to texts (do 100 najnowszych odpowiedzi pisemnych z text i at) dla text, choices (value, count, share jako procent z jednym miejscem po przecinku, offered) dla choice, multi i yes_no, average (null bez odpowiedzi), scale i distribution dla rating oraz score (NPS od -100 do 100, null bez odpowiedzi), promoters (9 i 10), passives (7 i 8), detractors (od 0 do 6) i distribution dla nps. Użyj surveys_themes, aby podsumować odpowiedzi pisemne.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/surveys/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/surveys/:id/start.json
Zacznij zbierać odpowiedzi
surveys_start
Ustawia ankietę jako active, aby można ją było proponować odwiedzającym. Pojawia się tylko wtedy, gdy bieżąca data mieści się między starts_on i ends_on (gdy ustawione), strona pasuje do jej paths i devices, a miesięczny limit odpowiedzi planu nie jest wyczerpany. Użyj go dla szkicu lub wstrzymanej ankiety. Id pochodzi z surveys_list, a site_id jest wymagane. Wymaga uprawnienia content.write. Zwraca ankietę ze status active. Zatrzymasz ją ponownie przez surveys_pause.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/surveys/:id/start.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/surveys/:id/themes.json
Pogrupuj odpowiedzi tekstowe na jedno pytanie w tematy (plan Business)
surveys_themes
Używa AI do pogrupowania odpowiedzi pisemnych na jedno pytanie otwarte w tematy. Tylko plan Business. Wybierz to, gdy surveys_get pokazuje pytanie tekstowe z wystarczającą liczbą odpowiedzi, i przekaż question_key (klucz pytania rodzaju text z surveys_get). Wymaga co najmniej 5 odpowiedzi pisemnych i używa 300 najnowszych. Wynik wylicza do 12 tematów, każdy z label, count, sentiment (positive, neutral lub negative) i example (reprezentatywna odpowiedź, może być null), plus answers (ile odpowiedzi podsumowano) i generated_at. Każde nowe wygenerowanie zużywa jedno pytanie z miesięcznego limitu AI przestrzeni roboczej, które jest zwracane, jeśli się nie powiedzie. Wynik jest buforowany względem odpowiedzi, więc ponowne wywołanie bez nowych odpowiedzi nic nie kosztuje. Kończy się błędem walidacji, gdy plan tego nie zawiera, limit jest wyczerpany, AI nie jest skonfigurowane lub odpowiedzi jest za mało.
Uprawnienie: analytics.read
curl -X POST https://privatusanalytics.com/sites/:site_id/surveys/:id/themes.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
PATCH
/sites/:site_id/surveys/:id.json
Zaktualizuj ankietę
surveys_update
Zmienia ankietę. Zmieniają się tylko przesłane dane wejściowe. Dane wejściowe i limity są takie same jak w surveys_create, ze status draft, active lub paused. Gdy wyślesz questions, cała lista jest zastępowana, więc uwzględnij każde pytanie, które chcesz zachować, i zachowaj każdy istniejący key, aby zachować zebrane odpowiedzi (przeformułowanie prompt z tym samym key nie dzieli wyników). Pominięte pytania przestają pojawiać się w wynikach. Zmiany w kierowaniu obowiązują odwiedzających od razu. Id pochodzi z surveys_list, a site_id jest wymagane. Wymaga uprawnienia content.write. Zwraca zaktualizowaną ankietę.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/sites/:site_id/surveys/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Aplikacja mobilna
GET
/workspaces/:workspace_id/app.json
Pobierz dane potrzebne aplikacji mobilnej do otwarcia przestrzeni roboczej
mobile_bootstraps_get
Zwraca dla jednej przestrzeni roboczej (ścieżka przyjmuje workspace_id) rolę i uprawnienia wywołującego, features (które objęte planem raporty są dostępne: traffic_quality, bot_detection, external_experiments, campaign_costs, status_pages, traffic_rules, experiment_advanced (zaawansowane ustawienia eksperymentu) i survey_ai_themes (motywy dla odpowiedzi tekstowych ankiety) jako true lub false oraz retention_months jako liczbę miesięcy lub null, gdy nie ma limitu), sites_count (witryny, które wywołujący może otworzyć) i min_app_version (najstarsza wersja aplikacji mobilnej, jaką API nadal obsługuje). Aplikacja mobilna odczytuje to raz, przy otwieraniu przestrzeni roboczej, dzięki czemu może pokazać raport spoza planu jako niedostępny, zamiast o niego prosić. Wymaga analytics.read.
Uprawnienie: analytics.read
· Tylko HTTP (nie jest narzędziem MCP)
curl https://privatusanalytics.com/workspaces/:workspace_id/app.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
DELETE
/account/device.json
Zatrzymaj powiadomienia push do aplikacji mobilnej
mobile_devices_delete
Usuwa rejestrację push wywołującego logowania aplikacji mobilnej, więc urządzenie nie dostaje już powiadomień push. Samo logowanie zostaje, a aplikacja może zarejestrować się ponownie. Wylogowanie (POST /oauth/revoke z tokenem odświeżania) również ją usuwa. Może to wywołać tylko token aplikacji mobilnej.
Uprawnienie: member
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/account/device.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/account/device.json
Pobierz rejestrację push aplikacji mobilnej
mobile_devices_get
Zwraca urządzenie z logowania aplikacji mobilnej, które wykonuje wywołanie: registered (false, dopóki aplikacja nie zarejestruje tokenu push), platform, locale, timezone, app_version, kinds (wszystkie rodzaje powiadomień push), muted_kinds i muted_site_ids (co użytkownik wyłączył). Może to wywołać tylko token aplikacji mobilnej.
Uprawnienie: member
· Tylko HTTP (nie jest narzędziem MCP)
curl https://privatusanalytics.com/account/device.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/account/device.json
Zarejestruj aplikację mobilną do powiadomień push
mobile_devices_update
Rejestruje urządzenie z logowania wywołującej aplikacji mobilnej do powiadomień push lub zmienia to, co otrzymuje. Zmieniają się tylko wysłane dane. Pierwsze wywołanie wymaga platform i push_token. Urządzenie dostaje powiadomienie o uptime (sprawdzanie przestało działać lub wróciło), alert (alert zadziałał lub został rozwiązany), site_audit (audyt witryny zakończył się), experiment (eksperyment ma wynik lub się zakończył) i usage (miesięczny limit jest prawie lub całkowicie wykorzystany), dla każdej witryny, którą jego członek może otworzyć, w każdym planie. muted_kinds i muted_site_ids wyłączają rodzaje i witryny, a każde z nich zastępuje całą swoją listę. Zarejestrowanie tokenu push, który posiada inne logowanie aplikacji, przenosi go do tego logowania. Może to wywołać tylko token aplikacji mobilnej. To jeden z dwóch zapisów, jakie taki token może wykonać.
Uprawnienie: member
· Tylko HTTP (nie jest narzędziem MCP)
curl -X PATCH https://privatusanalytics.com/account/device.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Asystent
POST
/sites/:site_id/ask.json
Zadaj pytanie w nowej rozmowie (wlicza się do miesięcznego limitu pytań AI)
assistant_ask
Rozpoczyna nową rozmowę Ask w jednej witrynie i odpowiada na jej pierwsze pytanie na podstawie analityki tej witryny. Użyj go dla pytania w zwykłym języku o witrynę. Użyj assistant_ask_followup, aby kontynuować istniejącą rozmowę, a narzędzi stats, gdy znasz już dokładne zapytanie. Odpowiedź tworzy model AI, który samodzielnie wykonuje zapytania analityczne tylko do odczytu, więc wywołanie może trwać wiele sekund. Liczy się jako jedno pytanie AI w miesięcznym limicie przestrzeni roboczej (5 w Free, 20 w Pro, 100 w Business) i kończy się błędem limitu, gdy limit się wyczerpie. Pytanie może mieć najwyżej 2000 znaków. Rozmowy są prywatne dla członka, który je rozpoczął, i są usuwane 30 dni po ostatniej wiadomości. Zwraca rozmowę (id, site_id, title wzięty z pytania, created_at, updated_at, expires_at) z tablicą messages. Każda wiadomość ma role (user lub assistant), content (tekst odpowiedzi), queries (dokładne zapytania analityczne wykonane przez asystenta), chart (definicja wykresu, może być null), goal_draft (sugerowany cel, może być null), liczby tokenów i created_at. Jeśli odpowiedź się nie powiedzie, rozmowa jest usuwana i żadne pytanie nie jest liczone. Wymaga analytics.read.
Uprawnienie: analytics.read
curl -X POST https://privatusanalytics.com/sites/:site_id/ask.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/ask/:id.json
Usuń rozmowę Ask i jej wiadomości
assistant_conversations_delete
Trwale usuwa jedną rozmowę Ask wraz ze wszystkimi jej wiadomościami od razu. Tej operacji nie można cofnąć. Id rozmowy weź z assistant_conversations_list. Tylko członek, który rozpoczął rozmowę, może ją zobaczyć i usunąć. Wymaga analytics.read i site_id. Zwraca podsumowanie usuniętej rozmowy (id, site_id, title, znaczniki czasu). Nie zwraca pytań AI już naliczonych w tym miesiącu.
Uprawnienie: analytics.read
curl -X DELETE https://privatusanalytics.com/sites/:site_id/ask/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/ask.json
Wyświetl swoje rozmowy Ask dla witryny
assistant_conversations_list
Wyświetla rozmowy Ask zalogowanego członka w jednej witrynie, od ostatnio aktualizowanych. Rozmowy innych członków nigdy nie są pokazywane. Użyj go, aby znaleźć id rozmowy dla assistant_conversations_get, assistant_ask_followup lub assistant_conversations_delete. Każdy element ma id, site_id, title (pierwsze pytanie, skrócone do 80 znaków), created_at, updated_at i expires_at, ale bez wiadomości. Stronicowane przez page i per_page (maksimum 100). Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/ask.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/ask/:id.json
Rozmowa Ask: pytania, odpowiedzi, zapytania, na których się opierają, i wykresy
assistant_conversations_get
Zwraca jedną rozmowę Ask z pełną historią wiadomości. Id rozmowy weź z assistant_conversations_list lub z wyniku assistant_ask. Pola to id, site_id, title, created_at, updated_at, expires_at (30 dni po ostatniej wiadomości, potem rozmowa jest usuwana) i messages. Każda wiadomość ma role (user lub assistant), content, queries (zapytania analityczne wykonane przez asystenta), chart (może być null), goal_draft (może być null) oraz input_tokens i output_tokens (liczby całkowite, mogą być null). Tylko członek, który rozpoczął rozmowę, może ją odczytać. Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/ask/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/ask/:ask_conversation_id/messages.json
Zadaj pytanie uzupełniające w rozmowie (wlicza się do miesięcznego limitu pytań AI). Zwraca odpowiedź.
assistant_ask_followup
Zadaje pytanie uzupełniające w istniejącej rozmowie Ask, dzięki czemu asystent zachowuje wcześniejsze pytania i odpowiedzi jako kontekst. Użyj assistant_ask, aby zamiast tego rozpocząć nową rozmowę. Weź conversation_id z assistant_conversations_list. Wywołanie może trwać wiele sekund, ponieważ asystent wykonuje zapytania analityczne tylko do odczytu. Każde pytanie wlicza się do miesięcznego limitu pytań AI przestrzeni roboczej (5 w Free, 20 w Pro, 100 w Business) i kończy się błędem limitu, gdy się wyczerpie. Pytanie może mieć najwyżej 2000 znaków. Zwraca tylko nową wiadomość asystenta (nie całą rozmowę) z id, role, content (odpowiedź), queries (dokładne wykonane zapytania), chart (może być null), goal_draft (może być null), input_tokens, output_tokens i created_at. Wymaga analytics.read i działa tylko na własnych rozmowach.
Uprawnienie: analytics.read
curl -X POST https://privatusanalytics.com/sites/:site_id/ask/:ask_conversation_id/messages.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Audyt witryny
GET
/sites/:site_id/audit/issues.json
Wyświetl problemy audytu witryny, jeden wiersz na kontrolę
site_audit_issues_list
Wyświetla problemy jednego audytu, jeden wiersz na kontrolę, która coś oznaczyła, od najgorszych (błędy, potem ostrzeżenia, potem uwagi, każde według liczby dotkniętych adresów URL). Każdy wiersz ma check_key (użyj go z site_audit_issues_get i narzędziami wyciszania), title, category, severity (error, warning lub notice), affected (oznaczone adresy URL, bez wyciszonych), added i fixed (zmiany od poprzedniego audytu) oraz pageviews (wizyty na dotkniętych stronach w 30 dniach przed audytem). Domyślnie dotyczy ostatniego zakończonego audytu, albo przekaż audit_id. Filtruj przez severity, category i new_only (tylko kontrole z adresami URL, które są nowe od poprzedniego audytu). Stronicowane przez page i per_page (maks. 100, domyślnie 50). Aby zobaczyć, które adresy URL oznaczyła kontrola, użyj site_audit_issues_get. Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/audit/issues.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/audit/issues/:check_key.json
Pobierz jedną kontrolę audytu witryny: dlaczego jest ważna, jak ją naprawić i których adresów URL dotyczy
site_audit_issues_get
Szczegóły jednej kontroli w audycie, według check_key z site_audit_issues_list (na przykład title_missing). Zwraca audit_id, issue (ten sam wiersz co na liście), why (co oznacza problem), fix (jak go naprawić), muted (true, jeśli cała kontrola jest wyciszona dla witryny) i urls, oznaczone adresy URL z page_id (użyj go z site_audit_pages_get), url, pageviews, detail (dodatkowe fakty o znalezisku, może być puste), is_new i muted. sort to pageviews (domyślnie, od najbardziej ruchliwych) lub url. Stronicowane przez page i per_page (maks. 100, domyślnie 25). Domyślnie dotyczy ostatniego zakończonego audytu, albo przekaż audit_id. Wyciszone adresy URL są sortowane na końcu. Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/audit/issues/:check_key.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/audit/mutes/bulk.json
Wycisz kontrolę audytu witryny dla kilku adresów URL lub kilka całych kontroli w jednym wywołaniu
site_audit_mutes_bulk
Wycisza wiele znalezisk w jednym żądaniu, wszystko albo nic. Użyj jednego z dwóch kształtów. Wyślij check_key plus urls (do 100 adresów URL), aby wyciszyć jedną kontrolę na kilku stronach, albo wyślij check_keys (do 100), aby wyciszyć całe kontrole dla witryny. Nie mieszaj urls z check_keys. Nieznana kontrola lub nieprawidłowy adres URL powoduje błąd całego żądania i nic nie jest wyciszane. Elementy już wyciszone są zwracane w takiej postaci, w jakiej są. Liczby i wynik ostatniego audytu są odświeżane raz na końcu. Zwraca listę wyciszeń. Każde cofniesz przez site_audit_mutes_delete. Wymaga content.write.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/audit/mutes/bulk.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/audit/mutes.json
Wycisz kontrolę audytu witryny, dla całej witryny lub jednego adresu URL
site_audit_mutes_create
Wycisza jedną kontrolę dla witryny lub tylko dla jednego adresu URL. check_key pochodzi z site_audit_issues_list. Pomiń url, aby wyciszyć kontrolę wszędzie, albo przekaż pełny adres URL (taki jak https://example.com/old), aby wyciszyć ją tylko na tej stronie, gdzie adres URL jest normalizowany tak jak robi to robot przeszukujący. Liczby i wynik ostatniego audytu aktualizują się od razu. Wyciszenie tego samego dwa razy zwraca istniejące wyciszenie zamiast błędu. Aby wyciszyć wiele naraz, użyj site_audit_mutes_bulk, a aby cofnąć, site_audit_mutes_delete. Wymaga content.write.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/audit/mutes.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/audit/mutes/:id.json
Wyłącz wyciszenie kontroli audytu witryny
site_audit_mutes_delete
Usuwa wyciszenie, znalezione po jego id z site_audit_mutes_list, więc kontrola lub adres URL znów liczy się do wyniku audytu. Ostatni audyt jest przeliczany od razu. To tylko usuwa wyciszenie i nie usuwa danych audytu. Zwraca usunięte wyciszenie. Wymaga content.write.
Uprawnienie: content.write
curl -X DELETE https://privatusanalytics.com/sites/:site_id/audit/mutes/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/audit/mutes.json
Wyświetl kontrole wyciszone w witrynie
site_audit_mutes_list
Wyświetla kontrole wyciszone dla witryny, od najnowszych. Wyciszenie ukrywa kontrolę dla całej witryny (url ma wartość null) lub dla jednego adresu URL, więc te znaleziska nie wchodzą do liczb ani wyniku, choć audyty nadal je zapisują. Każdy wiersz ma id (identyfikator wyciszenia, użyj go z site_audit_mutes_delete), site_id, check_key, title, url (null dla wyciszenia całej witryny), muted_by (nazwa członka, null, jeśli nieznana) i created_at. Filtruj przez check_key. Stronicowane przez page i per_page (maks. 100). Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/audit/mutes.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/audit/notifications.json
Włącz lub wyłącz e-mail z podsumowaniem audytu witryny
site_audit_notifications_update
Włącza lub wyłącza tygodniowy e-mail z podsumowaniem audytu dla wywołującego członka w jednej witrynie. To osobista preferencja i nie wpływa na innych członków. enabled true wysyła członkowi podsumowanie po audytach tej witryny, a false to zatrzymuje. Zwraca site_id, enabled i all_sites_enabled (false, gdy członek wyłączył e-maile z audytami dla każdej witryny w ustawieniach konta, co ma pierwszeństwo przed tym ustawieniem). Każdy członek z analytics.read może zmieniać własne ustawienie.
Uprawnienie: analytics.read
curl -X PATCH https://privatusanalytics.com/sites/:site_id/audit/notifications.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/audit/pages.json
Wyświetl i filtruj strony audytu witryny
site_audit_pages_list
Eksplorator stron, wyświetlający adresy URL jednego audytu (domyślnie ostatniego zakończonego, lub audit_id). kind to page (domyślnie, dokumenty HTML), resource (obrazy, skrypty, arkusze stylów) lub external (linki do innych witryn). Filtruj przez state (queued, fetched, skipped, blocked, failed), status_class (2xx, 3xx, 4xx lub 5xx), indexable, in_sitemap, has_issues (liczone tylko niewyciszone problemy), depth (kliknięcia od strony startowej) i query (tekst w adresie URL lub tytule). sort to pageviews (domyślnie), inlinks, depth, response_ms (od najwolniejszych) lub word_count (od najmniejszej). Każdy wiersz ma id (UUID dla site_audit_pages_get), url, path, kind, state, status, depth, indexable, indexability_reason, title, word_count, response_ms, cache_status, inlinks, pageviews, in_sitemap i issues (liczba). Stronicowane przez page i per_page (maks. 100). Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/audit/pages.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/audit/pages/:id.json
Pobierz jedną skontrolowaną stronę: jej metadane, problemy, linki przychodzące i wychodzące
site_audit_pages_get
Wszystko, co audyt zapisał o jednym adresie URL, według id (UUID z site_audit_pages_list lub z urls w site_audit_issues_get). Zwraca id, audit_id, page (url, status, redirect_to, content_type, bytes, response_ms, title, meta_description, h1, canonical, robots_meta, indexable i indexability_reason, word_count, lang, hreflang, schema_types, znaczniki społecznościowe, images_count, images_missing_alt, liczby linków, link_score, in_sitemap, has_tracker, pageviews i search_clicks, fetched_at i więcej), redirect_target_id (strona, na którą przekierowuje w obrębie audytu, lub null), issues (check_key, title, category, severity, detail, is_new, muted) oraz inlinks i outlinks (do 100 każde z page_id, url, status, kind, anchor, nofollow, count). Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/audit/pages/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/audit/settings.json
Pobierz ustawienia audytu witryny
site_audit_settings_get
Zwraca ustawienia audytu witryny. Pola to site_id, enabled (zaplanowane audyty włączone lub wyłączone, domyślnie włączone), include_subdomains, check_external_links, exclude_paths, ignored_params, extra_start_urls, next_run_at (kiedy przypada następny zaplanowany audyt, null, jeśli brak), page_limit (strony na audyt w obecnym planie, null, gdy bez limitu) i interval_days (dni między zaplanowanymi audytami w planie). Witryna, która nigdy nie zmieniała ustawień, zwraca wartości domyślne. Zmienisz je przez site_audit_settings_update. Wymaga sites.manage.
Uprawnienie: sites.manage
curl https://privatusanalytics.com/sites/:site_id/audit/settings.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/audit/settings.json
Zmień ustawienia audytu witryny
site_audit_settings_update
Zmienia sposób audytowania witryny. Zmieniają się tylko przesłane dane wejściowe. enabled włącza lub wyłącza audyty zaplanowane i ręczne (włączenie planuje następny audyt o jeden interwał planu dalej). include_subdomains i check_external_links to wartości boolean. Trzy listy zastępują zapisaną listę, nie są scalane, więc wyślij pełną listę. exclude_paths to prefiksy ścieżek pomijane przez robota i każdy musi zaczynać się od ukośnika (do 50). ignored_params to nazwy parametrów zapytania, które nigdy nie tworzą innej strony, takie jak utm_source lub sessionid (do 50, litery, cyfry, kropka, myślnik, podkreślenie). extra_start_urls to pełne adresy http lub https do przeszukania poza stroną główną (do 20). Listę można też wysłać jako tekst z jednym wpisem w wierszu. Zwraca zaktualizowane ustawienia. Wymaga sites.manage.
Uprawnienie: sites.manage
curl -X PATCH https://privatusanalytics.com/sites/:site_id/audit/settings.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/audit/unsubscribe/:token.json
Zrezygnuj z e-maili z podsumowaniem audytu witryny za pomocą tokenu z wiadomości
site_audit_unsubscribes_create
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/audit/unsubscribe/:token.json \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/audit/cancel.json
Anuluj trwający audyt witryny
site_audit_cancel
Zatrzymuje audyt trwający lub oczekujący w kolejce dla witryny. Audyt jest oznaczany jako canceled, a nic z niedokończonego przeszukiwania nie jest raportowane. Anulowany audyt nie zużywa miesięcznego limitu planu Free. Kończy się błędem walidacji, jeśli żaden audyt nie trwa. Zwraca anulowany audyt. Wymaga content.write.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/audit/cancel.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/audit/compare.json
Porównaj dwa audyty witryny: dodane i naprawione adresy URL według kontroli
site_audit_compare
Porównuje dwa audyty witryny, kontrola po kontroli. audit_id to nowszy audyt, a base_id starszy. Oba mają rozsądne wartości domyślne (ostatni zakończony audyt względem zakończonego przed nim), a narzędzie zamienia je miejscami, jeśli przekażesz je w złej kolejności. Zwraca audit i base (każdy to podsumowanie audytu, base null, jeśli nie ma nic wcześniejszego) oraz checks, jeden obiekt na kontrolę, której adresy URL się zmieniły, z check_key, title, category, severity, base_affected, affected, added i fixed (liczby adresów URL), posortowane od błędów. Kontrole bez zmian są pomijane. Dla dwóch kolejnych audytów added i fixed są dokładne, dla audytów dalej od siebie to zmiana netto. Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/audit/compare.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/audit.json
Uruchom audyt witryny teraz
site_audit_run
Rozpoczyna teraz nowe przeszukanie i audyt SEO witryny. Przeszukuje publiczne strony witryny w tle, więc wraca od razu z nowym audytem ze status queued. Odpytuj site_audit_get (pole live) lub site_audit_history, aż status będzie complete. Odrzucane błędem walidacji, gdy audyt jest wyłączony w site_audit_settings_update, gdy inny audyt jest już w kolejce lub w toku, gdy ręczny audyt rozpoczęto w ciągu ostatnich 24 godzin, a w planie Free także gdy jakikolwiek audyt odbył się w ciągu ostatnich 30 dni (nieudane i anulowane się nie liczą). Niezweryfikowane witryny bez zdarzeń są też ograniczone do jednego audytu dziennie na domenę. Liczba przeszukiwanych stron jest ograniczona przez plan (Free 100, Pro 1000, Business 10 000). Najpierw sprawdź can_run w site_audit_get. Wymaga content.write.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/audit.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/audit/history.json
Wyświetl audyty witryny, od najnowszego
site_audit_history
Wyświetla audyty witryny, od najnowszych, każdy z id (aud_...), status (queued, running, analyzing, complete, partial, failed lub canceled), trigger (first, scheduled lub manual), score (od 0 do 100, null do zakończenia), score_band, page_limit, pages_crawled, urls_discovered, errors, warnings, notices, new_issues, fixed_issues, failure (powód niepowodzenia, w przeciwnym razie null) i znacznikami czasu. Filtruj przez status. Stronicowane przez page i per_page (maks. 100). Używaj identyfikatorów z site_audit_get, site_audit_compare oraz narzędziami problemów i stron. Dla bieżącego stanu jednego audytu użyj site_audit_get. Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/audit/history.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/audit.json
Pobierz przegląd audytu witryny: wynik, liczniki, najważniejsze problemy według ruchu i trwający audyt
site_audit_get
Przegląd audytu SEO witryny, najlepsze pierwsze wywołanie dla pytań o audyt. Domyślnie opisuje ostatni zakończony audyt, a dla starszego przekaż audit_id (aud_..., z site_audit_history). Wynik ma audit (zakończony audyt z score od 0 do 100, score_band, score_delta, liczbami errors, warnings i notices, pages_crawled, page_limit, capped, summary i szczegółami robots, lub null, jeśli żaden się nie zakończył), live (audyt trwający teraz, lub null), enabled i next_run_at (harmonogram), can_run z run_blocked (live, disabled lub too_soon) i run_allowed_at (kiedy site_audit_run znów jest dozwolone), changes (liczby dodanych i naprawionych adresów URL według ważności), trend (do 30 ostatnich wyników jako id, finished_at, score), top_issues (do 10 kontroli uszeregowanych według ważności, potem odsłon dotkniętych stron) i email_enabled (Twoja własna preferencja e-maila z podsumowaniem). Dalej użyj site_audit_issues_list dla każdego problemu i site_audit_pages_list dla adresów URL. Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/audit.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
Cele
POST
/sites/:site_id/goals/:id/archive.json
Zarchiwizuj cel (ukryty w raportach)
goals_archive
Archiwizuje cel. Zarchiwizowany cel jest ukryty w raportach, nie wlicza się do limitu celów planu i zachowuje swoją definicję, więc można go później przywrócić przez goals_unarchive. Żadne dane nie są usuwane. Zwraca cel z archived true i ustawionym archived_at. Archiwizacja już zarchiwizowanego celu nic nie robi. Użyj goals_delete, aby usunąć go na dobre. Wymaga uprawnienia content.write.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/goals/:id/archive.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/goals.json
Utwórz cel
goals_create
Tworzy cel konwersji. Cele to definicje stosowane przy odczycie raportów, więc nowy cel od razu liczy pasujące zdarzenia w całej istniejącej historii. Wymagane są name i kind. kind decyduje, jakie inne dane wejściowe obowiązują. page wymaga pattern (ścieżka, na przykład /thank-you, z match_type exact, prefix, glob lub regex) i może używać hostname. event wymaga event_name i może używać conditions (testy właściwości, takie jak {key: plan, operator: is, value: pro}, wszystkie muszą pasować, operatory is, is_not, contains, gt, lt). engagement wymaga pattern oraz scroll_threshold (procent od 1 do 100) i/lub time_threshold_seconds (osiągnięty, gdy spełniony jest któryś z nich). outbound dopasowuje domenę linku przez pattern (na przykład stripe.com), a download dopasowuje plik przez pattern (na przykład *.pdf). value_mode to none (domyślnie), fixed (używa fixed_value, kwoty dziesiętnej w walucie witryny, takiej jak 49.5, zapisywanej jako fixed_value_minor w centach) lub revenue (własny przychód zdarzenia). count_mode to once_per_visit (domyślnie) lub every. Przestrzenie robocze Free pozwalają na 10 aktywnych celów na witrynę, plany płatne bez limitu. Zwraca cel z id (goal_...). Wymaga uprawnienia content.write.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/goals.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/goals/:id.json
Usuń cel (dane zostają zachowane)
goals_delete
Trwale usuwa definicję celu. Żadne dane zdarzeń nie są usuwane, ale cel znika z raportów, a kroki lejków, ścieżki i eksperymenty, które na niego wskazują, przestają działać. Nie ma cofania. Aby ukryć cel i go zachować, użyj goals_archive. Zwraca usunięty cel. Identyfikatory (goal_...) pochodzą z goals_list. Wymaga uprawnienia content.write.
Uprawnienie: content.write
curl -X DELETE https://privatusanalytics.com/sites/:site_id/goals/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/goals/:id/duplicate.json
Skopiuj cel
goals_duplicate
Kopiuje definicję celu do nowego aktywnego celu. Kopia nosi nazwę name, jeśli ją wyślesz, w przeciwnym razie oryginalną nazwę z dopiskiem (copy). Wlicza się do limitu celów planu (10 aktywnych celów na witrynę w Free). Zwraca nowy cel z nowym id. Użyj go, aby zacząć wariant celu, a potem zmień go przez goals_update. Wymaga uprawnienia content.write.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/goals/:id/duplicate.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/goals.json
Wyświetl cele z ukończeniami, konwersjami, współczynnikiem i wartością dla okresu
goals_list
Wyświetla cele witryny z ich wynikami za okres. Każdy cel to definicja (id goal_..., name, kind, match_type, pattern, hostname, event_name, conditions, scroll_threshold, time_threshold_seconds, value_mode, fixed_value_minor w centach, count_mode, archived, archived_at) oraz stats {completions, conversions, conversion_rate, value, change}. conversion_rate to procent (od 0 do 100), value jest w jednostkach podrzędnych (centach), a change to procentowa zmiana konwersji względem poprzedniego okresu (null, gdy wcześniejsza liczba wynosiła 0). status filtruje do active (domyślnie), archived lub all. Stronicowane przez page i per_page (maks. 100, domyślnie 25). Użyj goals_get dla pełnego raportu jednego celu. Przyjmuje wspólne dane wejściowe period, compare i filters.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/goals.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/goals/:id.json
Raport celu: metryki, wykres, podziały i ścieżka do konwersji
goals_get
Jeden cel dogłębnie za okres. Zwraca period, goal_id, goal (definicja), metrics, interval, series, breakdowns, journey oraz z compare także comparison_period, comparison i change. metrics ma completions (każde pasujące zdarzenie), conversions (wizyty z co najmniej jedną realizacją), conversion_rate (procent od 0 do 100) i value (jednostki podrzędne, centy). conversion_rate dzieli przez wizyty lub przez odwiedzających, gdy witryna jest tak ustawiona. series to lista {date, completions, conversions, conversion_rate} na przedział czasu (ustaw interval, aby to zmienić). breakdowns zawiera 10 najlepszych według konwersji dla channel, utm_campaign, entry_page, country i device, każde jako {value, completions, conversions, conversion_rate}. journey pokazuje converting_visits, median_seconds_to_convert, median_pages_before i pages_before (10 najlepszych stron widzianych przed konwersją, z visits i share). Użyj goals_list dla wszystkich celów naraz i funnels_get dla przepływów wielokrokowych. Przyjmuje wspólne dane wejściowe period, compare, filters i segment.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/goals/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/goals/:id/unarchive.json
Przywróć zarchiwizowany cel
goals_unarchive
Przywraca zarchiwizowany cel, aby znów był widoczny w raportach. Ponownie wlicza się do limitu celów planu (10 aktywnych celów na witrynę w Free), więc wywołanie kończy się błędem limitu planu, gdy witryna jest już pełna. Przywrócenie celu, który nie jest zarchiwizowany, nic nie robi. Zwraca cel z archived false. Identyfikatory pochodzą z goals_list ze status archived. Wymaga uprawnienia content.write.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/goals/:id/unarchive.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
PATCH
/sites/:site_id/goals/:id.json
Zaktualizuj cel
goals_update
Zmienia definicję celu. Zmieniają się tylko przesłane dane wejściowe. Nowa definicja dotyczy od razu całej historii, więc dotychczasowe liczby konwersji się zmienią. Dane wejściowe są takie same jak w goals_create i obowiązują te same kombinacje, na przykład event_name i conditions mają znaczenie tylko dla celów event, a scroll_threshold i time_threshold_seconds tylko dla celów engagement. fixed_value to kwota dziesiętna w walucie witryny (zapisywana w centach). Przesłanie conditions zastępuje wszystkie istniejące warunki. Zwraca cel. Identyfikatory pochodzą z goals_list. Wymaga uprawnienia content.write.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/sites/:site_id/goals/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Członkowie
POST
/workspaces/:workspace_id/invitations.json
Zaproś osoby e-mailem
invitations_create
Zaprasza jedną lub więcej osób do przestrzeni roboczej e-mailem i wysyła każdej e-mail z zaproszeniem z linkiem ważnym 14 dni. emails to lista do 50 adresów (w formularzu aplikacji działa też ciąg rozdzielony przecinkiem, spacją lub średnikiem), a adresy będące już członkami są pomijane, ale błędem jest sytuacja, gdy wszystkie są członkami. Zaproszenie adresu, który ma już oczekujące zaproszenie, zastępuje to zaproszenie i wysyła nowy e-mail. role to jedna z ról z members_list (domyślnie viewer, nie można zaprosić owner). Użyj roli custom razem z custom_role_id (id z roles_list, plan Business). Domyślnie dostęp obejmuje wszystkie witryny, także przyszłe. Aby ograniczyć dostęp, ustaw all_sites na false i wylistuj site_ids jako publiczne identyfikatory witryn (pa_...). Oczekujące zaproszenia wliczają się do limitu członków planu (Free pozwala na 3 członków), a wywołanie kończy się błędem, gdy limit zostałby przekroczony. E-maile z zaproszeniami mają limit częstotliwości. Nie możesz nadać roli z większą liczbą uprawnień lub witryn niż Twoja. Wymaga members.manage. Zwraca utworzone zaproszenia (pola zobacz w invitations_list).
Uprawnienie: members.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/invitations.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/workspaces/:workspace_id/invitations/:id.json
Unieważnij oczekujące zaproszenie
invitations_delete
Unieważnia oczekujące zaproszenie, więc jego link przestaje działać, i zwalnia zajmowane przez nie miejsce. Usunięcia nie można cofnąć, zaproś osobę ponownie przez invitations_create. Weź id (uuid) z invitations_list. Wywołujący ograniczony do niektórych witryn może unieważniać tylko zaproszenia, które nie dają więcej niż jego własne witryny. Wymaga members.manage. Zwraca unieważnione zaproszenie.
Uprawnienie: members.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/workspaces/:workspace_id/invitations/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/workspaces/:workspace_id/invitations.json
Wyświetl oczekujące zaproszenia
invitations_list
Wyświetla oczekujące zaproszenia zespołu przestrzeni roboczej, od najnowszych, ze stronicowaniem. Przyjęte i unieważnione zaproszenia nie są wyświetlane (dla osób, które dołączyły, użyj members_list), a wygasłe pozostają do czasu zastąpienia lub unieważnienia. Wymaga members.manage. Wywołujący ograniczony do niektórych witryn widzi tylko zaproszenia w swoim zasięgu. Każdy element ma id (uuid, używane przez invitations_delete), email, role, custom_role (nazwa roli niestandardowej, gdy role to custom, w przeciwnym razie null), all_sites, site_ids (publiczne identyfikatory witryn pa_..., puste, gdy all_sites ma wartość true), invited_by (e-mail zapraszającego), expires_at i created_at.
Uprawnienie: members.manage
curl https://privatusanalytics.com/workspaces/:workspace_id/invitations.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
DELETE
/workspaces/:workspace_id/members/:id.json
Usuń członka (lub opuść przestrzeń roboczą)
members_delete
Usuwa członka z przestrzeni roboczej lub pozwala wywołującemu ją opuścić, gdy id to jego własne członkostwo. Dzieje się to natychmiast i nie można tego cofnąć, osoba traci dostęp, jej tokeny API dla tej przestrzeni roboczej są unieważniane, a każde powiązanie SCIM jest usuwane. Jej notatki i dawne wpisy audytu pozostają. Właściciela nie można usunąć ani nie może on odejść, najpierw przekaż własność przez ownership_transfers_create. Usunięcie kogoś innego wymaga members.manage i nie możesz usunąć osoby z większą liczbą uprawnień lub witryn niż Twoja. Opuszczenie nie wymaga uprawnienia, ale token ograniczony w uprawnieniach lub witrynach nie może być użyty do odejścia. Osobę można później zaprosić ponownie przez invitations_create. Weź id (uuid członkostwa) z members_list. Zwraca usuniętego członka.
Uprawnienie: member
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/workspaces/:workspace_id/members/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/workspaces/:workspace_id/members.json
Wyświetl członków przestrzeni roboczej
members_list
Wyświetla członków przestrzeni roboczej w kolejności dołączania, ze stronicowaniem. Użyj query, aby szukać po imieniu lub e-mailu (częściowo, bez rozróżniania wielkości liter) i role, aby filtrować według roli. Oczekujące zaproszenia nie są uwzględniane (użyj invitations_list). Każdy członek ma id (uuid członkostwa, używane przez members_update, members_delete i ownership_transfers_create), email, name (może być null), role, custom_role (nazwa, null, chyba że role to custom), custom_role_id, all_sites, include_future_sites, site_ids (publiczne identyfikatory witryn pa_..., puste, gdy all_sites ma wartość true), two_factor (czy członek ma aplikację uwierzytelniającą lub klucz dostępu), last_active_at (może być null) i created_at. Wywołujący ograniczeni do niektórych witryn widzą tylko członków w swoim zasięgu.
Uprawnienie: member
curl https://privatusanalytics.com/workspaces/:workspace_id/members.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/workspaces/:workspace_id/members/:id.json
Zmień rolę członka lub jego dostęp do witryn
members_update
Zmienia rolę i/lub dostęp do witryn członka w przestrzeni roboczej. Zmieniają się tylko przesłane dane wejściowe. Aby zmienić rolę, wyślij role (admin, editor, analyst, viewer lub billing, oraz custom z custom_role_id z roles_list w planie Business). Roli właściciela nie można tu zmienić, użyj zamiast tego ownership_transfers_create, a nie możesz edytować własnego członkostwa ani osoby, która stoi wyżej od Ciebie. Aby ograniczyć witryny, wyślij all_sites false razem z site_ids (publiczne identyfikatory witryn pa_...) i dodaj include_future_sites true, aby nadać też dostęp do witryn tworzonych później. Wyślij all_sites true, aby dać dostęp do każdej witryny. Lista site_ids wysłana bez all_sites false jest błędem dla członka, który ma obecnie każdą witrynę. Nie możesz nadać więcej uprawnień ani witryn, niż sam posiadasz. Wymaga members.manage. Weź id z members_list. Zwraca zaktualizowanego członka.
Uprawnienie: members.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X PATCH https://privatusanalytics.com/workspaces/:workspace_id/members/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/workspaces/:workspace_id/ownership_transfer.json
Przekaż własność przestrzeni roboczej innemu członkowi (tylko właściciel, Ty zostajesz administratorem)
ownership_transfers_create
Przekazuje własność przestrzeni roboczej innemu członkowi i obniża wywołującego do admin, co trudno cofnąć, ponieważ tylko nowy właściciel może przekazać ją z powrotem. Może to wywołać tylko obecny właściciel, a token nie może być ograniczony do niektórych witryn ani uprawnień. membership_id to uuid członkostwa nowego właściciela z members_list (nie identyfikator użytkownika ani e-mail), a osoba musi już być członkiem, najpierw ją zaproś, jeśli nie jest. Nowy właściciel dostaje rolę owner z dostępem do wszystkich witryn, a roli owner nie można nadać przez members_update. Przestrzeni roboczej Free nie można przekazać komuś, kto już posiada inną przestrzeń roboczą Free. Rozliczenia pozostają przy przestrzeni roboczej. Token wywołujący to wymaga members.manage. Zwraca rekord członka nowego właściciela.
Uprawnienie: member
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/ownership_transfer.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Dokumentacja
GET
/docs/api.json
Wyświetl każdą operację API i narzędzie MCP
docs_api
Zwraca pełny katalog każdej operacji API, który jest też katalogiem każdego narzędzia MCP. Użyj go, aby odkryć, jakie narzędzie lub punkt końcowy istnieje i czego dokładnie wymaga. Każdy element ma tool_name, summary, description (może być null), group, verb (metoda HTTP), path (szablon z symbolami zastępczymi), permission (uprawnienie potrzebne członkowi lub tokenowi, null dla narzędzi publicznych), input_schema (JSON Schema danych wejściowych) i response_schema (JSON Schema odpowiedzi). Odpowiedź jest duża. Dla jednego znanego narzędzia wybierz raczej strony dokumentacji (docs_search). docs_openapi zwraca te same informacje jako dokument OpenAPI. Publiczne, bez uwierzytelniania.
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl https://privatusanalytics.com/docs/api.json
GET
/docs.json
Wyświetl strony dokumentacji
docs_list
Wyświetla każdą stronę dokumentacji z title, description, path (takim jak /docs/api/authentication), section i bez treści. Użyj go, aby przeglądać, co istnieje. Aby znaleźć stronę według tematu, użyj docs_search, a aby ją przeczytać, docs_get z jej section i page. Stronicowane przez page i per_page (maksimum 100). Publiczne, bez uwierzytelniania.
Uprawnienie: public
curl https://privatusanalytics.com/docs.json
GET
/openapi.json
Dokument OpenAPI 3.1 dla całego API
docs_openapi
Zwraca dokument OpenAPI 3 opisujący całe publiczne API jako surowy JSON (nieopakowany w pole data). Użyj go, gdy potrzebujesz specyfikacji czytelnej maszynowo do generowania kodu. Dla przeglądalnej listy operacji z ich schematami wejścia i odpowiedzi łatwiejsze do czytania jest docs_api. Opisuje te same operacje, które są udostępnione jako narzędzia MCP. Publiczne, bez uwierzytelniania.
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl https://privatusanalytics.com/openapi.json
GET
/docs/search.json
Przeszukaj dokumentację
docs_search
Przeszukuje dokumentację na serwerze i zwraca uszeregowane strony. Użyj go, aby dowiedzieć się, jak działa funkcja, zanim zaczniesz zgadywać. q jest dzielone na do 10 wyrazów, każdy musi występować na stronie, a dopasowania w tytule i nagłówkach mają najwyższą rangę. Puste q zwraca każdą stronę w kolejności katalogu. limit domyślnie wynosi 20, gdy podano q, i najwyżej 100. Każdy wynik ma title, path (użyj części section i page z docs_get), section, headings (lista id i text, przydatna jako kotwica nagłówka), excerpt i score (null, gdy q jest puste). Przeszukuje język żądania, domyślnie angielski. Publiczne, bez uwierzytelniania.
Uprawnienie: public
curl https://privatusanalytics.com/docs/search.json
GET
/docs/:section/:page.json
Odczytaj stronę dokumentacji (Markdown i HTML)
docs_get
section i page pochodzą ze ścieżki strony /docs/<section>/<page>. Użyj page "index" dla przeglądu sekcji.
Uprawnienie: public
curl https://privatusanalytics.com/docs/:section/:page.json
Domain Rating
GET
/sites/:site_id/domain-rating.json
Raport Domain Rating: najnowsza ocena, linki przychodzące i wychodzące, zmiana od poprzedniego wydania i historia według miesięcy
domain_rating_report
Zwraca Domain Rating witryny, szacunek od 0 do 100 tego, jak silne są linki prowadzące do jej domeny, a także liczbę linków przychodzących i wychodzących oraz ich historię. To własny wynik Privatus Analytics, a nie metryka Google. Oceny są aktualizowane raz w miesiącu przy każdym wydaniu, więc zmiany widać miesięcznie. months (od 1 do 120, domyślnie 12) ustawia, ile miesięcznych punktów historii dołączyć. Wynik ma domain, checked_at (kiedy witrynę ostatnio sprawdzono, null jeśli nigdy), release (miesiąc najnowszych danych jako YYYY-MM), rating, inbound_links, outbound_links (każde null, jeśli jeszcze nieznane), changes (te same trzy metryki jako różnica względem poprzedniego wydania, null, gdy któraś jest nieznana) i history (jeden wiersz na miesiąc z month, rating, inbound_links, outbound_links, od najstarszego). Nowa witryna może być przez kilka minut bez oceny. Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/domain-rating.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
Duplikaty opinii
POST
/sites/:site_id/testimonials/duplicates/dismiss.json
Powiedz, że grupa nie jest duplikatami. Nigdy nie wraca do kolejki
testimonial_duplicates_dismiss
testimonial_ids muszą być każdą kopią jednej otwartej grupy kolejki duplikatów, która jest poza koszem, tak jak zwraca je testimonial_duplicates_list. Nic nie jest scalane ani zmieniane w opiniach i nigdy więcej nie są grupowane razem. Aby rozdzielić grupę trzech, najpierw scal dwie, które są takie same. Serwer odpowiada 422, gdy id nie są dokładnie jedną otwartą grupą.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/duplicates/dismiss.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/duplicates.json
Wyświetl grupy opinii, które prawdopodobnie są tą samą opinią dwa razy
testimonial_duplicates_list
Dokładne dopasowania są pierwsze. Każda grupa zawiera swoje kopie w całości oraz keeper_id, czyli kopię, która zostałaby zachowana. meta.exact_groups to liczba grup, które scaliłoby testimonial_duplicates_merge_exact.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/duplicates.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/testimonials/:id/merge.json
Scal kopie opinii z opinią ze ścieżki
testimonials_merge
Zachowywana opinia zachowuje swój status i stan weryfikacji oraz swoje słowa, chyba że body_from wskazuje inną kopię. Zyskuje tagi, ręczne kolekcje, miejsca wyświetlania i własne właściwości, których jej brakuje. Kopie trafiają do kosza oznaczone jako scalone, a przywrócenie jednej cofa scalenie dla tej kopii. Kopia, która wpłynęła w tym miesiącu, przestaje liczyć się jako nowa opinia. Odpowiedź zawiera meta.undo_id.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/:id/merge.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/duplicates/merge_exact.json
Scal naraz każde dokładne dopasowanie z kolejki
testimonial_duplicates_merge_exact
Najpierw wyślij dry_run, aby dostać liczniki, potem confirm_count z podaną sumą. Na jedno wywołanie scalanych jest do 100 grup. Odpowiedź zawiera meta.undo_id, a jedno cofnięcie wycofuje cały przebieg.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/duplicates/merge_exact.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Dziennik audytu
GET
/workspaces/:workspace_id/audit_log.json
Wyświetl wpisy dziennika audytu (dodaj .csv, aby wyeksportować)
audit_logs_get
Zwraca dziennik audytu przestrzeni roboczej, stronicowany zapis od najnowszych o tym, kto co zmienił (ustawienia, członków, witryny, cele, tokeny i tak dalej). Wymaga uprawnienia workspace.manage i planu z historią audytu. Plan Free jej nie ma i wywołanie kończy się błędem limitu planu, Pro przechowuje 30 dni, Business 365 dni, a Enterprise bez limitu. Wpisy starsze niż okno przechowywania nigdy nie są zwracane. Filtruj przez actor (e-mail członka, dokładne dopasowanie), item_type (rodzaj rekordu, taki jak Site, Goal lub Membership), event (create, update lub destroy) oraz from i to (YYYY-MM-DD, włącznie, w UTC). Każdy wpis ma id, created_at, event, item_type, item_id, target (czytelna etykieta, taka jak Site: example.com), actor_email (null, gdy zmiany dokonał system lub usunięty użytkownik), actor_name, token_name (użyty token API, null dla sesji przeglądarki), changes (obiekt mapujący każde zmienione pole na parę [przed, po], z usuniętymi sekretami) i ip (adres użyty przez członka lub klienta API, null, gdy nieznany). Eksport CSV tego samego dziennika jest dostępny tylko w aplikacji.
Uprawnienie: workspace.manage
curl https://privatusanalytics.com/workspaces/:workspace_id/audit_log.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
Eksperymenty
POST
/sites/:site_id/experiments.json
Utwórz eksperyment jako szkic
experiments_create
Tworzy test A/B lub test z podziałem adresów URL dla witryny. Jest zapisywany jako szkic i nie kieruje żadnego odwiedzającego, dopóki osoba nie uruchomi go w aplikacji. Wymagane są name, path (strona oryginalna, na przykład /pricing), goal_id (z goals_list) i variants: lista { name, path, weight }, w której pierwszy wiersz to strona oryginalna (jej path jest ignorowany), a każdy kolejny to strona tej samej witryny. Pomiń wszystkie wagi, aby podzielić ruch równo, albo prześlij wagi sumujące się do 100. Plan Free pozwala na jeden eksperyment naraz z oryginałem i jednym wariantem. Pro i wyżej dodają więcej wariantów, automatyczny przydział, targetowanie, znak * w ścieżce, cele dodatkowe, zaplanowany start i grupy wyłączne. Wymaga content.write. Zwraca eksperyment.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/experiments.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/experiments/:id.json
Usuń eksperyment wraz z wynikami
experiments_delete
Trwale usuwa eksperyment wraz z jego wariantami i wynikami. Tego nie można cofnąć. Użyj experiments_pause, aby go zatrzymać i zachować wyniki. Narzędzie MCP go nie wykonuje i odpowiada human_only wraz ze stroną, na której osoba go usuwa. Wymaga content.write.
Uprawnienie: content.write
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/experiments/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/experiments/:id/duplicate.json
Skopiuj eksperyment jako nowy szkic
experiments_duplicate
Tworzy szkic z tymi samymi stronami, udziałami, celem i regułami co istniejący eksperyment i bez jego wyników. Użyj go, aby zmienić test, który już się rozpoczął. Wlicza się do limitu planu jak nowy eksperyment. Wymaga content.write. Zwraca nowy eksperyment.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/experiments/:id/duplicate.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/experiments/:id/end.json
Zakończ eksperyment na dobre
experiments_end
Kończy działający lub wstrzymany eksperyment. Nie można go uruchomić ponownie, jego wyniki są zachowane i nie wlicza się już do limitu planu. Narzędzie MCP go nie wykonuje i odpowiada human_only wraz ze stroną, na której osoba go kończy. API go wykonuje. Wymaga content.write.
Uprawnienie: content.write
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/sites/:site_id/experiments/:id/end.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/experiments.json
Wyświetl eksperymenty witryny
experiments_list
Wyświetla testy A/B i testy z podziałem adresów URL witryny, od najnowszych. Filtruj przez status (draft, scheduled, running, paused, ended lub all, domyślnie all). Stronicowanie przez page i per_page (domyślnie 25, do 100). Każdy eksperyment ma id (exp_...), name, status, path (strona oryginalna), goal_id, variants (id, name, path, weight, control), reguły zakończenia i locked (true, gdy plan już go nie obejmuje). Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/experiments.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/experiments/:id/pause.json
Wstrzymaj eksperyment i zachowaj jego wyniki
experiments_pause
Wstrzymuje działający lub zaplanowany eksperyment. Każdy odwiedzający od razu znowu dostaje stronę oryginalną, a dotychczasowe wyniki są zachowane. experiments_start wznawia go. Wymaga content.write. Zwraca eksperyment.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/experiments/:id/pause.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/experiments/:id.json
Pobierz jeden eksperyment z wynikami
experiments_get
Zwraca jeden eksperyment według id (exp_..., z experiments_list) z wynikami: dla każdego wariantu wizyty, konwersje i współczynnik konwersji dla celu, a w porównaniu z oryginałem przyrost, prawdopodobny zakres różnicy, wartość p, informację, czy wynik jest istotny przy wybranej pewności, i szansę, że wariant pokona oryginał. results.progress mówi, jak daleko jest do możliwości wskazania zwycięzcy, a results.mismatch.found równe true oznacza, że wizyty nie są rozdzielone tak, jak mówią wagi, więc wyniku nie należy ufać. split rozbija wyniki według urządzenia, kanału lub kraju (Pro i wyżej), a humans_only zachowuje wizyty, które wynik bota uznaje za prawdopodobnie ludzkie (Business). Wizyta jest liczona dla wariantu, gdy ten wariant zobaczyła, a konwersja liczy się dopiero potem. Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/experiments/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/experiments/:id/start.json
Uruchom eksperyment
experiments_start
Uruchamia szkic lub wstrzymany eksperyment, więc odwiedzający strony oryginalnej zaczynają być kierowani do wariantów. Z starts_at w przyszłości czeka na ten czas. Ponieważ przekierowuje prawdziwych odwiedzających, narzędzie MCP go nie uruchamia i odpowiada human_only wraz ze stroną, na której osoba go uruchamia. API go uruchamia. Wymaga content.write.
Uprawnienie: content.write
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/sites/:site_id/experiments/:id/start.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
PATCH
/sites/:site_id/experiments/:id.json
Zaktualizuj eksperyment
experiments_update
Zmienia eksperyment. Zmieniają się tylko przesłane dane wejściowe, a variants zastępuje całą listę. Po rozpoczęciu eksperymentu można zmienić tylko name i send_to_winner, ponieważ nowe strony, udziały lub cele w trakcie zepsułyby wynik: użyj experiments_duplicate i edytuj kopię. Wymaga content.write. Zwraca eksperyment.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/sites/:site_id/experiments/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Eksporty
POST
/workspaces/:workspace_id/exports.json
Dodaj eksport do kolejki (tworzony w tle)
exports_create
Kolejkuje eksport danych budowany w tle i od razu go zwraca ze statusem queued. Wybierz go, gdy potrzebujesz pliku (CSV, JSON, XLSX, NDJSON lub ZIP z panelami pulpitu), a najpierw użyj exports_preview, aby sprawdzić kolumny i rozmiar bez tworzenia czegokolwiek. Dla lekkich liczb użyj zamiast tego narzędzi stats. Wymagane dane wejściowe to workspace_id (ścieżka), site_id, from i to (YYYY-MM-DD, włącznie, w strefie czasowej eksportu). kind decyduje, co jest eksportowane i jakie opcje obowiązują. aggregated (domyślnie) daje metryki wizyt na przedział czasu i używa grouping, dimensions (do 6), metrics, filters i segment_id. pageviews, events i raw dają jeden wiersz na wejście i używają fields, filters i segment_id, wymagają planu Pro lub wyższego i są ograniczone do 400 dni (raw do 93 dni). imported daje zaimportowane statystyki dzienne i używa tylko dimensions. dashboard daje ZIP z panelami przeglądu (tylko format zip). Dozwolony file_format dla każdego kind to csv, json lub xlsx dla aggregated, pageviews, events i imported, csv lub ndjson dla raw oraz zip dla dashboard. Opcje, które nie dotyczą wybranego kind, są ignorowane. Przestrzeń robocza może mieć naraz najwyżej 5 eksportów w kolejce lub w toku. Odpowiedzią jest eksport z id (exp_...), status, row_count i expires_at (null do zbudowania). Odpytuj exports_get, aż status będzie complete, a potem wywołaj exports_download. Użytkownik, który o to prosił, dostaje e-mail, gdy eksport jest gotowy, wysyłany jest webhook export.ready, a działanie jest zapisywane w dzienniku audytu. Właściwości zdarzeń w kolumnie props obejmują tylko właściwości oznaczone jako bezpieczne do eksportu (zobacz event_properties_list).
Uprawnienie: analytics.export
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/exports.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/exports/:id.json
Usuń eksport i jego plik
exports_delete
Trwale usuwa eksport i jego wygenerowany plik. Link do pobrania przestaje działać od razu i nie można tego cofnąć, ale możesz utworzyć eksport ponownie. Użyj go, aby usunąć zakończony lub nieudany eksport, którego już nie potrzebujesz, ponieważ pliki są też usuwane automatycznie 7 dni po zbudowaniu. Id pochodzi z exports_list. Zwraca usunięty obiekt eksportu w takiej postaci, w jakiej był przed usunięciem.
Uprawnienie: analytics.export
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/exports/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/exports/:id/download.json
Pobierz podpisany link do pliku (ważny 10 minut)
exports_download
Zwraca krótkotrwały link do pobrania zakończonego eksportu. Wybierz go, gdy exports_get pokazuje status complete. Odpowiedź ma url (podpisany link ważny 10 minut, pobierz go od razu), expires_at (kiedy link przestaje działać, ISO 8601), filename i byte_size (bajty). Kończy się błędem not found z kodem expired, gdy eksport jest starszy niż 7 dni, oraz błędem walidacji, gdy eksport jest nadal w kolejce lub w toku albo gdy się nie powiódł (komunikat błędu mówi dlaczego). Wywołaj go ponownie, aby dostać świeży link, dopóki sam eksport nie wygasł. Id pochodzi z exports_list.
Uprawnienie: analytics.export
curl https://privatusanalytics.com/exports/:id/download.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/workspaces/:workspace_id/exports.json
Wyświetl eksporty (kolejka zadań)
exports_list
Wyświetla eksporty przestrzeni roboczej dla witryn, do których masz dostęp, od najnowszych. Użyj go, aby znaleźć id eksportu, sprawdzić, które eksporty nadal trwają, lub zobaczyć, co wygasło. Filtruj przez site_id, status (queued, running, complete, failed lub expired) i kind (aggregated, pageviews, events, imported, raw lub dashboard). Stronicowane przez page i per_page (do 100) i zwraca data (listę eksportów, pola zobacz w exports_get) oraz meta stronicowania. Wymaga workspace_id z workspaces_list.
Uprawnienie: analytics.export
curl https://privatusanalytics.com/workspaces/:workspace_id/exports.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/workspaces/:workspace_id/exports/preview.json
Podgląd eksportu: pierwsze 20 wierszy i szacowana liczba wierszy
exports_preview
Próbny przebieg eksportu, który niczego nie tworzy. Przyjmuje te same dane wejściowe co exports_create i zwraca kind, file_format, columns (nazwy kolumn po kolei), rows (do 20 przykładowych wierszy jako obiekty z kluczami kolumn) i estimated_rows (przybliżona liczba wierszy pełnego pliku). Dla kind dashboard przykładowe wiersze wymieniają każdą nazwę pliku z liczbą wierszy. Użyj go, aby zweryfikować wymiary, pola, filtry i zakres dat oraz zobaczyć, jak duży byłby eksport, zanim wywołasz exports_create. Działa synchronicznie, więc zachowaj rozsądny zakres dat. Błędy walidacji są takie same jak w exports_create, w tym wymóg planu Pro dla rodzajów na poziomie wierszy. Nic nie jest zapisywane i żaden e-mail nie jest wysyłany.
Uprawnienie: analytics.export
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/exports/preview.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/exports/:id.json
Pobierz eksport i jego status
exports_get
Zwraca jeden eksport, w tym jego postęp. Użyj go do odpytywania eksportu rozpoczętego przez exports_create, aż status będzie complete lub failed. Statusy to queued, running, complete, failed i expired. Pola obejmują id (exp_...), site_id (pa_...), kind, format, status, params (zapisana definicja eksportu), row_count (null do zakończenia), error (ustawione przy niepowodzeniu), completed_at, expires_at (pliki są przechowywane 7 dni po zakończeniu), download_url (ustawione tylko wtedy, gdy plik można pobrać, użyj exports_download, aby dostać podpisany link) i created_at. Id pochodzi z exports_create lub exports_list.
Uprawnienie: analytics.export
curl https://privatusanalytics.com/exports/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
Firmy z opinii
GET
/sites/:site_id/testimonials/companies.json
Wyświetl firmy witryny z ich osobami, opiniami i średnią oceną
testimonial_companies_list
Jeden wiersz na firmę, zgrupowany z nazwy firmy i strony internetowej osób witryny. Osoba bez firmy nie należy do żadnej. query dopasowuje fragment nazwy firmy lub hosta jej strony. sort to name (domyślnie), people_desc, testimonials_desc lub received_desc.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/companies.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/testimonials/companies/:id/merge.json
Scal firmę z inną, dla dwóch zapisów tej samej firmy
testimonial_companies_merge
Każda osoba firmy ze ścieżki przejmuje nazwę i adres URL firmy wskazanej przez into.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/companies/:id/merge.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/companies/:id.json
Pobierz jedną firmę z jej osobami
testimonial_companies_get
Id to klucz firmy, host strony internetowej lub znormalizowana nazwa, tak jak zwraca go testimonial_companies_list. Jej opinie to testimonials_list z company.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/companies/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/testimonials/companies/:id.json
Popraw nazwę i adres URL firmy dla wszystkich jej osób naraz
testimonial_companies_update
Id firmy pochodzi z jej adresu URL lub nazwy, więc odpowiedź może zawierać nowe id.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/companies/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Formularze
POST
/sites/:site_id/testimonials/forms.json
Utwórz formularz
testimonial_forms_create
Jedno wywołanie niesie cały formularz: kroki, pytania, logikę pomijania, treść zgody i język. Wszystko, co pominięto, zaczyna się od rozsądnej wartości domyślnej w języku formularza, a slug pochodzi z nazwy. Link to https://privatus.page/f/<slug>. Routing niskich ocen i własny CSS wymagają planu Business (bez niego 402 plan_limit). Odpowiedzi wideo i audio są oferowane autorowi w Pro i wyższych.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/forms.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/testimonials/forms/:id/permanent.json
Usuń formularz na stałe
testimonial_forms_delete
Usuwa formularz, jego rekordy zgłoszeń, nagrodę i prywatne uwagi. Zebrane przez niego opinie zostają zachowane. Tego nie można cofnąć, więc robi to człowiek na stronie. API przyjmuje confirm (nazwę lub id formularza).
Uprawnienie: sites.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/testimonials/forms/:id/permanent.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/testimonials/forms/:id.json
Przenieś formularz do kosza
testimonial_forms_trash
Jego link odpowiada, że formularz jest zamknięty, dopóki nie zostanie przywrócony. Kosz jest opróżniany po 30 dniach. Przez MCP narzędzie niczego nie zmienia i odpowiada stroną aplikacji, na której robi to człowiek.
Uprawnienie: content.write
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/testimonials/forms/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/forms/:id/duplicate.json
Skopiuj formularz, opcjonalnie na inny język
testimonial_forms_duplicate
Kopiuje każde ustawienie poza slug, statystykami i nagrodą.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/forms/:id/duplicate.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/forms.json
Wyświetl formularze witryny
testimonial_forms_list
Formularze w koszu są wyświetlane przy trashed true, a w przeciwnym razie pomijane. Każdy formularz zawiera swoje ustawienia, nagrodę i liczbę dotychczasowych zgłoszeń.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/forms.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/testimonials/forms/:id/qr.json
Pobierz kod QR formularza jako SVG lub PNG
testimonial_forms_qr
Kod zawiera link formularza z ?src=qr, więc skany są liczone jako osobny kanał. Zmieniony slug zachowuje działanie wydrukowanego kodu.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/forms/:id/qr.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/testimonials/forms/:id/restore.json
Przywróć formularz z kosza. Jego link znów działa
testimonial_forms_restore
Wyjmuje formularz z kosza takim, jaki był, z pytaniami, zgłoszeniami i prywatnymi uwagami. Jego link (/f/<slug>) i osadzenia znów przyjmują odpowiedzi. Serwer odpowiada 422 i kodem not_in_trash dla formularza, którego nie ma w koszu.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/forms/:id/restore.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/forms/:id.json
Pobierz jeden formularz ze wszystkimi krokami, pytaniami, regułami i ustawieniami
testimonial_forms_get
Zwraca cały formularz w takiej postaci, w jakiej przyjmują go testimonial_forms_create i testimonial_forms_update, z jego slug, linkiem, nagrodą i liczbą zgłoszeń. Formularza w koszu tu nie znajdziesz: najpierw go przywróć.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/forms/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/testimonials/forms/:id.json
Zmień formularz. Zmieniają się tylko wysłane dane
testimonial_forms_update
Zmiana kroku, pytania lub treści zgody podnosi wersję formularza, którą zapisuje każdy rekord zgody. Zmieniony slug zostawia stary link z przekierowaniem. Wyślij pytania jako całą listę.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/forms/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Identyfikacja wizualna opinii
DELETE
/sites/:site_id/testimonials/settings/brand_kit.json
Przywróć identyfikację wizualną opinii witryny do ustawień domyślnych Privatus Analytics
testimonial_brand_kit_reset
Czyści jednym krokiem każdy kolor, czcionkę, promień, styl ocen, logo i własny CSS, a zmienia się z tym każdy formularz, wtyczka i ściana. Tego nie można cofnąć, więc asystent jest kierowany na stronę Identyfikacji wizualnej zamiast ją uruchamiać.
Uprawnienie: sites.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/testimonials/settings/brand_kit.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/settings/brand_kit.json
Pobierz identyfikację wizualną opinii witryny z każdym kolorem rozwiązanym dla trybu jasnego i ciemnego
testimonial_brand_kit_get
Zwraca kolory, czcionki, zaokrąglenie rogów, styl ocen, logo, przełącznik plakietki i własny CSS, którymi rysowany jest każdy formularz, wtyczka i ściana witryny. Ustawienie, którego nigdy nie zmieniono, wraca z domyślną wartością Privatus Analytics.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/settings/brand_kit.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/testimonials/settings/brand_kit.json
Zmień identyfikację wizualną opinii witryny
testimonial_brand_kit_update
Zmieniane są tylko wysłane dane. Wyślij pusty ciąg, aby przywrócić jedno ustawienie do domyślnego Privatus Analytics. Własny CSS jest sprawdzany przy zapisie, a wszystko, co niedozwolone, jest odrzucane ze wskazaniem wiersza, w którym się znajduje. Własny CSS wymaga planu Business, a ukrycie plakietki także wymaga planu Business. Bez niego serwer odpowiada 402 plan_limit.
Uprawnienie: sites.manage
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/settings/brand_kit.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Importy
DELETE
/sites/:site_id/imports/google/connection.json
Odłącz konto Google Analytics i usuń zapisane tokeny dostępu
imports_google_disconnect
Usuwa zapisane połączenie z Google Analytics wywołującego członka dla przestrzeni roboczej tej witryny, więc importy GA4 nie mogą już czytać z Google, dopóki nie zostanie ono ponownie połączone w aplikacji. Dane już zaimportowane pozostają i są usuwane tylko przez usunięcie ich importu przez imports_delete. Zgoda nie jest cofana po stronie Google. Kończy się błędem walidacji, gdy nie ma połączenia lub gdy któryś z importów GA4 członka jest w kolejce lub w toku. Zwraca obiekt z disconnected true. Łączenie odbywa się w aplikacji (ekran logowania Google), nie ma do tego narzędzia.
Uprawnienie: sites.manage
curl -X DELETE https://privatusanalytics.com/sites/:site_id/imports/google/connection.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/imports/google/properties.json
Wyświetl usługi Google Analytics 4 do zaimportowania
imports_google_properties
Wyświetla usługi Google Analytics 4, które może odczytać połączone konto Google wywołującego członka. Wywołaj to przed imports_create ze source ga4, aby dostać property_id do użycia. Zwraca listę obiektów z id (jak properties/123456789, przekaż je jako property_id), name i account. Kończy się błędem walidacji, gdy członek nie połączył Google dla tej przestrzeni roboczej (robi się to w aplikacji, nie ma do tego narzędzia) lub gdy Google odrzuci żądanie. Wykonuje wywołanie na żywo do Google i niczego nie zmienia.
Uprawnienie: sites.manage
curl https://privatusanalytics.com/sites/:site_id/imports/google/properties.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/imports.json
Rozpocznij import (usługa GA4 lub przesłany plik CSV)
imports_create
Rozpoczyna import danych historycznych z innego narzędzia analitycznego do witryny, przetwarzany w tle, i zwraca import ze statusem queued. Wybierz source ga4, aby pobierać z API Google Analytics 4, co wymaga połączenia z Google wykonanego w aplikacji, property_id (z imports_google_properties) i date_from. date_to domyślnie to dzień przed pierwszym śledzonym zdarzeniem witryny lub wczoraj. Inne źródła (universal_analytics, fathom, simple_analytics, plausible, matomo, umami, clicky) przyjmują eksport CSV wgrany jako dane wejściowe file (wgranie formularza multipart, do 50 MB), co utrudnia uruchamianie ich przez MCP i najlepiej robić to w aplikacji. dimension jest potrzebne tylko do nadpisania wykrywania tego, co rozbijają wiersze CSV, na przykład w eksportach Matomo Label. Zaimportowane wiersze nigdy nie wliczają się do limitu zdarzeń i pojawiają się w statystykach tylko po przekazaniu include_imported true. Przestrzeń robocza może mieć naraz najwyżej 5 importów w kolejce lub w toku. Odpytuj imports_get, aż status będzie complete lub failed. Wymaga uprawnienia sites.manage.
Uprawnienie: sites.manage
curl -X POST https://privatusanalytics.com/sites/:site_id/imports.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/imports/:id.json
Usuń import i wszystkie zaimportowane z niego dane
imports_delete
Trwale usuwa import wraz z każdym wierszem, który wniósł, i wgranym plikiem. Statystyki obejmujące zaimportowane dane zmieniają się od razu, gdy include_imported jest włączone, i nie można tego cofnąć, choć można zaimportować ponownie. Id pochodzi z imports_list i wymaga site_id. Zwraca usunięty import. Wymaga uprawnienia sites.manage. Dane zebrane przez tracker nie są dotykane.
Uprawnienie: sites.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/imports/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/imports.json
Wyświetl importy witryny
imports_list
Wyświetla importy witryny, od najnowszych. Użyj go, aby znaleźć id importu lub sprawdzić, czy któryś jeszcze trwa. Opcjonalnie filtruj przez status (queued, running, complete lub failed). Stronicowane przez page i per_page (do 100). Każdy element ma id, site_id, source, status, date_from, date_to, rows_imported, error, completed_at i created_at. Szczegóły zobacz w imports_get, a imports_create, aby rozpocząć import.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/imports.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/imports/:id.json
Pobierz import i jego status
imports_get
Zwraca jeden import witryny, używany do odpytywania importu rozpoczętego przez imports_create. Pola to id (imp_...), site_id, source, status (queued, running, complete lub failed), date_from i date_to (YYYY-MM-DD, null, gdy nieznane), rows_imported (liczba zaimportowanych wierszy dziennych), error (ustawione przy niepowodzeniu), completed_at i created_at. Id pochodzi z imports_create lub imports_list. Zaimportowane wiersze pojawiają się w statystykach tylko wtedy, gdy wywołanie statystyk ustawia include_imported true.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/imports/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
Importy opinii z arkusza
POST
/sites/:site_id/testimonials/imports/spreadsheet.json
Prześlij arkusz (lub wyślij tekst CSV) i odczytaj jego kolumny
testimonial_spreadsheet_imports_create
Krok 1 importu z arkusza. Wyślij file (CSV, TSV lub XLSX, co najwyżej 10 MB i 5000 wierszy, nagłówki w pierwszym wierszu) albo content (tekst CSV do 1 MB). Odpowiedź zawiera kolumny, po trzy przykładowe wartości każdej i pierwsze przypuszczenie, dokąd trafia każda kolumna. Nic nie jest jeszcze importowane: kontynuuj przez testimonial_spreadsheet_imports_update i testimonial_spreadsheet_imports_run. Arkusz nigdy nie liczy się do miesięcznych opinii ani do pobieranych importów.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/imports/spreadsheet.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/imports/spreadsheet/:id/run.json
Wczytaj dopasowany plik do kroku przeglądu
testimonial_spreadsheet_imports_run
Wiersze, które da się użyć, czekają z polem wyboru. Wiersze, których się nie da, są wymienione z numerem wiersza i powodem. Zachowaj je przez testimonial_import_sources_keep, używając id arkusza jako id źródła.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/imports/spreadsheet/:id/run.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/imports/spreadsheet/:id.json
Pobierz kolumny arkusza, próbki, dopasowanie, opcje i liczniki
testimonial_spreadsheet_imports_get
Zwraca kolumny pliku z przykładowymi wartościami, pole, do którego trafia każda kolumna, opcje (status domyślny, tagi, kolekcja, format daty, co dzieje się z duplikatami) oraz, po uruchomieniu, ile wierszy czeka w kroku przeglądu i ile zachowano.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/imports/spreadsheet/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/testimonials/imports/spreadsheet/:id.json
Zapisz, która kolumna dokąd trafia, oraz opcje pliku
testimonial_spreadsheet_imports_update
Kroki 2 i 3 importu z arkusza. mapping to obiekt nazwy kolumny na pole, z pustą wartością dla kolumny do pominięcia, a dwie kolumny nie mogą trafić do jednego pola. Opcje to default_status (pending lub approved), tags, collection_id (kolekcja ręczna), default_source_name, date_format (auto, ymd, dmy lub mdy) oraz duplicates (skip lub queue). Zmienia się tylko to, co wysłano, i nic nie jest importowane do czasu testimonial_spreadsheet_imports_run.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/imports/spreadsheet/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Języki opinii
GET
/sites/:site_id/testimonials/settings/languages.json
Pobierz ustawienia językowe opinii witryny
testimonial_languages_get
Język domyślny, oferowane języki, czy nowo zatwierdzone opinie są tłumaczone automatycznie, czy plan obejmuje tłumaczenie, czy tłumaczenie jest skonfigurowane oraz znaki wykorzystane i pozostałe w tym miesiącu.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/settings/languages.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/testimonials/settings/languages.json
Ustaw język domyślny, oferowane języki i automatyczne tłumaczenie
testimonial_languages_update
Wyślij tylko to, co się zmienia. Język domyślny jest zawsze wśród oferowanych, a języka, w którym napisano formularz, nie można usunąć (in_use). Włączenie auto_translate wymaga Business lub wyższego (gdzie indziej 402 plan_limit): od tej chwili słowa każdej nowo zatwierdzonej opinii są wysyłane do Google Cloud Translation, a członek zespołu dostaje e-mail, że zmienił to asystent.
Uprawnienie: sites.manage
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/settings/languages.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Kampanie
POST
/sites/:site_id/campaigns/costs.json
Ustaw wydatki na kampanię w danym miesiącu
campaign_costs_create
Zapisuje wydatki na reklamę jednej kampanii w jednym miesiącu, aby campaigns_list mogło pokazywać koszt pozyskania i zwrot z wydatków na reklamę. Jeśli wpis dla tej samej kampanii i miesiąca już istnieje, jest zastępowany, a nie duplikowany, więc można bezpiecznie wywołać to dwa razy. campaign to wartość utm_campaign tak, jak występuje w Twoich śledzonych linkach, month to YYYY-MM (pełna data, taka jak 2026-09-15, jest akceptowana i przyjmowana jako pierwszy dzień miesiąca), a amount jest w jednostkach głównych jako liczba (1250.50, nie w jednostkach podrzędnych). currency to opcjonalny 3-literowy kod ISO i domyślnie jest to waluta witryny. Odpowiedź zwraca zapisany wpis z amount_minor w jednostkach podrzędnych. Dla wielu wierszy naraz użyj campaign_costs_import. Wymaga content.write. Wymaga planu Business lub Enterprise (w przeciwnym razie 402 plan_limit).
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/campaigns/costs.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/campaigns/costs/:id.json
Usuń wpis kosztu kampanii
campaign_costs_delete
Trwale usuwa jeden wpis wydatków, znaleziony po jego id z campaign_costs_list. Tej operacji nie można cofnąć, a CPA i ROAS dla tej kampanii i miesiąca od razu przestają uwzględniać te wydatki. Inne miesiące i kampanie nie są dotykane. Zwraca usunięty wpis. Wymaga content.write. Wymaga planu Business lub Enterprise (w przeciwnym razie 402 plan_limit).
Uprawnienie: content.write
curl -X DELETE https://privatusanalytics.com/sites/:site_id/campaigns/costs/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/campaigns/costs/import.json
Zaimportuj koszty kampanii z CSV (campaign,month,amount[,currency])
campaign_costs_import
Zbiorczo importuje wydatki na reklamę z CSV, szybki sposób na załadowanie wielu kampanii i miesięcy. Prześlij tekst CSV w csv (najlepsze dla narzędzi i wywołań API) lub wgraj plik w file (tylko multipart). Pierwszy wiersz musi być nagłówkiem zawierającym campaign, month i amount, z opcjonalną kolumną currency, na przykład campaign,month,amount,currency, a potem spring_sale,2026-09,1250.50,USD. Month to YYYY-MM, amount jest w jednostkach głównych, a currency domyślnie to waluta witryny. Wiersze są aktualizowane lub dodawane według kampanii i miesiąca, więc ponowny import tego samego pliku nie tworzy duplikatów. Limity to 1 MB i 5000 wierszy. Błędny wiersz nie przerywa importu. Odpowiedź ma imported (liczba zapisanych), failed (liczba odrzuconych) i errors (pierwsze 50 komunikatów, każdy wskazuje swój wiersz, gdzie wiersz 2 to pierwszy wiersz danych). Brakująca kolumna nagłówka, zbyt duży plik lub nieprawidłowy CSV powodują błąd całego żądania. Wymaga content.write. Wymaga planu Business lub Enterprise (w przeciwnym razie 402 plan_limit).
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/campaigns/costs/import.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/campaigns/costs.json
Wyświetl wpisy kosztów kampanii
campaign_costs_list
Wyświetla wpisy wydatków na reklamę zapisane dla witryny, od najnowszego miesiąca, potem według nazwy kampanii. Każdy wiersz to jedna kampania w jednym miesiącu z amount_minor (liczba całkowita w jednostkach podrzędnych waluty, więc 125050 oznacza 1250,50), currency (ISO 4217, wielkimi literami), month jako YYYY-MM oraz id wpisu (UUID, użyj go dla campaign_costs_update i campaign_costs_delete). Przekaż campaign, aby zobaczyć tylko jedną kampanię (dopasowanie bez rozróżniania wielkości liter do wartości utm_campaign). Stronicowane przez page i per_page (maks. 100). Koszty zasilają CPA i ROAS w campaigns_list, więc tu sprawdzisz, jakie wydatki ma kampania. Wymaga analytics.read. Wymaga planu Business lub Enterprise (w przeciwnym razie 402 plan_limit).
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/campaigns/costs.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/campaigns/costs/:id.json
Zmień wpis kosztu kampanii
campaign_costs_update
Zmienia istniejący wpis wydatków, znaleziony po jego id z campaign_costs_list. Zmieniają się tylko przesłane dane wejściowe, więc wyślij samo amount, aby poprawić liczbę. amount jest w jednostkach głównych (1250.50) i zapisywane jako jednostki podrzędne, month to YYYY-MM, currency to 3-literowy kod ISO. Zmiana campaign lub month na kombinację, którą ma już inny wpis, kończy się błędem walidacji zamiast scalenia. Aby poprawić wydatki dla kampanii i miesiąca bez znajomości id, wywołaj campaign_costs_create, które zastępuje istniejący wpis. Wymaga content.write. Wymaga planu Business lub Enterprise (w przeciwnym razie 402 plan_limit).
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/sites/:site_id/campaigns/costs/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/campaigns/builder.json
Zbuduj i zweryfikuj adres URL ze znacznikami UTM
campaigns_builder
Buduje adres URL ze znacznikami UTM dla strony docelowej i sprawdza wartości. Nic nie jest zapisywane i żadne dane nie są odczytywane, więc można bezpiecznie wywoływać wielokrotnie. Przekaż destination (pełny adres https://) oraz utm_source, utm_medium, utm_campaign, utm_content i utm_term według potrzeb, lub wybierz preset (newsletter, social, paid_search i tak dalej), aby wypełnić utm_source i utm_medium, gdy zostawisz je puste. Zwraca url (null, gdy jest błąd), valid, destination, preset, oczyszczone wartości utm_*, issues (lista {field, level, message}, gdzie poziom error blokuje adres URL, a warning tylko sugeruje poprawkę, taką jak zamiana na małe litery) i presets (dostępne wartości preset). Wartości są czyszczone do małych liter bez spacji. Użyj campaigns_hygiene, aby znaleźć nieuporządkowane wartości UTM, które już istnieją w Twoim ruchu, i campaigns_list, aby raportować kampanie, które były prowadzone. Aby zachować oznaczony link z krótkim adresem URL i licznikiem kliknięć, użyj zamiast tego links_create.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/campaigns/builder.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/campaigns/hygiene.json
Higiena UTM: prawie zduplikowane wartości, problemy ze stylem i nieznane źródła
campaigns_hygiene
Znajduje nieuporządkowane wartości UTM w ruchu z okresu, abyś mógł poprawić oznaczanie. Zwraca period, duplicates, style_issues i unknown_sources. duplicates grupuje wartości utm_source, utm_medium lub utm_campaign, które różnią się tylko wielkością liter, spacjami lub interpunkcją (Facebook, facebook i face-book), każdą jako {field, suggestion, variants: [{value, visits}]} z sugerowanym zapisem o największej liczbie wizyt. style_issues wylicza wartości łamiące konwencję małych liter bez spacji jako {field, value, visits, suggestion} (do 50). unknown_sources wylicza wartości utm_source, które nie są rozpoznanym kanałem, jako {value, visits} (do 50). Skanowanych jest tylko 500 najlepszych wartości na pole. Liczby to wizyty. Sugestie to tylko porady i nic nie jest zmieniane. Aby scalić warianty w jeden kanał, użyj channel_rules_create. Przyjmuje wspólne dane wejściowe period i filters. Użyj campaigns_list dla wyników, a campaigns_builder do tworzenia czystych oznaczonych adresów URL.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/campaigns/hygiene.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/campaigns.json
Zestawienie kampanii z konwersjami, przychodem, kosztem, CPA i ROAS
campaigns_list
Raport wyników kampanii zbudowany z utm_campaign, z kosztem i zwrotem z wydatków na reklamę. Zwraca period, currency (waluta witryny), goal_id i goal_name (cel, którego konwersje są liczone), campaigns, totals i unconverted_costs. Każda kampania ma visitors, visits, conversions, conversion_rate (procent od 0 do 100, konwersje podzielone przez wizyty), revenue i sources (wiersze dla źródła i medium z tymi samymi metrykami). Gdy istnieją koszty (z campaign_costs_list), kampania ma też cost, cpa (koszt konwersji, null, gdy nie ma konwersji) i roas (przychód podzielony przez koszt, stosunek taki jak 2.5, null, gdy nie ma kosztu). Kwoty (revenue, cost, cpa) to liczby całkowite w jednostkach podrzędnych (centach) waluty witryny. Koszty są dopasowywane do nazw kampanii bez rozróżniania wielkości liter i rozliczane proporcjonalnie do dni każdego miesiąca w okresie. Kampania z kosztem, ale bez ruchu, nadal jest wyświetlana. Najwyżej 100 kampanii, od najbardziej ruchliwej. Uwzględniane są tylko wizyty z utm_campaign. goal_id domyślnie wskazuje pierwszy aktywny cel, więc przekaż go jawnie, aby mierzyć konkretny cel (identyfikatory pochodzą z goals_list). Użyj campaigns_hygiene, aby uporządkować nazwy, a stats_breakdown z dimension utm_campaign dla zwykłego podziału ruchu.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/campaigns.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/campaigns/links.json
Zapisz link ze znacznikami UTM w bibliotece
links_create
Zapisuje link ze znacznikami UTM w bibliotece linków witryny (ścieżka przyjmuje site_id). name (do 120 znaków) i destination (adres http lub https do 2048 znaków) są wymagane. Wartości utm są czyszczone automatycznie, zamieniane na małe litery, przycinane, a spacje zamieniane na podkreślenia, a wartość wyglądająca na dane osobowe (na przykład adres e-mail) jest odrzucana. Zachowywanych jest do 20 tagów, wpisy rozdzielone przecinkami są dzielone, a tagi zamieniane na małe litery i obcinane do 40 znaków. Zapisuje tylko link, sam niczego nie śledzi. Zwrócony url to adres docelowy z dodanymi parametrami UTM, a parametr UTM już obecny w adresie docelowym jest zastępowany. Użyj links_qr dla kodu QR.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/campaigns/links.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/campaigns/links/:id.json
Usuń zapisany link
links_delete
Usuwa zapisany link z biblioteki. Usuwa to tylko zapisany wpis, adresy URL, które już udostępniłeś, nadal działają, a ich wizyty nadal są liczone według kampanii. Tej operacji nie można cofnąć. Id (lnk_...) pochodzi z links_list. Zwraca usunięty link.
Uprawnienie: content.write
curl -X DELETE https://privatusanalytics.com/sites/:site_id/campaigns/links/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/campaigns/links.json
Wyświetl zapisane linki kampanii
links_list
Wyświetla zapisane linki kampanii (adresy URL ze znacznikami UTM) jednej witryny (ścieżka przyjmuje site_id), od najnowszych, ze stronicowaniem. Każdy link ma id (lnk_...), name, destination, utm_source, utm_medium, utm_campaign, utm_content, utm_term, url (adres docelowy z dodanymi parametrami UTM, gotowy do udostępnienia), tags, notes, created_at i updated_at. query przeszukuje name, destination i utm_campaign, a tag zostawia tylko linki z tym tagiem. To zapisana biblioteka, a aby zobaczyć wyniki kampanii, użyj campaigns_list lub stats_breakdown z dimension utm_campaign.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/campaigns/links.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/campaigns/links/:id/qr.json
Kod QR (SVG) dla zapisanego linku
links_qr
Zwraca kod QR dla pełnego oznaczonego adresu URL zapisanego linku, do druku. Odpowiedź ma link_id, url (oznaczony adres URL zakodowany w kodzie) i svg (kompletny samodzielny dokument SVG jako ciąg znaków, czarny na białym). size to rozmiar modułu w pikselach, od 2 do 20 (domyślnie 6), który skaluje obraz. Id (lnk_...) pochodzi z links_list. Użyj links_get, gdy potrzebujesz tylko adresu URL.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/campaigns/links/:id/qr.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/campaigns/links/:id.json
Pobierz zapisany link kampanii
links_get
Zwraca jeden zapisany link kampanii według id (lnk_..., z links_list). Odpowiedź ma name, destination, utm_source, utm_medium, utm_campaign, utm_content, utm_term (każde null, gdy nieustawione), url (pełny oznaczony adres URL), tags, notes, created_at i updated_at. Użyj links_qr dla kodu QR gotowego do druku dla tego samego adresu URL.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/campaigns/links/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/campaigns/links/:id.json
Zmień zapisany link
links_update
Zmienia zapisany link kampanii (id z links_list). Zmieniają się tylko przesłane dane wejściowe. Obowiązują te same kontrole czyszczenia i danych osobowych co w links_create. Przesłanie tags zastępuje całą listę tagów. Wyślij pusty ciąg dla pola utm, aby je wyczyścić. Zwraca zaktualizowany link z ponownie obliczonym url.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/sites/:site_id/campaigns/links/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Kanały powiadomień
DELETE
/channels/:id.json
Usuń kanał powiadomień
notification_channels_delete
Usuwa kanał powiadomień i usuwa go ze wszystkich alertów, które go używały, więc te alerty przestają tam powiadamiać. Tej operacji nie można cofnąć, a same alerty są zachowywane. Id (nch_...) pochodzi z notification_channels_list. Zwraca usunięty kanał.
Uprawnienie: content.write
curl -X DELETE https://privatusanalytics.com/channels/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/workspaces/:workspace_id/channels.json
Wyświetl kanały powiadomień
notification_channels_list
Wyświetla kanały powiadomień przestrzeni roboczej (ścieżka przyjmuje workspace_id), posortowane według nazwy, ze stronicowaniem. Kanał to miejsce, do którego dostarczane są alerty. Każdy ma id (nch_...), kind (email, slack, teams, discord, webhook, pagerduty, opsgenie lub push), name, target (zamaskowane podsumowanie, takie jak adresy e-mail lub końcówka adresu URL webhooka, sekrety nigdy nie są zwracane), last_used_at i created_at. Filtruj przez kind. Użyj identyfikatorów jako channel_ids w alerts_create i alerts_update. Wywołujący ograniczeni do niektórych witryn widzą tylko kanały używane przez alerty na ich witrynach.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/workspaces/:workspace_id/channels.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/channels/:id/send_test.json
Wyślij testową wiadomość przez kanał
notification_channels_send_test
Wysyła prawdziwą wiadomość testową przez kanał (e-mail, wpis na czacie, wywołanie webhooka i tak dalej), więc używaj tego tylko wtedy, gdy użytkownik tego chce. Wywołanie kończy się błędem wskazującym przyczynę, jeśli dostarczenie nie działa, w przeciwnym razie zwraca kanał. Wysyłki testowe mają limit częstotliwości na przestrzeń roboczą, a kanały e-mail także na adres z zewnątrz. Użyj tego po notification_channels_create lub notification_channels_update, aby potwierdzić, że adres URL lub klucz jest poprawny.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/channels/:id/send_test.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/channels/:id.json
Pobierz kanał powiadomień
notification_channels_get
Zwraca jeden kanał powiadomień według id (nch_..., z notification_channels_list). Odpowiedź ma kind, name, target (zamaskowane podsumowanie, sekrety takie jak adresy URL webhooków i klucze nigdy nie są zwracane), last_used_at i created_at. Użyj notification_channels_send_test, aby sprawdzić, czy dostarcza.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/channels/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/notifications/unsubscribe/:token.json
Wypisz adres z jednego kanału alertów lub kontroli uptime za pomocą tokena z e-maila
notification_unsubscribes_create
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/notifications/unsubscribe/:token.json \
-H "Content-Type: application/json" -d '{…}'
POST
/push_subscription.json
Zarejestruj przeglądarkę do powiadomień push
push_subscriptions_create
Rejestruje bieżącą przeglądarkę do alertów web push, używając trzech wartości z PushSubscription przeglądarki (endpoint, p256dh i auth). Subskrypcja otrzymuje alerty z każdej przestrzeni roboczej, do której należy członek, dla każdej witryny, dlatego token API może tego użyć tylko wtedy, gdy może czytać całą swoją przestrzeń roboczą, a członek nie ma innej przestrzeni roboczej. Ponowne wywołanie z tym samym endpoint aktualizuje klucze i przenosi subskrypcję na wywołującego. Endpoint musi być publicznym adresem https usługi push. To tylko rejestruje przeglądarkę, więc alerty nadal wymagają kanału powiadomień rodzaju push (notification_channels_create). Zwraca endpoint_host (nazwa hosta usługi push, nie pełny endpoint) i created_at. Sesje otwarte przez dostawcę tożsamości przestrzeni roboczej nie mogą tego używać.
Uprawnienie: member
curl -X POST https://privatusanalytics.com/push_subscription.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/push_subscription.json
Usuń rejestrację push przeglądarki
push_subscriptions_delete
Usuwa jedną z rejestracji push przeglądarki zalogowanego członka, aby ta przeglądarka przestała otrzymywać powiadomienia o alertach. Przekaż ten sam endpoint, który użyto z push_subscriptions_create. Kończy się błędem not found, gdy dla członka nie istnieje taka subskrypcja. Zwraca usuniętą subskrypcję jako endpoint_host i created_at. Nie usuwa żadnego kanału powiadomień. Podlega tym samym ograniczeniom tokenów co push_subscriptions_create.
Uprawnienie: member
curl -X DELETE https://privatusanalytics.com/push_subscription.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Kolekcje opinii
POST
/sites/:site_id/testimonials/collections/:id/items.json
Dodaj opinie do kolekcji ręcznej
testimonial_collections_add_items
Do 100 naraz. Dołączają na dole albo na górze z position top, w podanej kolejności. Odpowiedź ma meta.undo_id, które testimonials_bulk_undo przyjmuje przez 7 dni. Kolekcja inteligentna nie przyjmuje niczego ręcznie.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/collections/:id/items.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/collections.json
Utwórz kolekcję, ręczną lub inteligentną
testimonial_collections_create
kind manual jest układana ręcznie, a testimonial_ids zaczyna ją wypełnioną. kind smart jest utrzymywana aktualną warunkami: wierszami pola, operatora i wartości połączonymi przez match. Odpowiedź zawiera licznik i reguły prostym językiem, więc jedno wywołanie zamienia zdanie w żywą kolekcję. Najpierw wypróbuj reguły przez testimonial_collections_preview. Rodzaj nigdy później się nie zmienia.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/collections.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/testimonials/collections/:id.json
Przenieś kolekcję do kosza na 30 dni
testimonial_collections_destroy
Jej opinie nie są ruszane. Wtyczka lub ściana, którą zasila, nie pokazuje z niej niczego, dopóki nie zostanie przywrócona. Przywróć ją przez testimonial_trash_restore. Przez MCP narzędzie niczego nie zmienia i odpowiada stroną aplikacji, na której robi to człowiek.
Uprawnienie: content.write
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/testimonials/collections/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/collections.json
Wyświetl kolekcje witryny
testimonial_collections_list
Każda kolekcja przychodzi z liczbą opinii, które teraz zawiera, ile z nich jest zatwierdzonych, jej regułami prostym językiem, gdy jest inteligentna, oraz wtyczkami i ścianami, które zasila. Kolekcje w koszu są pomijane.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/collections.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/testimonials/collections/preview.json
Wypróbuj zestaw reguł bez zapisywania czegokolwiek
testimonial_collections_preview
Odpowiada, ile opinii pasuje teraz, regułami prostym językiem i pięcioma przykładami. Użyj go przed testimonial_collections_create lub testimonial_tags_update. Nieprawidłowy wiersz to 422 wskazujące ten wiersz.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/collections/preview.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
DELETE
/sites/:site_id/testimonials/collections/:id/items.json
Wyjmij opinie z kolekcji ręcznej
testimonial_collections_remove_items
Do 100 naraz. Same opinie nie są zmieniane. Odpowiedź ma meta.undo_id, a cofnięcie przywraca każdą na jej miejsce.
Uprawnienie: content.write
curl -X DELETE https://privatusanalytics.com/sites/:site_id/testimonials/collections/:id/items.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/collections/:id/reorder.json
Przenieś jedną opinię na inne miejsce w kolekcji ręcznej
testimonial_collections_reorder
Wskaż miejsce dokładnie jednym z: position (liczone od 1), before_id lub after_id. Kolejność jest kolejnością serwowaną każdej wtyczce i ścianie, które kolekcja zasila.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/collections/:id/reorder.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/collections/:id.json
Pobierz jedną kolekcję z jej licznikami, regułami i tym, co zasila
testimonial_collections_get
Jej opinie to testimonials_list z collection_id.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/collections/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/testimonials/collections/:id.json
Zmień nazwę kolekcji, opis, reguły lub kolejność serwowania
testimonial_collections_update
Zmienia się tylko to, co wysłano. Wysłanie conditions zastępuje każdą regułę kolekcji inteligentnej. Rodzaj jest stały.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/collections/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Konto
GET
/account.json
Pobierz swój profil i preferencje
account_get
Zwraca własny profil i preferencje zalogowanego członka. Użyj go, aby odczytać ustawienia przed ich zmianą przez account_update. Dotyczy osoby, a nie przestrzeni roboczej. Plan przestrzeni roboczej i faktury znajdziesz w billing_get. Pola to email, unconfirmed_email (ustawione, gdy zmiana adresu e-mail czeka na potwierdzenie, w przeciwnym razie null), name (może być null), theme (system, light lub dark), default_landing (sites lub last_site), locale (kod języka zalogowanej aplikacji), timezone (nazwa IANA, może być null), shortcuts_enabled, reduce_motion, product_emails, site_audit_emails, marketing_emails, newsletter (wszystkie typu boolean, gdzie true oznacza subskrypcję), two_factor (boolean), passkeys (liczba zarejestrowanych kluczy dostępu) i created_at (ISO 8601). Sesja otwarta wyłącznie przez dostawcę tożsamości przestrzeni roboczej widzi tylko email i ustawienia wyświetlania.
Uprawnienie: member
curl https://privatusanalytics.com/account.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/account.json
Zaktualizuj swój profil i preferencje
account_update
Aktualizuje własny profil zalogowanego członka, preferencje wyświetlania i subskrypcje e-mail. Zmieniają się tylko przesłane dane wejściowe, reszta pozostaje bez zmian. Zmiana email nie działa od razu. Na nowy adres wysyłany jest e-mail z potwierdzeniem (z limitem częstotliwości), a unconfirmed_email pokazuje oczekujący adres do czasu potwierdzenia. Tokeny API nie mogą zmieniać adresu e-mail ani ponownie włączać marketing_emails po wypisaniu się, oba wymagają zalogowanej przeglądarki. Wyłączenie marketing_emails jest dozwolone. Sesje otwarte przez dostawcę tożsamości przestrzeni roboczej mogą zmieniać tylko ustawienia wyświetlania (theme, default_landing, locale, timezone, shortcuts_enabled, reduce_motion). Zwraca zaktualizowane konto w tym samym kształcie co account_get. Nie usuwa konta i nie może zmieniać ustawień przestrzeni roboczej.
Uprawnienie: member
curl -X PATCH https://privatusanalytics.com/account.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Kosz opinii
DELETE
/sites/:site_id/testimonials/trash/permanent.json
Usuń na stałe do 100 elementów z kosza
testimonial_trash_delete_permanently
Tego nie można cofnąć. confirm to nazwa elementu (imię osoby dla opinii) lub jego id dla jednego elementu oraz nazwa witryny dla kilku. Przyjmowane są tylko elementy w koszu.
Uprawnienie: sites.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/testimonials/trash/permanent.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/testimonials/trash/empty.json
Usuń na stałe wszystko z kosza
testimonial_trash_empty
Tego nie można cofnąć. confirm to nazwa witryny. Naraz usuwanych jest do 100 elementów. Większy kosz jest opróżniany w tle, a odpowiedź ma state running.
Uprawnienie: sites.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/testimonials/trash/empty.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/trash.json
Wyświetl zawartość kosza, jeden rodzaj naraz
testimonial_trash_list
Odpowiada elementami jednego rodzaju (domyślnie testimonial) oraz w meta.counts liczbą elementów każdego rodzaju w koszu. Każdy element mówi, do czego wraca, co go pokazywało, kto go wyrzucił i kiedy odchodzi.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/trash.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/testimonials/trash/restore.json
Przywróć z kosza do 100 elementów, dokładnie takich, jakie były
testimonial_trash_restore
Id muszą być jednego rodzaju. Przywracanie opinii odpowiada id cofnięcia (data.id i meta.undo_id), które testimonial_undo_records_undo przyjmuje przez 7 dni. Przywrócenie nigdy nie liczy się jako nowa opinia.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/trash/restore.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Kreacje reklamowe
POST
/sites/:site_id/experiments/ads/:ad_placement_id/creatives.json
Dodaj kreację do miejsca reklamowego
ad_creatives_create
Dodaje obraz o proporcjach miejsca (co najmniej jego rozmiaru, dwukrotnie większy wygląda najostrzej) i adres, do którego prowadzi kliknięcie. Wyślij obraz jako plik multipart albo image_url, aby go pobrać. Jest przetwarzany w tle, więc sprawdzaj ad_creatives_get, aż state będzie ready. Harmonogram, urządzenia i ścieżki są dostępne w Pro i wyżej. Wymaga content.write.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/experiments/ads/:ad_placement_id/creatives.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/experiments/ads/:ad_placement_id/creatives/:id.json
Usuń kreację wraz z obrazem
ad_creatives_delete
Trwale usuwa kreację i jej obraz. Kreacji, którą porównuje eksperyment, nie można usunąć, zamiast tego ją wyłącz. Narzędzie MCP tego nie wykonuje i odpowiada human_only wraz ze stroną, na której usuwa to człowiek. Wymaga content.write.
Uprawnienie: content.write
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/experiments/ads/:ad_placement_id/creatives/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/experiments/ads/:ad_placement_id/creatives/:id.json
Pobierz jedną kreację wraz ze stanem
ad_creatives_get
Kreacja jest w stanie processing, dopóki nie powstanie jej obraz, potem ready (albo failed, z powodem w error). Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/experiments/ads/:ad_placement_id/creatives/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/experiments/ads/:ad_placement_id/creatives/:id.json
Zmień kreację
ad_creatives_update
Zmienia link, wagę, harmonogram lub targetowanie, wyłącza ją (active false) albo zastępuje obraz. Zmieniają się tylko podane dane. Nowy obraz zastępuje stary, gdy jest gotowy. Wymaga content.write.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/sites/:site_id/experiments/ads/:ad_placement_id/creatives/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Lejki
POST
/sites/:site_id/funnels.json
Utwórz lejek
funnels_create
Tworzy lejek, czyli sekwencję kroków, przez które przechodzą wizyty, mierzoną na wizytę. Przekaż name i steps, uporządkowaną listę {type, value, match, name}. type to page, event lub goal. value to ścieżka dla kroków page (na przykład /pricing), nazwa zdarzenia niestandardowego dla kroków event lub identyfikator celu (goal_..., z goals_list) dla kroków goal. match dotyczy tylko kroków page i ma wartość exact, prefix, glob (symbol wieloznaczny *) lub regex, domyślnie glob, gdy value zawiera *, a w przeciwnym razie exact. name to opcjonalna etykieta. Kroki z pustym value są pomijane. order_mode to strict (każdy krok musi następować po poprzednim, domyślnie) lub any (kroki w dowolnej kolejności). window to visit (domyślnie) lub day, a oba mierzą w obrębie jednej wizyty, ponieważ nie jest przechowywany żaden identyfikator odwiedzającego. Obowiązują limity planu. Free pozwala na 3 lejki na witrynę i 5 kroków, Pro na 10 kroków, a Business na 20, a lejek potrzebuje co najmniej 2 kroków. Zwraca lejek z id (fun_...). Wyniki odczytasz przez funnels_get. Wymaga uprawnienia content.write.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/funnels.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/funnels/:id.json
Usuń lejek
funnels_delete
Trwale usuwa definicję lejka. Żadne dane analityczne nie są dotykane, ale lejka i jego ustawień nie można odzyskać i nie ma cofania. Zwraca usunięty lejek. Identyfikatory (fun_...) pochodzą z funnels_list. Użyj zamiast tego funnels_update, aby zmienić lejek. Wymaga uprawnienia content.write.
Uprawnienie: content.write
curl -X DELETE https://privatusanalytics.com/sites/:site_id/funnels/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/funnels.json
Wyświetl lejki z wejściami, ukończeniami i współczynnikiem
funnels_list
Wyświetla lejki witryny z ich głównymi wynikami za okres, uporządkowane według nazwy. Każdy lejek ma id (fun_...), name, steps, order_mode, window i stats {entered, completed, conversion_rate}, gdzie entered to wizyty, które dotarły do kroku 1, completed to wizyty, które dotarły do ostatniego kroku, a conversion_rate to procent (od 0 do 100). Stronicowane przez page i per_page (maks. 100, domyślnie 25). Przyjmuje wspólne dane wejściowe period i filters. Dla szczegółów krok po kroku użyj funnels_get, a funnels_create, aby dodać lejek.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/funnels.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/funnels/:id.json
Raport lejka: liczba w krokach, konwersja, odpływ, czas między krokami i dokąd trafiły wizyty zamiast tego
funnels_get
Raport konwersji jednego lejka za okres. Zwraca period, funnel_id, name, order_mode, window, steps, overall_conversion_rate, breakdown oraz z compare także comparison. Każdy krok ma index (od 1), name, type, value, match, count (wizyty, które do niego dotarły), step_conversion_rate (procent poprzedniego kroku), overall_conversion_rate (procent kroku 1), dropoff i dropoff_rate (wizyty, które odeszły po tym kroku), median_seconds_from_previous (null dla kroku 1) i next_pages (5 najlepszych stron odwiedzonych następnie przez odpadłe wizyty, z (exit) dla tych, które wyszły). Współczynniki to procenty od 0 do 100. Ustaw breakdown na channel, device, country, utm_campaign, utm_source, browser lub os, aby dostać ogólną konwersję dla każdej wartości (top 20). comparison ma liczby drugiego okresu, overall_conversion_rate i change (procent, null, gdy wcześniejszy współczynnik wynosił 0). Filtry stron są tu ignorowane, ponieważ skracałyby wizyty, użyj zamiast tego kroku page. Przyjmuje wspólne dane wejściowe period, compare, filters i segment. Identyfikatory pochodzą z funnels_list.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/funnels/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/funnels/:id.json
Zaktualizuj lejek
funnels_update
Zmienia lejek. Zmieniają się tylko przesłane dane wejściowe. Przesłanie steps zastępuje całą listę kroków, więc wyślij każdy krok po kolei (format i limity kroków są takie same jak w funnels_create, Free pozwala na 5 kroków, Pro na 10, a Business na 20, a kroki goal muszą wskazywać cele tej witryny). Możesz też zmienić name, order_mode (strict lub any) i window (visit lub day). Wyniki są obliczane z definicji przy odczycie, więc zmiana lejka dotyczy od razu całej historii, a liczby pokazane wcześniej będą się różnić. Zwraca lejek. Identyfikatory pochodzą z funnels_list. Wymaga uprawnienia content.write.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/sites/:site_id/funnels/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Lista cofnięć opinii
GET
/sites/:site_id/testimonials/settings/undo.json
Wyświetl to, co zmieniono w ostatnich 7 dniach i można cofnąć
testimonial_undo_records_list
Od najnowszych. Każdy zapis mówi, co działało, kto to uruchomił, ile zmieniło i pominęło oraz dlaczego, i do kiedy można to cofnąć.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/settings/undo.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/testimonials/settings/undo/:id.json
Odczytaj jeden zapis cofnięcia
testimonial_undo_records_get
Dla przebiegu w tle state to running, a processed mówi, jak daleko jest.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/settings/undo/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/testimonials/settings/undo/:id/undo.json
Cofnij akcję zbiorczą lub pojedynczą zmianę w ciągu 7 dni
testimonial_undo_records_undo
Przywraca wcześniejszą wartość we wszystkim, co przebieg zmienił. To, co zmieniono od tamtej pory ponownie, jest pomijane i liczone w left. Scalenie osób lub duplikatów cofa się tak samo. Przez MCP cofnięcie, które by usuwało lub przenosiło do kosza, nie jest wykonywane (cofnięcie przywrócenia, przebiegu tłumaczenia i przebiegu tworzenia obrazów): narzędzie odpowiada human_only i stroną aplikacji, na której robi to człowiek.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/settings/undo/:id/undo.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Miejsca reklamowe
POST
/sites/:site_id/experiments/ads.json
Utwórz miejsce reklamowe
ad_placements_create
Tworzy w witrynie miejsce o jednym rozmiarze. Podaj size (popularny rozmiar, taki jak medium_rectangle lub leaderboard) albo width i height w pikselach. key to nazwa, pod którą znacznik w witrynie je wskazuje, a gdy go pominiesz, powstaje z nazwy. Potem dodaj kreacje przez ad_creatives_create i umieść w witrynie znacznik z ad_placements_embed. Wymaga content.write.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/experiments/ads.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/experiments/ads/:id.json
Usuń miejsce reklamowe wraz z kreacjami
ad_placements_delete
Trwale usuwa miejsce wraz z kreacjami i ich obrazami, jego eksperymenty reklamowe z wynikami oraz linki dla sponsorów. Znacznik w witrynie przestaje wtedy cokolwiek rysować. Narzędzie MCP tego nie wykonuje i odpowiada human_only wraz ze stroną, na której usuwa to człowiek. Wymaga content.write.
Uprawnienie: content.write
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/experiments/ads/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/experiments/ads/:id/embed.json
Pobierz znacznik, który pokazuje miejsce w witrynie
ad_placements_embed
Skrypt ładujący (raz na stronę) i slot tego miejsca jako html do wklejenia. Slot zachowuje swój rozmiar, zanim skrypt się uruchomi. Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/experiments/ads/:id/embed.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/experiments/ads.json
Wyświetl miejsca reklamowe witryny z ostatnimi 30 dniami
ad_placements_list
Każde miejsce z kluczem, rozmiarem, liczbą kreacji i statystykami (wyświetlenia, widoczne wyświetlenia, kliknięcia i ctr, czyli współczynnik kliknięć na widoczne wyświetlenie) z ostatnich 30 dni. Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/experiments/ads.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/experiments/ads/:id.json
Pobierz miejsce z liczbami każdej kreacji
ad_placements_get
Miejsce, jego kreacje ze statystykami z okresu (7d, 30d lub 90d) oraz liczby miejsca dzień po dniu. humans_only zachowuje to, co wynik botów uznaje za prawdopodobnych ludzi (Pro i wyżej). Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/experiments/ads/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/experiments/ads/:id.json
Zmień miejsce reklamowe
ad_placements_update
Zmienia nazwę, klucz, rozmiar lub etykietę. Zmieniają się tylko podane dane. Nowy klucz wymaga nowego znacznika w witrynie. Wymaga content.write.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/sites/:site_id/experiments/ads/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Migracje opinii
POST
/sites/:site_id/testimonials/imports/migrations/:id/discard.json
Odrzuć to, co migracja odczytała
testimonial_migrations_discard
Podaj item_ids (id z testimonial_migrations_review) lub all true dla wszystkiego, co jeszcze czeka, nigdy obu naraz. Odrzucony element opuszcza krok przeglądu, a to, co o osobie odczytano, jest usuwane. Żadna opinia nie jest usuwana. W przeciwnym razie serwer odpowiada 422 i kodem selection lub unknown_ids.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/imports/migrations/:id/discard.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/imports/migrations.json
Wyświetl migracje witryny
testimonial_migrations_list
Od najnowszej. Migracja to jeden plik eksportu z innego narzędzia do opinii. Każda ma narzędzie, z którego pochodzi, swój status oraz liczbę znalezionych, zachowanych, zduplikowanych i nieudanych opinii.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/imports/migrations.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/testimonials/imports/migrations/:id/keep.json
Zachowaj to, co migracja odczytała, jako opinie
testimonial_migrations_keep
Podaj item_ids (do 100 na wywołanie, z testimonial_migrations_review) lub all true, nigdy obu naraz. Każdy zachowany element staje się opinią ze statusem pending lub approved, a keep_approval true zachowuje zatwierdzenie, które miał w innym narzędziu. Przy all prawdopodobne duplikaty są pomijane, chyba że include_likely_duplicates ma wartość true. Nic zachowanego nie liczy się do miesięcznych opinii. To, co nie zostało zachowane, zostaje w kroku przeglądu przez 30 dni.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/imports/migrations/:id/keep.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/imports/migrations/:id/review.json
Wyświetl to, co migracja odczytała i o czym jeszcze nie zdecydowano
testimonial_migrations_review
Wyświetla elementy wciąż czekające na decyzję, od najnowszego przebiegu. show to new, duplicates lub all (domyślnie), a rating zachowuje tylko wymienione oceny gwiazdkowe. Przekaż id elementów do testimonial_migrations_keep lub testimonial_migrations_discard.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/imports/migrations/:id/review.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/testimonials/imports/migrations/:id.json
Pobierz postęp migracji i jej liczniki
testimonial_migrations_get
Zwraca narzędzie, z którego pochodzi plik, status, ile opinii znaleziono, zachowano, zduplikowano i nie udało się, ile plików multimedialnych przynosi oraz kiedy się rozpoczęła i zakończyła. Odpytuj ją, dopóki status mówi, że plik jest jeszcze odczytywany.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/imports/migrations/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
Na żywo
GET
/sites/:site_id/live.json
Odwiedzający na żywo, strumień aktywności i to, co jest teraz popularne (ostatnie 30 minut)
live_get
Co dzieje się w witrynie w tej chwili. Zwraca live_visitors (odwiedzający z ostatnich 5 minut), window_minutes (30), sparkline (wizyty na minutę z ostatnich 30 minut, od najstarszej, każda {minute, visits}), feed (najnowsza aktywność), top_pages, top_referrers, top_countries (każde do 8 wierszy {value, visits}) i top_events (do 8 {value, completions}) z ostatnich 30 minut. Wpisy feed mają occurred_at, kind, name, path, channel, referrer_host, country, device i browser. Są anonimowe, bez IP, miasta ani śladu odwiedzającego. feed domyślnie pokazuje wszystkie wejścia lub tylko odsłony albo zdarzenia, z limit wpisów (domyślnie 50, do rozmiaru bufora 100). Liczby nie są buforowane i nie przyjmują period. Przekaż filters (w tym samym formacie co w stats_aggregate), aby zawęzić wszystkie liczby i feed do pasujących wejść. Użyj live_wallboard dla zwartego widoku wielu witryn i stats_overview dla pełnego okresu.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/live.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/live/wallboard.json
Karty wallboardu (na żywo i dziś) dla jednej lub wielu witryn
live_wallboard
Zwięzłe karty z dużymi liczbami dla jednej lub wielu witryn, stworzone na ekran w biurze. Zwraca rotate_seconds, generated_at i sites. Każda karta witryny ma id (pa_...), name, domain, live_visitors (ostatnie 5 minut), sparkline (na minutę, ostatnie 30 minut), visitors_today, pageviews_today, bounce_rate_today (procent, od 0 do 100), top_pages, top_countries i top_referrers (po 5 wierszy). Dziś oznacza strefę czasową samej witryny, a liczby są odczytywane z danych na żywo. site_ids wylicza witryny do uwzględnienia (do 12, tylko witryny, które może otworzyć Twój token), w przeciwnym razie używana jest witryna ze ścieżki. rotate_seconds jest ograniczane do przedziału od 5 do 300 i tylko mówi ekranowi, jak długo pokazywać każdą kartę. Dla publicznego ekranu do udostępniania użyj wallboard_links_create. Użyj live_get dla pełnego widoku na żywo jednej witryny.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/live/wallboard.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/wallboard/:token.json
Wallboard dla tokena wallboardu (bez logowania)
live_public_wallboard
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl https://privatusanalytics.com/wallboard/:token.json
POST
/sites/:site_id/live/wallboard/links.json
Utwórz link do wallboardu (tylko do odczytu, można go unieważnić)
wallboard_links_create
Tworzy adres URL tablicy tylko do odczytu, który każdy, kto go ma, może otworzyć bez logowania, więc udostępniaj go tylko osobom, które powinny widzieć te liczby. Ścieżka przyjmuje site_id i ta witryna jest zawsze uwzględniona. site_ids dodaje kolejne witryny do rotacji (identyfikatory pa_... do których masz dostęp, łącznie do 12 witryn). rotate_seconds to czas, przez jaki każda witryna pozostaje na ekranie, od 5 do 300 (domyślnie 20, wartości spoza zakresu są ograniczane). expires_at to data i czas ISO 8601 lub zwykła data YYYY-MM-DD, która oznacza koniec tego dnia w strefie czasowej witryny. Tablica pokazuje tylko liczby na żywo i zbiorcze z dzisiaj. Zwraca link z jego url. Unieważnisz go przez wallboard_links_delete.
Uprawnienie: sites.manage
curl -X POST https://privatusanalytics.com/sites/:site_id/live/wallboard/links.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/live/wallboard/links/:id.json
Unieważnij link do wallboardu
wallboard_links_delete
Unieważnia link do tablicy, więc telewizory, które go pokazują, przestają się aktualizować, a adres URL przestaje działać. Tej operacji nie można cofnąć, utwórz zamiast tego nowy link. Unieważnienie już unieważnionego linku nic nie robi. Id (shr_...) pochodzi z wallboard_links_list. Zwraca link z ustawionym revoked_at.
Uprawnienie: sites.manage
curl -X DELETE https://privatusanalytics.com/sites/:site_id/live/wallboard/links/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/live/wallboard/links.json
Wyświetl linki do wallboardu witryny
wallboard_links_list
Wyświetla linki do tablicy witryny (ścieżka przyjmuje site_id), od najnowszych, wraz z unieważnionymi. Link do tablicy to tajny adres URL, który pokazuje odwiedzających na żywo i dzisiejsze liczby na telewizorze bez logowania. Każdy ma id (shr_...), name, url, site_ids (identyfikatory pa_... witryn, przez które rotuje), rotate_seconds, expires_at, revoked_at (ustawione po unieważnieniu) i created_at. Wywołujący ograniczeni do niektórych witryn widzą tylko linki, których wszystkie witryny są ich. Dla samych danych tablicy użyj live_wallboard. Wymaga uprawnienia sites.manage.
Uprawnienie: sites.manage
curl https://privatusanalytics.com/sites/:site_id/live/wallboard/links.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
Nagrody
POST
/sites/:site_id/testimonials/settings/rewards/:id/copy.json
Skopiuj nagrodę formularza do innych formularzy tej samej witryny
testimonial_rewards_copy
Kopiuje tytuł, tekst, kod i stan włączenia lub wyłączenia nagrody tego formularza do każdego formularza z form_ids (od 1 do 100 formularzy tej samej witryny, nie w koszu). Nagroda, którą formularz docelowy już ma, jest zastępowana. Serwer odpowiada 422 i kodem unknown_ids, gdy id nie jest formularzem witryny, i wtedy nic nie jest kopiowane.
Uprawnienie: sites.manage
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/settings/rewards/:id/copy.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/settings/rewards.json
Wyświetl nagrodę każdego formularza witryny
testimonial_rewards_list
Jeden wiersz na formularz. Formularz bez ustawionej nagrody ma enabled false.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/settings/rewards.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/testimonials/settings/rewards/:id.json
Ustaw nagrodę pokazywaną przez formularz w kroku z podziękowaniem
testimonial_rewards_update
Id to id formularza. Kod to tekst, który podajesz. Privatus Analytics go nie tworzy, nie sprawdza i nie wygasza.
Uprawnienie: sites.manage
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/settings/rewards/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Notatki
POST
/sites/:site_id/notes.json
Dodaj notatkę do witryny (użyj źródła "deploy" dla webhooków wydań)
notes_create
Dodaje adnotację do wykresów jednej witryny, na przykład premierę, kampanię lub wydanie. Użyj zamiast tego workspace_notes_create dla notatki widocznej w każdej witrynie. date domyślnie to dziś w strefie czasowej witryny, a end_date oznacza zakres (YYYY-MM-DD). title jest pokazywany na wykresie, body to zwykły tekst, a url może wskazywać PR lub dziennik zmian. color to jedno z neutral, brand, blue, amber, red lub violet, domyślnie neutral. source domyślnie to manual. Integracje wdrożeń wysyłają source deploy, a wtedy title domyślnie jest tekstem zbudowanym z version (wersja wydania lub commit), a color domyślnie to blue. Wymaga content.write. Zwraca utworzoną notatkę (pola zobacz w notes_list).
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/notes.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/notes/:id.json
Usuń notatkę
notes_delete
Trwale usuwa notatkę witryny, która znika z wykresów i nie można jej przywrócić. Notatka musi należeć do tej witryny, notatki całej przestrzeni roboczej usuwa się przez workspace_notes_delete. Weź id (note_...) z notes_list. Wymaga content.write. Zwraca usuniętą notatkę.
Uprawnienie: content.write
curl -X DELETE https://privatusanalytics.com/sites/:site_id/notes/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/notes.json
Wyświetl notatki witryny (w tym notatki całej przestrzeni roboczej)
notes_list
Wyświetla adnotacje (notatki) pokazywane na wykresach witryny, od najnowszej daty, ze stronicowaniem. Zwraca własne notatki witryny oraz notatki całej przestrzeni roboczej, które dotyczą każdej witryny. Filtruj przez from i to (YYYY-MM-DD, notatka pasuje, gdy jej data mieści się w zakresie), source (manual, deploy, system, import lub incident) i query (wyszukiwanie bez rozróżniania wielkości liter w title, body i url). Użyj workspace_notes_list dla widoku przestrzeni roboczej obejmującego wszystkie witryny. Każda notatka ma id (note_...), site_id (publiczny identyfikator witryny pa_..., null dla notatki całej przestrzeni roboczej), date, end_date (null dla pojedynczego dnia), title, body (zwykły tekst, może być null), url (może być null), color (neutral, brand, blue, amber, red lub violet), source i created_at. Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/notes.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/notes/:id.json
Pobierz notatkę
notes_get
Zwraca jedną notatkę według jej id (note_..., z notes_list) dla witryny, w tym notatki całej przestrzeni roboczej, które dotyczą witryny. Notatka to opatrzona datą adnotacja pokazywana na wykresach, na przykład premiera, kampania lub wdrożenie. Pola to id, site_id (null, gdy dotyczy całej przestrzeni roboczej), date i end_date (YYYY-MM-DD, end_date null dla pojedynczego dnia), title, body (może być null), url (może być null), color (neutral, brand, blue, amber, red lub violet), source (manual, deploy, system, import lub incident) i created_at. Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/notes/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/notes/:id.json
Edytuj notatkę
notes_update
Edytuje notatkę witryny, zmieniając tylko przesłane pola (date, end_date, title, body, url, color). Źródła (source) nie można zmienić. Przesłanie pustego url usuwa link, a date równe null jest ignorowane. Notatka musi należeć do tej witryny, notatki całej przestrzeni roboczej edytuje się przez workspace_notes_update. Weź id (note_...) z notes_list. Wymaga content.write. Zwraca zaktualizowaną notatkę.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/sites/:site_id/notes/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/workspaces/:workspace_id/notes.json
Dodaj notatkę całej przestrzeni roboczej (widoczna w każdej witrynie)
workspace_notes_create
Dodaje adnotację całej przestrzeni roboczej, która pojawia się na wykresach każdej witryny w przestrzeni roboczej, na przykład premierę w całej firmie lub awarię. Jest tworzona bez witryny (site_id ma wartość null). Użyj notes_create dla notatki jednej witryny. date domyślnie to dziś w strefie czasowej przestrzeni roboczej, end_date oznacza zakres (YYYY-MM-DD), a color to jedno z neutral, brand, blue, amber, red lub violet. Wymaga content.write, a wywołujący ograniczony do niektórych witryn nie może tworzyć notatek całej przestrzeni roboczej. Zwraca utworzoną notatkę.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/notes.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/workspaces/:workspace_id/notes/:id.json
Usuń notatkę przestrzeni roboczej
workspace_notes_delete
Trwale usuwa notatkę całej przestrzeni roboczej, więc znika z wykresów każdej witryny i nie można jej przywrócić. Tutaj można usuwać tylko notatki bez witryny, dla notatki witryny użyj notes_delete. Weź id (note_...) z workspace_notes_list. Wymaga content.write, a wywołujący ograniczony do niektórych witryn nie może usuwać notatek całej przestrzeni roboczej. Zwraca usuniętą notatkę.
Uprawnienie: content.write
curl -X DELETE https://privatusanalytics.com/workspaces/:workspace_id/notes/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/workspaces/:workspace_id/notes.json
Wyświetl notatki całej przestrzeni roboczej
workspace_notes_list
Wyświetla adnotacje w całej przestrzeni roboczej, od najnowszej daty, ze stronicowaniem. Zwraca notatki całej przestrzeni roboczej (widoczne w każdej witrynie) oraz notatki każdej witryny, do której wywołujący ma dostęp, więc sprawdź site_id przy każdym elemencie (null oznacza całą przestrzeń roboczą). Użyj notes_list dla jednej witryny. Filtruj przez from i to (YYYY-MM-DD), source (manual, deploy, system, import lub incident) i query (przeszukuje title, body i url). Pola to id (note_...), site_id, date, end_date, title, body, url, color (neutral, brand, blue, amber, red lub violet), source i created_at. Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/workspaces/:workspace_id/notes.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/workspaces/:workspace_id/notes/:id.json
Edytuj notatkę przestrzeni roboczej
workspace_notes_update
Edytuje notatkę całej przestrzeni roboczej, zmieniając tylko przesłane pola (date, end_date, title, body, url, color). Tutaj można edytować tylko notatki bez witryny, dla notatki witryny użyj notes_update. Weź id (note_...) z workspace_notes_list. Wymaga content.write, a wywołujący ograniczony do niektórych witryn nie może edytować notatek całej przestrzeni roboczej. Zwraca zaktualizowaną notatkę.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/workspaces/:workspace_id/notes/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Obrazy opinii
POST
/sites/:site_id/testimonials/images/bulk.json
Wykonaj obrazy dla każdej zatwierdzonej opinii z kolekcji
testimonial_images_bulk_create
Do 200 opinii na przebieg, po jednym obrazie na rozmiar każda. Tekst zbyt długi dla obrazu jest rysowany z jego wyróżnienia albo, w przeciwnym razie, z początkowych zdań (excerpted mówi, ile). Odpowiedź wymienia rozpoczęte obrazy, pominięte opinie z powodem oraz export_id: jeden zip z PNG pojawia się na stronie Eksporty, gdy obrazy zostaną narysowane.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/images/bulk.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/images.json
Wykonaj obrazy jednej zatwierdzonej opinii, po jednym na rozmiar
testimonial_images_create
Narysować można tylko zatwierdzoną opinię, ponieważ PNG dostaje publiczny adres: każda inna jest odrzucana z not_approved. Każdy obraz zaczyna jako rendering i jest rysowany w tle. Odpowiedzią jest lista rozpoczętych obrazów. Odpytuj testimonial_images_get o file_url. 422 z text_too_long oznacza, że słowa się nie mieszczą: użyj text_mode highlight lub excerpt albo wyższego rozmiaru.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/images.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/testimonials/images/:id.json
Usuń obraz i jego plik
testimonial_images_delete
PNG jest usuwany z hosta mediów, a jego adres przestaje działać. Obraz nie ma kosza. Można go wykonać ponownie z jego opinii przez testimonial_images_create. Przez MCP narzędzie niczego nie zmienia i odpowiada stroną aplikacji, na której robi to człowiek.
Uprawnienie: content.write
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/testimonials/images/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/images.json
Wyświetl obrazy witryny
testimonial_images_list
Obrazy wykonane z zatwierdzonych opinii, od najnowszego, po 25 na stronę. Filtruj według status, template, size lub testimonial_id. Każdy zawiera file_url, gdy jest gotowy.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/images.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/testimonials/images/:id.json
Pobierz jeden obraz z jego stanem i adresem jego PNG
testimonial_images_get
status to rendering, ready lub failed. file_url jest ustawione, gdy obraz jest gotowy. Odpytuj to po testimonial_images_create, aż status przestanie być rendering.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/images/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/testimonials/images/:id.json
Zmień sposób rysowania obrazu i wyrenderuj go ponownie
testimonial_images_update
Wyślij tylko to, co się zmienia. Bez żadnych danych renderuje ten sam obraz ponownie z opinii w jej obecnej postaci, co jest też sposobem na ponowienie nieudanego. Nowy render ma nowe file_url, a stary plik jest usuwany.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/images/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Odbiorcy próśb o opinie
POST
/sites/:site_id/testimonials/requests/:request_id/recipients.json
Dodaj osoby do prośby
testimonial_request_recipients_create
Do 500 w jednym wywołaniu. Dodane do wersji roboczej czekają na testimonial_requests_send. Dodane do prośby w toku dostają pierwszy e-mail od razu. Odpowiedź mówi, ilu zakolejkowano, a ilu pominięto, według powodu. Dodanie do prośby w toku wysyła e-maile do osób spoza przestrzeni roboczej, więc członek zespołu dostaje e-mail z informacją.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/requests/:request_id/recipients.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/testimonials/requests/:request_id/recipients.json
Usuń wybrane osoby z prośby
testimonial_request_recipients_delete
Tylko osoby, do których nic nie wysłano (zakolejkowane lub pominięte). Przyjmuje do 100 adresów w treści żądania. Przez MCP narzędzie niczego nie zmienia i odpowiada stroną aplikacji, na której robi to człowiek.
Uprawnienie: content.write
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/testimonials/requests/:request_id/recipients.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/requests/:request_id/recipients/import.json
Dodaj osoby do prośby z pliku CSV
testimonial_request_recipients_import
Dwa wywołania. Wyślij plik (lub jego tekst jako csv), aby dostać kolumny, ich pierwsze wiersze i upload_token. Potem wyślij mapowanie numeru kolumny na pole. Do 5 MB i 10 000 wierszy. Dodanie do prośby w toku wysyła e-maile do osób spoza przestrzeni roboczej, więc członek zespołu dostaje e-mail z informacją.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/requests/:request_id/recipients/import.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/requests/:request_id/recipients.json
Wyświetl osoby z prośby
testimonial_request_recipients_list
Filtruj według tego, na jakim etapie osoba jest teraz: status opened to „otworzył i nie kliknął ani nie odpowiedział”. Adres e-mail jest null, chyba że wywołujący może edytować treści.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/requests/:request_id/recipients.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/testimonials/requests/:request_id/recipients/resume.json
Wznów wybrane osoby z prośby
testimonial_request_recipients_resume
Kontynuują od miejsca zatrzymania. Przyjmuje do 100 adresów w treści żądania. To wysyła e-maile do osób spoza przestrzeni roboczej, więc członek zespołu dostaje e-mail z informacją.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/requests/:request_id/recipients/resume.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/requests/:request_id/recipients/stop.json
Zatrzymaj wybrane osoby z prośby
testimonial_request_recipients_stop
Nie dostają już żadnego e-maila. Każda zachowuje swój status i zyskuje „stopped”. Przyjmuje do 100 adresów w treści żądania.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/requests/:request_id/recipients/stop.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Opinie
GET
/sites/:site_id/testimonials/overview.json
Odczytaj liczby witryny, to, co wymaga uwagi, i co wydarzyło się ostatnio
testimonials_overview
stats zawiera pięć liczb strony Przegląd: opinie zatwierdzone, oczekujące, nowe w tym miesiącu, średnią ocenę i w użyciu. attention wymienia to, co wymaga decyzji, z liczbą. activity to ostatnie 10 zdarzeń, a latest_approved to trzy ostatnio zatwierdzone opinie.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/overview.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/testimonials/setup.json
Pobierz listę kontrolną konfiguracji witryny
testimonials_setup_get
Zwraca pozycje import, testimonials, approve, ask, widget i teammate, każdą z done i dismissed. Pozycja jest wykonana na podstawie tego, co witryna zawiera, nigdy przez kliknięcie. hidden ma wartość true, gdy każda pozycja jest wykonana lub odrzucona, czyli wtedy, gdy Skrzynka przestaje pokazywać kartę.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/setup.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/testimonials/setup.json
Odrzuć jedną pozycję listy kontrolnej konfiguracji albo całą kartę
testimonials_setup_update
dismiss to klucz jednej pozycji (import, testimonials, approve, ask, widget lub teammate) albo all dla całej karty. Odrzucenie ukrywa pozycję i nigdy nie oznacza jej jako wykonanej, a przez API nie można jej przywrócić.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/setup.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/:id/approve.json
Zatwierdź opinię, aby mogła być pokazywana
testimonials_approve
Opinii oczekującej na limit nie można zatwierdzić: serwer odpowiada 422 i kodem waiting_for_allowance. Odpowiedź zawiera meta.undo_id.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/:id/approve.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/bulk.json
Wykonaj jedną akcję na zaznaczonych opiniach albo na wszystkim, co pasuje do filtra
testimonials_bulk
Wyślij ids (do 100, wykonywane naraz, wszystkie albo żadna) albo filters z confirm_count (cały wynik). Więcej niż 100 działa w tle, a odpowiedź ma state running. Akcje: approve, reject, mark_pending, pin, unpin, add_tags, remove_tags, add_to_collection, remove_from_collection, set_property, trash, restore. Każda odpowiada id cofnięcia, które testimonials_bulk_undo przyjmuje przez 7 dni. delete_permanently to jedyna akcja, której nie można cofnąć: wymaga sites.manage, a jej odpowiedź mówi undoable false. Przez MCP dwie akcje, które usuwają, trash i delete_permanently, nie są wykonywane: narzędzie odpowiada human_only i stroną aplikacji, na której robi to człowiek, a każda inna akcja działa. Przez API akcja export (z ids lub filters oraz opcjonalnym format csv, json, ndjson lub xlsx) niczego nie zmienia: wymaga analytics.export i odpowiada 202 oraz eksportem do pobrania.
Uprawnienie: content.write
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/bulk.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/bulk/:id/undo.json
Cofnij akcję zbiorczą w ciągu 7 dni
testimonials_bulk_undo
Przywraca wcześniejszą wartość w każdej opinii zmienionej przez przebieg. Opinia zmieniona od tamtej pory ponownie jest pomijana i liczona w left. Przez MCP cofnięcie, które by usuwało lub przenosiło do kosza, nie jest wykonywane (cofnięcie przywrócenia, przebiegu tłumaczenia i przebiegu tworzenia obrazów): narzędzie odpowiada human_only i stroną aplikacji, na której robi to człowiek.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/bulk/:id/undo.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials.json
Dodaj opinię ręcznie lub przez API
testimonials_create
Zapisywana jedynym punktem przyjęcia, z którego korzysta każda ścieżka. Liczy się do miesięcznego limitu nowych opinii w planie, a po osiągnięciu limitu serwer odpowiada 422 i kodem allowance_reached (tylko zgłoszenie z formularza klienta jest zamiast tego wstrzymywane jako oczekujące). Ta sama osoba mówiąca te same słowa ponownie jest odrzucana z kodem duplicate, chyba że allow_duplicate ma wartość true. To samo external_id ponownie zwraca opinię już zapisaną.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/testimonials/:id/permanent.json
Usuń opinię na stałe wraz z historią, zapisem zgody i plikami
testimonials_delete
Tego nie można cofnąć. Działa na opinii w koszu lub poza nim, wymaga confirm i uprawnienia sites.manage. Przez MCP narzędzie niczego nie usuwa i odpowiada stroną, na której robi to człowiek.
Uprawnienie: sites.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/testimonials/:id/permanent.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/testimonials/:id.json
Przenieś opinię do kosza na 30 dni
testimonials_trash
Opinia zachowuje swój stan, tagi, kolekcje i pliki, nie jest nigdzie pokazywana i po 30 dniach zostaje trwale usunięta. testimonials_restore przywraca ją dokładnie taką, jaka była. Odpowiedź zawiera meta.undo_id. Wrzucenie do kosza opinii, która już w nim jest, niczego nie zmienia. Przez MCP narzędzie niczego nie zmienia i odpowiada stroną aplikacji, na której robi to człowiek.
Uprawnienie: content.write
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/testimonials/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/facets.json
Policz opinie za każdą wartością filtra, dla tych samych danych wejściowych co lista
testimonials_facets
Kształt biblioteki bez odczytywania jakiejkolwiek opinii. Każdy aspekt liczy swoje wartości z pominięciem własnego wyboru i ze stosowaniem wszystkich pozostałych filtrów. meta zawiera sumę i filtr opisany słowami.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/facets.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/testimonials/:id/highlight.json
Zaznacz najlepsze zdanie opinii albo wyczyść zaznaczenie
testimonials_highlight
highlight musi być dokładnym fragmentem słów opinii, w przeciwnym razie serwer odpowiada 422. Pusty highlight czyści wyróżnienie. Każda zmiana jest wersją w historii.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/:id/highlight.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/:id/history.json
Wyświetl każdą wersję słów, tytułu, oceny i wyróżnienia opinii
testimonials_history
Od najnowszej. Wersja 1 to opinia taka, jaka wpłynęła, i nie ma autora. Każda późniejsza wersja ma członka zespołu, który ją wykonał, czas, pozostawioną notatkę oraz, w przypadku przywrócenia, wersję, którą przywrócono. Stronicowane przez page i per_page.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/:id/history.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/testimonials.json
Wyświetl opinie witryny, przefiltrowane i posortowane
testimonials_list
Trzy sposoby określenia, które, i sumują się one: dane aspektów (status, tag_id, has_video i pozostałe), q (pole wyszukiwania z operatorami, na przykład rating:5 has:video tag:onboarding „saved us”) oraz conditions z match (wiersze strukturalne). Wyślij facets jako true, aby w meta.facets dostać bieżącą liczbę za każdą wartością aspektu. Nic z kosza nie jest wyświetlane, chyba że trashed ma wartość true, co wyświetla tylko kosz.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/testimonials/:id/pend.json
Przywróć opinię do stanu oczekującej
testimonials_pend
Cofa zatwierdzoną lub odrzuconą opinię do stanu oczekującej, więc nie jest nigdzie pokazywana, dopóki nie zapadnie nowa decyzja. Odpowiedź zawiera meta.undo_id. Opinia w koszu jest odrzucana z kodem in_trash.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/:id/pend.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/:id/pin.json
Przypnij opinię, aby była pokazywana jako pierwsza, albo odepnij ją
testimonials_pin
Przypięta opinia jest pokazywana jako pierwsza wszędzie, gdzie jest wyświetlana. Wyślij pinned false, aby odpiąć. Odpowiedź zawiera meta.undo_id, gdy coś się zmieniło.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/:id/pin.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/:id/reject.json
Odrzuć opinię. Zostaje zachowana i nie jest nigdzie pokazywana
testimonials_reject
Opinia zachowuje wszystko, co ma, i nie jest nigdzie pokazywana. Odrzucenie opinii już odrzuconej niczego nie zmienia. Odpowiedź zawiera meta.undo_id, które testimonials_bulk_undo przyjmuje przez 7 dni. Opinia w koszu jest odrzucana z kodem in_trash.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/:id/reject.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/:id/restore.json
Przywróć opinię z kosza dokładnie taką, jaka była
testimonials_restore
Zwraca opinię z kosza do jej stanu, tagów, kolekcji i miejsc, które ją pokazywały. Nigdy nie liczy się jako nowa opinia. Opinia, której nie ma w koszu, jest odrzucana z kodem not_in_trash.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/:id/restore.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/:id/restore_version.json
Przywróć słowa, tytuł, ocenę i wyróżnienie z wcześniejszej wersji
testimonials_restore_version
Nic nie jest usuwane z historii. Przywrócenie to nowa wersja, która mówi, z której pochodzi. version 1 zwraca opinii słowa takie, jakie wpłynęły. Nieznany numer wersji to 422.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/:id/restore_version.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/:id.json
Pobierz jedną opinię z jej autorem, plikami, zapisem zgody, tagami i miejscami użycia
testimonials_get
Zwraca jedną opinię witryny według jej id (tm_...), w koszu lub poza nim. person.email jest null, chyba że wywołujący ma content.write, a has_email mówi, czy jakiś jest zapisany. media wymienia pliki wraz ze stanem ich przetwarzania. used_in wymienia każdą wtyczkę, ścianę i obraz, który ją pokazuje.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/testimonials/showable.json
Wyświetl opinie, które publiczność może zobaczyć, tak jak może je zobaczyć
testimonials_showable
Najnowsze zatwierdzone opinie witryny, które mogą być pokazywane publicznie, do własnej prezentacji poza wtyczkami i ścianami. Każda zawiera tylko to, na co pozwala jej zapis zgody: osoba, której imię nie może być pokazane, figuruje jako A customer, a zdjęcie lub nagranie jest pomijane, chyba że je dozwolono. Opinia oczekująca, odrzucona lub w koszu, albo czekająca na limit, nigdy nie jest wyświetlana. W odpowiedzi nie ma adresu e-mail.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/showable.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/testimonials/triage.json
Pobierz następną opinię z kolejki segregacji
testimonials_triage
Bez filtra kolejka to Oczekujące, nieczekające na limit, od najstarszej otrzymanej. Z filtrami skrzynki jest to ten wynik w jego sortowaniu. Wyślij after z id właśnie obsłużonej, aby dostać następną. data jest null, gdy kolejka jest skończona. meta zawiera remaining i total.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/triage.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/testimonials/:id.json
Edytuj opinię. Zmiany słów, tytułu, oceny i wyróżnienia są zapisywane w jej historii
testimonials_update
Zmieniane są tylko wysłane dane. Zmiana body, title, rating lub highlight dodaje wersję do historii z edit_note i nigdy nie zmienia znacznika zweryfikowania. rating null czyści ocenę. highlight musi być dokładnym fragmentem słów, a pusty czyści wyróżnienie. properties zmienia tylko wysłane klucze. add_tags i remove_tags przyjmują nazwy lub id. Stan, przypięcie i kosz mają własne narzędzia. Opinii w koszu nie można edytować.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Osoby z opinii
POST
/sites/:site_id/testimonials/people/:id/ask_again.json
Rozpocznij prośbę z tą osobą jako jedynym odbiorcą
testimonial_people_ask_again
Używa formularza, którego osoba użyła ostatnio, albo formularza startowego. Nic nie jest wysyłane, dopóki prośba nie zostanie wysłana. Serwer odpowiada 422 i kodem no_email, bounced lub unsubscribed, gdy osoby nie można zapytać, oraz requests_unavailable, gdy prośby nie są dostępne.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/people/:id/ask_again.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/people.json
Dodaj osobę do witryny
testimonial_people_create
name jest wymagane (do 120 znaków). email nigdy nie jest pokazywany publicznie: grupuje późniejsze opinie pod tą osobą i pozwala witrynie zapytać ją ponownie, a adres, który ma już inna osoba witryny, jest odrzucany. avatar_media_id to id (med_...) obrazu już przesłanego do witryny. Dodanie osoby nie dodaje żadnej opinii.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/people.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/testimonials/people/:id/permanent.json
Usuń osobę na stałe, ze wszystkim, co powiedziała, plikami i historią próśb
testimonial_people_delete_permanently
Dla prośby o usunięcie danych. Tego nie można cofnąć. Wymaga confirm, nazwy lub id osoby, i zostawia jeden wpis w dzienniku audytu, który nie zawiera ani nazwy, ani słów.
Uprawnienie: sites.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/testimonials/people/:id/permanent.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/people.json
Wyświetl osoby witryny, przefiltrowane i posortowane
testimonial_people_list
Każda osoba przychodzi z liczbą opinii, liczbą zatwierdzonych, średnią oceną i ostatnią prośbą z jej wynikiem. E-mail jest null, chyba że wywołujący ma content.write, a has_email nadal mówi, czy jakiś jest zapisany.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/people.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/testimonials/people/:id/merge.json
Scal inne rekordy tej samej osoby z tym
testimonial_people_merge
Osoba ze ścieżki zostaje. Wszystko, co powiedzieli pozostali, i każda prośba do nich wysłana przechodzi na nią, a pozostali są usuwani. Pole, które ta osoba ma puste, jest uzupełniane z pozostałych, od najstarszego, a use wskazuje, czyja wartość wygrywa dla pola. Odpowiedź zawiera meta.undo_id, które testimonial_undo_records_undo przyjmuje przez 7 dni.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/people/:id/merge.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/people/:id.json
Pobierz jedną osobę z tym, o co ją pytano, i osobami wyglądającymi na tę samą osobę
testimonial_people_get
Jej opinie to testimonials_list z person_id. can_ask i cannot_ask_reason mówią, czy testimonial_people_ask_again by się powiodło.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/people/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/testimonials/people/:id.json
Edytuj osobę. Zmieniają się tylko wysłane pola
testimonial_people_update
Pusta wartość czyści pole, poza nazwą. E-mail, który ma już inna osoba witryny, jest odrzucany. Strona firmy, na której osoba jest wymieniona, podąża za nazwą firmy i stroną internetową.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/people/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Plany
GET
/plans.json
Wyświetl plany, ceny i limity
plans_list
Wyświetla publiczne plany (free, pro, business i enterprise) z ich limitami i poziomami cen, abyś mógł wybrać prawidłowe wartości dla billing_checkout, billing_preview i billing_change_plan. Każdy plan ma name, events (zdarzenia miesięcznie w cenie, null dla planów wielopoziomowych lub niestandardowych), badge_bonus (dodatkowe zdarzenia miesięcznie za odznakę, tylko Free, w przeciwnym razie null), limits (obiekt limitów planu, takich jak witryny, miejsca członków, retencja historii w miesiącach, cele na witrynę, pytania AI i żądania API na godzinę), tiers (każdy ze zdarzeniami miesięcznie oraz ceną miesięczną i roczną w pełnych USD, z VAT lub podatkiem od sprzedaży) i contact_sales (true dla planów niestandardowych). Obiekt meta dodaje currency, uwagę o cenach rocznych, counted (co liczy się jako zdarzenie rozliczane) i not_counted. Dla planu konkretnej przestrzeni roboczej użyj billing_get. Publiczne, bez uwierzytelniania.
Uprawnienie: public
curl https://privatusanalytics.com/plans.json
Pliki opinii
POST
/sites/:site_id/testimonials/media/uploads.json
Rozpocznij przesyłanie albo dodaj plik z adresu internetowego
testimonial_media_uploads_create
Dwa sposoby. Aby przesłać, wyślij filename, content_type i byte_size: odpowiedź zawiera upload, z adresem url, na który należy wysłać plik metodą PUT, nagłówkami do wysłania razem z nim oraz, dla dużego pliku, parts, które można wysyłać po kolei. Następnie wywołaj testimonial_media_uploads_finish. Albo wyślij source_url, a plik zostanie pobrany i przetworzony za ciebie: odpytuj testimonial_media_get, aż jego stan będzie ready. Limity: wideo i audio do 500 MB i tak długie, jak pozwala plan (2 minuty w Pro, 10 minut w Business, brak w Free, gdzie serwer odpowiada 402 plan_limit), obrazy do 10 MB, logo do 2 MB.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/media/uploads.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/testimonials/media/:id.json
Usuń plik, którego nie przechowuje żadna opinia
testimonial_media_delete
Plik należący do opinii jest usuwany razem z opinią, przez kosz. Zapisane pliki są usuwane, a ich adresy czyszczone z pamięci podręcznej.
Uprawnienie: content.write
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/testimonials/media/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/media/uploads/:id/finish.json
Powiedz, że przesyłanie jest zakończone, aby plik został sprawdzony i przetworzony
testimonial_media_uploads_finish
Wywołaj po wysłaniu pliku. Plik musi być w magazynie przesyłania i mieć dokładnie ten rozmiar, który zapowiedziano. Wywołanie go dwa razy jest bezpieczne.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/media/uploads/:id/finish.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/media/:id/retry.json
Spróbuj ponownie z nieudanym plikiem
testimonial_media_retry
Przetwarza plik ponownie z zachowanego przesłania. Przesłanie jest zachowywane przez 24 godziny po niepowodzeniu. Potem serwer odpowiada not_retryable i plik trzeba przesłać od nowa.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/media/:id/retry.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/media/:id.json
Pobierz jeden plik z jego stanem i miejscem, skąd go załadować
testimonial_media_get
url to trwały adres gotowego pliku na hoście mediów i jest null, dopóki stan nie jest ready. Adres jest taki sam dla wszystkich i nie jest podpisany, więc przekazuj dalej tylko adres pliku, którego pole shareable ma wartość true.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/media/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
Pomoc i opinie
POST
/help.json
Wyślij pytanie lub opinię do zespołu Privatus Analytics
support_message_send
Wiadomość jest wysyłana e-mailem do zespołu wraz ze szczegółami Twojego konta, przestrzeni roboczej i planu. Odpowiedź i potwierdzenie trafiają na e-mail Twojego konta. Do 10 wiadomości dziennie.
Uprawnienie: member
curl -X POST https://privatusanalytics.com/help.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Połączenia zakupów dla opinii
DELETE
/sites/:site_id/testimonials/settings/purchase_connections/:id.json
Odłącz konto płatności
testimonial_purchase_connections_delete
Usuwa połączenie i jego klucz. Kupujący wciąż czekający na pierwszy e-mail nie są pytani. Stała prośba zostaje jako zapis tego, co wysłano.
Uprawnienie: sites.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/testimonials/settings/purchase_connections/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/settings/purchase_connections.json
Wyświetl połączenia zakupów witryny
testimonial_purchase_connections_list
Każde z regułą, stanem i stałą prośbą. Klucz nigdy nie jest zwracany. paused ma wartość true w planie bez próśb po zakupie: połączenie jest zachowane, nie czyta płatności i nikogo nie prosi.
Uprawnienie: sites.manage
curl https://privatusanalytics.com/sites/:site_id/testimonials/settings/purchase_connections.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
Program afiliacyjny
GET
/account/affiliate/commissions.json
Wyświetl swoje prowizje afiliacyjne
affiliate_commissions_list
Prowizje, korekty za zwroty i chargebacki oraz ich cofnięcia, od najnowszych. Kwoty są w centach.
Uprawnienie: member
curl https://privatusanalytics.com/account/affiliate/commissions.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/account/affiliate/signup-box.json
Pobierz kod swojego formularza rejestracji afiliacyjnej i wyniki
affiliate_signup_box_get
Kod osadzenia formularza rejestracji (skrypt i zwykły iframe) dla wybranego motywu, atrybuty wstępnie wypełniające formularz, zdarzenia wywoływane przez skrypt na Twojej stronie oraz liczby dla formularza: rejestracje oczekujące na potwierdzenie, potwierdzone rejestracje i płacący klienci. available ma wartość false, dopóki Twoje zgłoszenie do programu afiliacyjnego nie zostanie zatwierdzone.
Uprawnienie: member
curl https://privatusanalytics.com/account/affiliate/signup-box.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/account/affiliate.json
Pobierz swój status afilianta, link polecający i statystyki
affiliate_get
Status Twojego zgłoszenia do programu afiliacyjnego, link polecający, poleceni przez Ciebie zarejestrowani i płacący klienci oraz salda w każdej walucie (wstrzymane, do wypłaty, wypłacone). status ma wartość none, jeśli nie złożono zgłoszenia.
Uprawnienie: member
curl https://privatusanalytics.com/account/affiliate.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
Prośby o opinie
POST
/requests/resubscribe/:token.json
Potwierdź ponowne otrzymywanie próśb o opinie
testimonial_request_resubscribes_confirm
POST stojący za przyciskiem strony potwierdzenia. Zdejmuje rezygnację, więc adres można znów o coś poprosić.
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/requests/resubscribe/:token.json \
-H "Content-Type: application/json" -d '{…}'
POST
/requests/resubscribe.json
Poproś o e-mail, który pozwala adresowi ponownie otrzymywać prośby
testimonial_request_resubscribes_create
Wysyła e-mail z potwierdzeniem na sam adres, jeśli był wypisany. Odpowiedź jest taka sama, niezależnie od tego, czy był.
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/requests/resubscribe.json \
-H "Content-Type: application/json" -d '{…}'
POST
/requests/unsubscribe/:token.json
Wypisz adres z próśb o opinie
testimonial_request_unsubscribes_create
POST stojący za przyciskiem strony wypisania i to, co wywołuje własny przycisk wypisania aplikacji pocztowej. Token pochodzi z linku w e-mailu.
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/requests/unsubscribe/:token.json \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/requests.json
Rozpocznij prośbę jako wersję roboczą
testimonial_requests_create
Tworzy wersję roboczą z e-mailem i odbiorcami. Nic nie jest wysyłane do czasu testimonial_requests_send. Wszystko, co pominięto, zaczyna się od wartości domyślnej: e-mail, jedno przypomnienie po 5 dniach, nazwa witryny jako nadawca i ty jako adres odpowiedzi. Każdy odbiorca jest zapisywany jako zakolejkowany albo jako pominięty z powodem.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/requests.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/testimonials/requests/:id.json
Usuń wersję roboczą
testimonial_requests_delete
Usunąć można tylko prośbę, która nigdy nie została wysłana. Wysłana prośba jest zachowywana jako zapis wysłanej poczty. Przez MCP narzędzie niczego nie zmienia i odpowiada stroną aplikacji, na której robi to człowiek.
Uprawnienie: content.write
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/testimonials/requests/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/requests/:id/duplicate.json
Skopiuj prośbę do nowej wersji roboczej
testimonial_requests_duplicate
Kopia ma ten sam formularz i e-mail oraz jeszcze żadnych odbiorców.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/requests/:id/duplicate.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/requests.json
Wyświetl prośby witryny
testimonial_requests_list
Od najnowszej, każda z e-mailem i licznikami lejka. Filtruj według statusu, formularza lub okresu.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/requests.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/testimonials/requests/:id/preview.json
Zobacz jeden e-mail prośby tak, jak dostaje go pierwszy odbiorca
testimonial_requests_preview
Nadawca, temat i treść z uzupełnionymi polami scalania. Nic nie jest wysyłane. step 0 to pierwszy e-mail, od 1 do 3 to przypomnienia.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/requests/:id/preview.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/testimonials/requests/:id/resume.json
Wznów zatrzymaną prośbę
testimonial_requests_resume
Kontynuuje od miejsca zatrzymania. Przypomnienie, które stało się wymagalne podczas zatrzymania, jest liczone od nowa od teraz, więc nic nie wychodzi hurtem. To wysyła e-maile do osób spoza przestrzeni roboczej, więc członek zespołu dostaje e-mail z informacją, że wznowił to asystent.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/requests/:id/resume.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/requests/:id/send.json
Wyślij prośbę, teraz lub o danej godzinie
testimonial_requests_send
Wymaga confirm_relationship: true. Zakolejkowani odbiorcy są sprawdzani jeszcze raz, a potem wychodzą pierwsze e-maile (lub czekają na send_at). Przypomnienia trafiają do osób, które nie odpowiedziały. E-maile z prośbami są wysyłane przez własnego dostawcę poczty witryny (Ustawienia > Wysyłka e-maili, Business i wyższe), więc witryna bez działającego połączenia dostaje 422 no_email_connection lub email_connection_paused, a inny plan dostaje 402 plan_limit. Każdy e-mail liczy się do miesięcznego limitu e-maili z prośbami witryny (10 000, chyba że ustawimy inny). Po osiągnięciu limitu nic nie jest porzucane: osoby zostają w kolejce, a wysyłka trwa dalej 1. dnia miesiąca. To wysyła e-maile do osób spoza przestrzeni roboczej, więc członek zespołu dostaje e-mail z informacją, że wysłał to asystent.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/requests/:id/send.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/requests/:id/send_test.json
Wyślij jeden e-mail prośby na własny adres
testimonial_requests_send_test
Trafia tylko na adres wywołującego, przez własnego dostawcę poczty witryny tak jak prawdziwe (422 no_email_connection bez niego). Nie ma osobistego linku ani licznika otwarć i nie liczy się do miesięcznego limitu witryny.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/requests/:id/send_test.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/requests/:id.json
Pobierz jedną prośbę z jej e-mailem, przypomnieniami i licznikami lejka
testimonial_requests_get
Zwraca e-mail, przypomnienia, status i liczniki lejka (sent, opened, clicked, submitted, bounced, unsubscribed) jednej prośby.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/requests/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/testimonials/requests/:id/stop.json
Zatrzymaj prośbę
testimonial_requests_stop
Od razu anuluje każdy jeszcze niewysłany e-mail. Nic już wysłanego nie jest naruszane, a testimonial_requests_resume kontynuuje od miejsca zatrzymania.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/requests/:id/stop.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
PATCH
/sites/:site_id/testimonials/requests/:id.json
Zmień nazwę, formularz lub e-mail prośby
testimonial_requests_update
Dozwolone w każdej chwili. Zmiana dotyczy każdego e-maila jeszcze niewysłanego. Zmiana opóźnienia przypomnienia przesuwa w czasie oczekujące przypomnienia.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/requests/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Prośby o usunięcie
POST
/sites/:site_id/testimonials/removal_requests/:id/dismiss.json
Odrzuć prośbę o usunięcie
testimonial_removal_requests_dismiss
Zamyka prośbę z notatką i zostawia opinię tam, gdzie jest pokazywana. Nic nie jest usuwane i nie jest wysyłany e-mail do osoby, która prosiła. Notatka jest wymagana. Prośba już rozstrzygnięta odpowiada 422.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/removal_requests/:id/dismiss.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/removal_requests.json
Wyświetl prośby o usunięcie witryny
testimonial_removal_requests_list
Otwarte prośby, chyba że poproszono o inny status. E-mail wpisany przez autora jest zwracany tylko wywołującemu, który może zmieniać treści.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/removal_requests.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/testimonials/removal_requests/:id/resolve.json
Zdecyduj o prośbie o usunięcie
testimonial_removal_requests_resolve
trash przenosi opinię do kosza, co od razu zdejmuje ją z każdej wtyczki, ściany i strony publicznej i można to cofnąć przez 30 dni. dismiss zostawia ją widoczną i wymaga notatki.
Uprawnienie: content.write
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/removal_requests/:id/resolve.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/removal_requests/:id.json
Pobierz jedną prośbę o usunięcie
testimonial_removal_requests_get
Jedna prośba z opinią, której dotyczy, notatką pozostawioną przez osobę, informacją, czy wpisany przez nią e-mail zgadza się z e-mailem na opinii, ile razy prosiła, oraz decyzją, gdy już jest. Sam e-mail jest zwracany tylko wywołującemu z content.write.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/removal_requests/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
Prośby o własną domenę dla opinii
POST
/sites/:site_id/testimonials/settings/custom_domain.json
Poproś o własną domenę dla ściany lub formularzy
testimonial_custom_domain_requests_create
Własne domeny dla opinii konfiguruje ręcznie zespół Privatus Analytics. To zapisuje prośbę i powiadamia zespół, który wysyła e-mailem rekord DNS do dodania. Nazwa hosta nie działa, dopóki status prośby nie jest active. Business i wyższe: inne plany dostają 402 plan_limit.
Uprawnienie: sites.manage
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/settings/custom_domain.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/testimonials/settings/custom_domain.json
Wycofaj prośbę o własną domenę, według jej nazwy hosta
testimonial_custom_domain_requests_delete
Wycofać można tylko prośbę, której zespół jeszcze nie zaczął realizować (status requested). Prośba w toku odpowiada wrong_state. Przez MCP narzędzie niczego nie zmienia i odpowiada stroną aplikacji, na której robi to człowiek.
Uprawnienie: sites.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/testimonials/settings/custom_domain.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/settings/custom_domain.json
Wyświetl prośby o własną domenę witryny
testimonial_custom_domain_requests_list
Każda prośba o nazwę hosta dla ściany lub formularzy, od najnowszej, z jej statusem. Nazwa hosta działa dopiero, gdy status to active. Działa w każdym planie, więc wcześniejsze prośby można nadal czytać.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/settings/custom_domain.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
Prywatne uwagi
GET
/sites/:site_id/testimonials/forms/:form_id/feedback.json
Wyświetl prywatne uwagi z formularza, od najnowszej
testimonial_feedback_list
Prywatna uwaga to odpowiedź z oceną od 1 do 3 w formularzu z włączonym routingiem niskich ocen (Business i wyższe). Nigdy nie jest opinią, nigdy publiczna i nigdy niezliczana.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/forms/:form_id/feedback.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/testimonials/forms/:form_id/feedback/:id/mark_read.json
Oznacz prywatną uwagę jako przeczytaną albo ponownie jako nieprzeczytaną
testimonial_feedback_mark_read
Ustawia read_at na jednej prywatnej uwadze albo czyści je przy read false. Oznaczenie uwagi już przeczytanej zachowuje czas pierwszego odczytu. Nic nie jest wysyłane do osoby, która ją napisała.
Uprawnienie: analytics.read
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/forms/:form_id/feedback/:id/mark_read.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/forms/:form_id/feedback/:id.json
Pobierz jedną prywatną uwagę
testimonial_feedback_get
Zwraca ocenę, tekst, imię podane przez osobę i kiedy została przeczytana. Prywatna uwaga to odpowiedź z niską oceną w formularzu z włączonym routingiem niskich ocen. Nigdy nie jest opinią i nigdy publiczna.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/forms/:form_id/feedback/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
Przebiegi importu opinii
GET
/sites/:site_id/testimonials/imports/sources/:import_source_id/runs.json
Wyświetl przebiegi źródła, od najnowszego
testimonial_import_runs_list
Każdy przebieg ma swój numer, to, co go rozpoczęło, status, odczytane strony oraz ile opinii znalazł, ile było nowych, duplikatów, nieudanych i zachowanych, a także czasy rozpoczęcia i zakończenia.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/imports/sources/:import_source_id/runs.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
Przestrzenie robocze
GET
/workspaces/:workspace_id/white_label.json
Pobierz markę white label
white_label_get
Zwraca branding white label przestrzeni roboczej. Pola to workspace_id (ws_...), brand_name, brand_logo_url i brand_color (kolor hex, taki jak #06755b), każde null, gdy nieustawione, hide_branding, available (true, gdy plan zawiera white label, czyli Business i wyżej) oraz active (true, gdy branding jest ustawiony i obowiązuje). Branding zastępuje Privatus Analytics na udostępnianych pulpitach, osadzeniach, stronach statusu i raportach e-mail. Wymaga workspace.manage.
Uprawnienie: workspace.manage
curl https://privatusanalytics.com/workspaces/:workspace_id/white_label.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/workspaces/:workspace_id/white_label.json
Ustaw markę white label dla udostępnionych pulpitów i raportów e-mail (Business)
white_label_update
Ustawia branding white label przestrzeni roboczej. Tylko plan Business, w przeciwnym razie kończy się błędem planu. Zmieniają się tylko przesłane dane wejściowe, a pusty ciąg czyści brand_name, brand_logo_url lub brand_color. brand_logo_url musi być adresem https do obrazu, a brand_color kolorem hex, takim jak #06755b. hide_branding true usuwa link Privatus Analytics z udostępnianych pulpitów, osadzeń i stron statusu oraz logo z raportów e-mail. Zmiana obowiązuje od razu dla istniejących linków do udostępniania. Wymaga workspace.manage. Zwraca branding (zobacz white_label_get).
Uprawnienie: workspace.manage
curl -X PATCH https://privatusanalytics.com/workspaces/:workspace_id/white_label.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/workspaces/:workspace_id/security.json
Pobierz ustawienia bezpieczeństwa przestrzeni roboczej
workspace_security_get
Zwraca politykę bezpieczeństwa przestrzeni roboczej. Pola to workspace_id (ws_...), enforce_2fa (członkowie muszą używać uwierzytelniania dwuskładnikowego), login_methods (dozwolone spośród password, magic_link, passkey, google, github i sso), session_ttl_hours (wylogowanie po tylu godzinach, null dla braku limitu), app_ip_allowlist (adresy IP lub zakresy CIDR, które mogą używać aplikacji i API, puste oznacza z dowolnego miejsca) i support_access_until (czas ISO 8601, do którego wsparcie Privatus Analytics może przeglądać przestrzeń roboczą, null, gdy nie przyznano dostępu). Wymaga workspace.manage.
Uprawnienie: workspace.manage
curl https://privatusanalytics.com/workspaces/:workspace_id/security.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/workspaces/:workspace_id/security.json
Zaktualizuj ustawienia bezpieczeństwa przestrzeni roboczej (2FA, metody logowania, czas trwania sesji, lista dozwolonych IP, dostęp wsparcia)
workspace_security_update
Zmienia politykę bezpieczeństwa przestrzeni roboczej, tylko przesłane dane wejściowe. enforce_2fa true wymaga od każdego członka uwierzytelniania dwuskładnikowego i wymaga planu Business. login_methods zastępuje listę dozwolonych wartościami z password, magic_link, passkey, google, github i sso, a usunięcie metody wylogowuje zapamiętane logowania członków, więc muszą zalogować się ponownie. session_ttl_hours wylogowuje członków po tylu godzinach (0 usuwa limit). app_ip_allowlist zastępuje listę adresów IP lub zakresów CIDR, które mogą docierać do aplikacji i API (plan Business, pusta lista oznacza z dowolnego miejsca) i jest odrzucana, jeśli wykluczyłaby adres IP wywołującego, więc nie możesz sam się zablokować. support_access true pozwala wsparciu Privatus Analytics przeglądać przestrzeń roboczą przez 7 dni, a false wycofuje ten dostęp. Wymaga workspace.manage. Zwraca politykę (zobacz workspace_security_get).
Uprawnienie: workspace.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X PATCH https://privatusanalytics.com/workspaces/:workspace_id/security.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/workspaces.json
Utwórz przestrzeń roboczą (zostajesz właścicielem)
workspaces_create
Uprawnienie: member
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/workspaces.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/workspaces/:id.json
Usuń przestrzeń roboczą i wszystkie jej witryny (tylko właściciel, anuluje każdą subskrypcję)
workspaces_delete
Usuwa przestrzeń roboczą wraz ze wszystkimi jej witrynami. To miękkie usunięcie, wszystko znika od razu i jest trwale czyszczone po 7 dniach, więc traktuj to jako nieodwracalne. Może to zrobić tylko właściciel, a confirm musi być dokładną nazwą przestrzeni roboczej (z rozróżnieniem wielkości liter). Aktywna płatna subskrypcja jest najpierw anulowana natychmiast, a jeśli to anulowanie się nie powiedzie, nic nie zostaje usunięte. Oczekujące przeniesienia witryn z przestrzeni roboczej są anulowane. Członkowie tracą dostęp. Użyj workspaces_get, aby odczytać nazwę. Wymaga workspace.manage i roli owner. Zwraca przestrzeń roboczą.
Uprawnienie: workspace.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/workspaces/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/workspaces.json
Wyświetl swoje przestrzenie robocze
workspaces_list
Wyświetla przestrzenie robocze, do których należy wywołujący, uporządkowane według nazwy. Token API lub połączenie MCP widzi tylko tę jedną przestrzeń roboczą, dla której zostało wydane. Każdy element ma id (ws_..., używane jako workspace_id przez większość narzędzi), name, timezone, currency, plan, plan_events, subscription_status i role (rola wywołującego). Następnie wywołaj sites_list z identyfikatorem przestrzeni roboczej, aby znaleźć identyfikatory witryn. Tworzenie przestrzeni roboczej jest możliwe tylko w aplikacji.
Uprawnienie: member
curl https://privatusanalytics.com/workspaces.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/workspaces/:id.json
Pobierz przestrzeń roboczą
workspaces_get
Zwraca jedną przestrzeń roboczą według jej publicznego id (ws_..., z workspaces_list). Pola to id, name, timezone (nazwa IANA), currency (ISO 4217), plan (free, pro, business lub enterprise), plan_events (miesięczny limit zdarzeń planu), subscription_status (none, trialing, active, past_due, paused lub canceled), role (rola wywołującego w niej) i created_at. Użyj billing_get dla pełnych szczegółów rozliczeń i billing_usage dla zużycia w tym miesiącu. Może to odczytać każdy członek.
Uprawnienie: member
curl https://privatusanalytics.com/workspaces/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/workspaces/:id.json
Zaktualizuj ustawienia przestrzeni roboczej
workspaces_update
Zmienia nazwę przestrzeni roboczej, domyślną strefę czasową lub domyślną walutę, tylko przesłane dane wejściowe. timezone to nazwa IANA, taka jak Europe/Berlin, a currency to 3-literowy kod ISO 4217. To wartości domyślne dla nowych witryn, nie zmieniają istniejących witryn (do nich użyj sites_update). Wymaga workspace.manage. Zwraca przestrzeń roboczą (zobacz workspaces_get).
Uprawnienie: workspace.manage
curl -X PATCH https://privatusanalytics.com/workspaces/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Pulpity
GET
/workspaces/:workspace_id/dashboards/:id/cards/:index.json
Dane jednej karty pulpitu niestandardowego
dashboards_card
Zwraca dane na żywo jednej karty pulpitu niestandardowego. Pulpity są listami kart (listę kart zobacz w dashboards_get), a każda karta ładuje się osobno, więc wywołaj to raz na kartę z jej pozycją w index, liczoną od 0. Zwraca index, type, title, site_id, site_name, params, status i data. status to ok, not_available (karta nie ma nic do pokazania, na przykład karta lejka w witrynie bez lejków lub karta uptime bez kontroli) lub no_access (karta należy do witryny, której Twój token lub rola nie mogą otworzyć, wtedy title, params i data są puste). Kształt data zależy od type. metric daje {metric, value, previous, change, period} w porównaniu z poprzednim okresem. chart daje {metric, interval, period, series: [{date, value}]}. breakdown daje {dimension, label, rows}. goal daje {rows} realizacji celów. live daje {visitors}. funnel daje {funnel_id, name, overall_conversion_rate, steps}. uptime daje {checks: [{name, status, uptime}]}. vitals daje {scorecard}. subscriptions daje {currency, mrr_minor, previous_mrr_minor (30 dni temu), change (procent, null bez MRR sprzed 30 dni), active_subscriptions, subscription_churn_rate (ostatnie 30 dni)} i jest not_available, dopóki witryna nie ma połączonego dostawcy płatności. Parametry karty domyślnie to period 30d, metric visitors, dimension page i 5 wierszy (limit jest ograniczony do 10). Index spoza listy zwraca 404. Najpierw użyj dashboards_get, aby zobaczyć, ile jest kart.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/workspaces/:workspace_id/dashboards/:id/cards/:index.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/workspaces/:workspace_id/dashboards.json
Utwórz pulpit niestandardowy
dashboards_create
Tworzy pulpit niestandardowy w przestrzeni roboczej. Pulpit niestandardowy to nazwana, uporządkowana lista do 40 kart, a karty mogą pochodzić z różnych witryn przestrzeni roboczej. Przekaż name (do 100 znaków) i cards, listę obiektów z type (metric, chart, breakdown, goal, live, funnel, uptime, vitals lub subscriptions), site_id (pa_..., z sites_list) oraz opcjonalnie title (do 80 znaków) i params. Używane parametry zależą od typu: metric (period, metric), chart (period, metric, interval), breakdown (period, dimension, limit), goal (period, limit), funnel (period, funnel_id), uptime (limit) i vitals (period). live i subscriptions nie przyjmują żadnych. Pozostałe parametry są odrzucane. Okres musi być ustawieniem predefiniowanym, takim jak 30d (nie custom), a metric jedną z visitors, visits, pageviews, views_per_visit, bounce_rate lub visit_duration. Każda karta musi wskazywać witrynę dostępną dla Twojego tokena, a token ograniczony do niektórych witryn musi zawierać co najmniej jedną kartę. Zwraca pulpit z id (dash_...), name, cards i znacznikami czasu. Odczytaj go przez dashboards_get i załaduj liczby każdej karty przez dashboards_card. Wymaga uprawnienia content.write. Plan określa, ile pulpitów ma przestrzeń robocza: 1 w Free, 3 w Pro, bez limitu w Business. Jeden ponad limit jest odrzucany błędem walidacji.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/dashboards.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/workspaces/:workspace_id/dashboards/:id.json
Usuń pulpit niestandardowy
dashboards_delete
Trwale usuwa pulpit niestandardowy. Usuwany jest tylko układ pulpitu, żadne dane analityczne nie są dotykane i nie ma cofania. Potrzebujesz dostępu do każdej witryny, która ma kartę na pulpicie, a pulpit musi mieć co najmniej jedną kartę witryny, do której masz dostęp. Zwraca usunięty pulpit. Użyj zamiast tego dashboards_update, aby zmienić pulpit. Identyfikatory (dash_...) pochodzą z dashboards_list. Wymaga uprawnienia content.write.
Uprawnienie: content.write
curl -X DELETE https://privatusanalytics.com/workspaces/:workspace_id/dashboards/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/workspaces/:workspace_id/dashboards.json
Wyświetl pulpity niestandardowe
dashboards_list
Wyświetla pulpity niestandardowe przestrzeni roboczej, uporządkowane według nazwy. Każdy element ma id (dash_...), name, cards i znaczniki czasu, w tym samym kształcie co dashboards_get. Token ograniczony do niektórych witryn widzi tylko pulpity zawierające kartę jednej z jego witryn, a karty innych witryn są zaciemniane do {type, status: no_access}. Stronicowane przez page i per_page (maks. 100). Użyj dashboards_card, aby załadować dane karty, i dashboards_create, aby dodać pulpit. Dla pojedynczej witryny stats_overview daje ten sam rodzaj liczb bez pulpitu.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/workspaces/:workspace_id/dashboards.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/workspaces/:workspace_id/dashboards/:id.json
Pobierz pulpit niestandardowy i jego karty
dashboards_get
Zwraca jeden pulpit niestandardowy: id (dash_...), name, cards oraz created_at i updated_at. Każda karta to {type, site_id, title, params} (type to metric, chart, breakdown, goal, live, funnel, uptime, vitals lub subscriptions). Karta w witrynie, do której nie masz dostępu, jest zwracana jako {type, status: no_access} bez innych pól. Zwraca tylko układ, a nie liczby. Liczby karty załaduj przez dashboards_card, używając pozycji karty liczonej od 0. Identyfikatory pochodzą z dashboards_list. Pulpit ponad limit planu (1 w Free, 3 w Pro) jest zachowywany i zablokowany: odpowiada 402 plan_limit, dopóki przestrzeń robocza nie zmieni planu lub nie usunie innego.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/workspaces/:workspace_id/dashboards/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/workspaces/:workspace_id/dashboards/:id.json
Zmień nazwę pulpitu niestandardowego lub zastąp jego karty
dashboards_update
Zmienia nazwę pulpitu niestandardowego i/lub zastępuje całą listę jego kart. Zmieniają się tylko przesłane pola, a name jest pozostawiane bez zmian, gdy jest puste. Przesłanie cards zastępuje każdą kartę, więc wyślij pełną listę w żądanej kolejności, pobraną z dashboards_get i zmodyfikowaną. Format karty i parametry dla każdego typu są takie same jak w dashboards_create (maks. 40 kart). Karta pokazana jako {type, status: no_access} należy do witryny, której nie możesz otworzyć. Wyślij ją z powrotem bez zmian, aby ją zachować, nie można jej edytować, a ostatniej karty takiej witryny nie można usunąć. Token ograniczony do niektórych witryn nie może zostawić pulpitu pustego. Zwraca zaktualizowany pulpit. Wymaga uprawnienia content.write.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/workspaces/:workspace_id/dashboards/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Raport dla sponsora
GET
/sponsor/:token.json
Raport dla sponsora, według tokenu jego linku
ad_reports_get
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl https://privatusanalytics.com/sponsor/:token.json
Raporty dla sponsorów
POST
/sites/:site_id/experiments/ads/:ad_placement_id/reports.json
Utwórz link do raportu dla sponsora danego miejsca
ad_report_links_create
Link tylko do odczytu z liczbami miejsca, dla wszystkich jego kreacji albo tych z creative_ids, dla kogoś bez konta. Przez MCP członek dostaje e-mail o utworzeniu linku. Pro i wyżej. Wymaga content.write. Zwraca link wraz z url.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/experiments/ads/:ad_placement_id/reports.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/experiments/ads/:ad_placement_id/reports/:id.json
Usuń link do raportu dla sponsora
ad_report_links_delete
Adres przestaje działać od razu. Narzędzie MCP tego nie wykonuje i odpowiada human_only wraz ze stroną, na której usuwa to człowiek. Wymaga content.write.
Uprawnienie: content.write
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/experiments/ads/:ad_placement_id/reports/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/experiments/ads/:ad_placement_id/reports.json
Wyświetl linki do raportów dla sponsorów danego miejsca
ad_report_links_list
Linki wraz z adresem i datą wygaśnięcia. Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/experiments/ads/:ad_placement_id/reports.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
Raporty e-mail
DELETE
/recipients/:id.json
Usuń odbiorcę z raportu e-mail
email_report_recipients_delete
Usuwa jeden adres z raportu e-mail (id odbiorcy, z email_report_recipients_list). Adres przestaje otrzymywać raporty, a jego wiersz jest usuwany. Jeśli adres sam się wypisał, rezygnacja pozostaje w zapisie, więc jego usunięcie nie pozwala nikomu zaprosić go ponownie. Aby zmienić wiele adresów naraz, wyślij pełną listę przez email_reports_update. Zwraca usuniętego odbiorcę.
Uprawnienie: content.write
curl -X DELETE https://privatusanalytics.com/recipients/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/reports/:report_id/recipients.json
Wyświetl odbiorców raportu e-mail wraz z ich statusem
email_report_recipients_list
Statusy: active (otrzymuje raporty), pending (zaproszony, jeszcze nie zaakceptował), declined lub unsubscribed. Adresy dodasz lub usuniesz na liście odbiorców raportu.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/reports/:report_id/recipients.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/recipients/:id/resend.json
Wyślij ponownie oczekujące zaproszenie do raportu
email_report_recipients_resend
Wysyła zaproszenie ponownie, z nowymi linkami. Dozwolone raz na 7 dni dla danego adresu i raportu.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/recipients/:id/resend.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/workspaces/:workspace_id/reports.json
Utwórz raport e-mail
email_reports_create
Tworzy zaplanowany raport analityczny wysyłany e-mailem, obejmujący jedną lub więcej witryn (ścieżka przyjmuje workspace_id). Wymagane są name i site_ids (identyfikatory pa_...). frequency to daily, weekly (domyślnie, wysyłany w dzień tygodnia) lub monthly (1. dnia miesiąca), hour to godzina doby od 0 do 23 w strefie czasowej przestrzeni roboczej (domyślnie 8), a weekday to 0 dla niedzieli do 6 dla soboty (domyślnie 1, używane tylko przez raporty tygodniowe). blocks wybiera treść spośród kpis, chart, pages, sources, goals, campaigns, vitals, uptime, testimonials i subscriptions (domyślnie kpis, chart, pages, sources, goals, testimonials, subscriptions). subscriptions pokazuje MRR i to, co go zmieniło w okresie, dla witryny z połączonym dostawcą płatności. recipients to lista adresów e-mail (do 50). Członkowie przestrzeni roboczej są aktywni od razu, każdy inny adres ma status pending i dostaje e-mail z zaproszeniem, a raporty otrzymuje dopiero po jego przyjęciu. Adresy, które zrezygnowały, są odrzucane. Jeśli pominięto recipients, dodawany jest wywołujący użytkownik. Włączony raport wymaga co najmniej jednego odbiorcy. Plan Free pozwala na 3 raporty, plany płatne bez limitu. Zwraca raport z next_run_at. Użyj email_reports_send_test, aby go podejrzeć.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/reports.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/reports/:id/deliveries.json
Dziennik dostarczeń raportu e-mail
email_reports_deliveries
Wyświetla dziennik wysyłek jednego raportu e-mail, od najnowszych, ze stronicowaniem. Każdy wpis ma status (sent dla zaplanowanej wysyłki, test, failed lub skipped), recipients_count, error (powód niepowodzenia, w przeciwnym razie null) i sent_at. Filtruj przez status. Użyj go, aby potwierdzić, że zaplanowany raport wyszedł, lub zobaczyć, dlaczego się nie powiódł. Użyj email_reports_send_test, aby wywołać e-mail testowy.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/reports/:id/deliveries.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
DELETE
/reports/:id.json
Usuń raport e-mail
email_reports_delete
Trwale usuwa raport e-mail wraz z jego odbiorcami i dziennikiem dostarczeń. Tej operacji nie można cofnąć i żadne dalsze e-maile nie są wysyłane. Aby przestać wysyłać, ale zachować raport, użyj email_reports_update z enabled false. Id (rep_...) pochodzi z email_reports_list. Zwraca usunięty raport.
Uprawnienie: content.write
curl -X DELETE https://privatusanalytics.com/reports/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/workspaces/:workspace_id/reports.json
Wyświetl raporty e-mail
email_reports_list
Wyświetla zaplanowane raporty e-mail przestrzeni roboczej (ścieżka przyjmuje workspace_id), posortowane według nazwy, ze stronicowaniem. Każdy raport ma id (rep_...), name, site_ids, frequency, hour, weekday, recipients (każdy adres w raporcie), recipient_details (dla każdego id, email, status, invited_at, expires_at, confirmed_at), blocks, attach_pdf, intro, enabled, last_sent_at, next_run_at i created_at. Filtruj przez frequency (daily, weekly lub monthly). Wywołujący ograniczony do niektórych witryn widzi tylko raporty, których wszystkie witryny są jego. Raporty faktycznie otrzymują tylko odbiorcy ze statusem active. Użyj email_reports_deliveries dla dziennika wysyłek.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/workspaces/:workspace_id/reports.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/reports/:id/send_test.json
Wyślij raport e-mail teraz jako test
email_reports_send_test
Wysyła raport na jeden adres od razu jako test, bez zmiany jego harmonogramu ani last_sent_at. Wysyła prawdziwy e-mail, więc używaj tego tylko wtedy, gdy użytkownik tego chce. recipient domyślnie to wywołujący użytkownik i może być tylko wywołujący, inny członek przestrzeni roboczej lub aktywny odbiorca raportu. Dla każdego innego adresu test trafia do wywołującego. Wysyłki testowe mają limit częstotliwości na przestrzeń roboczą i na adres z zewnątrz, a odrzucona wysyłka zwraca błąd limitu. Zwraca dostarczenie ze status (test lub failed z powodem w error), recipients_count i sent_at. Użyj email_reports_deliveries dla pełnego dziennika.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/reports/:id/send_test.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/reports/:id.json
Pobierz raport e-mail
email_reports_get
Zwraca jeden raport e-mail według id (rep_..., z email_reports_list). Odpowiedź ma name, site_ids, frequency, hour, weekday, recipients, recipient_details z każdym adresem i jego statusem zgody, blocks, attach_pdf, intro, enabled, last_sent_at i next_run_at (znaczniki czasu UTC). recipients wylicza każdy adres, także oczekujące, a raporty otrzymują tylko adresy ze statusem active w recipient_details. Użyj email_reports_deliveries, aby zobaczyć, co wysłano.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/reports/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/reports/:id.json
Zaktualizuj raport e-mail
email_reports_update
Zmienia raport e-mail (id z email_reports_list). Zmieniają się tylko przesłane dane wejściowe. Przesłanie recipients zastępuje całą listę. Adresy, które pominiesz, są usuwane, nowe podlegają tym samym regułom zgody co w email_reports_create (członkowie są aktywni od razu, pozostali dostają e-mail z zaproszeniem), a adresy już obecne w raporcie zachowują swój status. Zmiana frequency, hour, weekday lub enabled przelicza next_run_at. Ustaw enabled false, aby wstrzymać. Użyj email_report_recipients_list, aby zobaczyć status zgody, oraz email_report_recipients_resend lub email_report_recipients_delete do zarządzania pojedynczymi adresami.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/reports/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/reports/invites/:token/accept.json
Zaakceptuj zaproszenie do raportu
report_invites_accept
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/reports/invites/:token/accept.json \
-H "Content-Type: application/json" -d '{…}'
POST
/reports/invites/:token/decline.json
Odrzuć zaproszenie do raportu
report_invites_decline
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/reports/invites/:token/decline.json \
-H "Content-Type: application/json" -d '{…}'
POST
/reports/resubscribe/:token.json
Otrzymuj raporty ponownie po wcześniejszej rezygnacji
report_resubscribes_confirm
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/reports/resubscribe/:token.json \
-H "Content-Type: application/json" -d '{…}'
POST
/reports/unsubscribe/:token/resubscribe.json
Wyślij na adres link do ponownego otrzymywania raportów
report_resubscribes_create
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/reports/unsubscribe/:token/resubscribe.json \
-H "Content-Type: application/json" -d '{…}'
POST
/reports/unsubscribe/:token.json
Wypisz adres z raportu e-mail
report_unsubscribes_create
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/reports/unsubscribe/:token.json \
-H "Content-Type: application/json" -d '{…}'
Reguły kanałów
POST
/sites/:site_id/channel_rules.json
Dodaj regułę kanału
channel_rules_create
Dodaje niestandardową regułę kanału na końcu listy, więc działa po wszystkich istniejących regułach, a wbudowana taksonomia obowiązuje tylko wtedy, gdy żadna reguła nie pasuje. channel to nazwa do przypisania (do 32 znaków, np. Partners). conditions to niepusta lista obiektów z field (referrer_host, utm_source, utm_medium, utm_campaign, ref lub path), operator (is, contains, starts_with lub regex) i value. Aby reguła obowiązywała, wszystkie warunki muszą pasować, a dopasowanie nie rozróżnia wielkości liter. Warunek z pustą wartością jest pomijany, a reguła bez żadnych warunków jest odrzucana. Wyrażenie regex, które się nie kompiluje, jest odrzucane. Reguła obowiązuje dla nowych wizyt w ciągu kilku minut i nie zmienia historii. Użyj channel_rules_move do zmiany kolejności i channel_rules_preview do jej przetestowania. Wymaga sites.manage.
Uprawnienie: sites.manage
curl -X POST https://privatusanalytics.com/sites/:site_id/channel_rules.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/channel_rules/:id.json
Usuń regułę kanału
channel_rules_delete
Usuwa niestandardową regułę kanału, znalezioną po jej id z channel_rules_list. Wizyty, które już sklasyfikowała, zachowują swój kanał, a nowe wizyty przechodzą do następnej pasującej reguły lub wbudowanej taksonomii. Pozostałe reguły zachowują kolejność. Zwraca usuniętą regułę. Wymaga sites.manage.
Uprawnienie: sites.manage
curl -X DELETE https://privatusanalytics.com/sites/:site_id/channel_rules/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/channel_rules.json
Wyświetl reguły kanałów w kolejności
channel_rules_list
Wyświetla niestandardowe reguły kanałów witryny w kolejności oceniania (pozycja 1 pierwsza). Reguły są wykonywane od góry do dołu dla każdej nowej wizyty, a pierwsza reguła, której wszystkie warunki pasują, decyduje o kanale. Wizyta, która nie pasuje do żadnej reguły, dostaje wbudowany kanał (direct, organic_search, paid_search, email i tak dalej). Każda reguła ma id (UUID), channel (nazwa, którą przypisuje), position (od 1), conditions (lista obiektów field, operator i value, z których wszystkie muszą pasować) i created_at. Reguły wpływają tylko na wizyty zapisane po jej utworzeniu i nigdy nie przepisują starych danych. Użyj channel_rules_preview, aby przetestować przykładową wizytę. Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/channel_rules.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/channel_rules/:id/move.json
Przesuń regułę kanału w górę lub w dół
channel_rules_move
Przesuwa regułę kanału w kolejności oceniania, ponieważ wygrywa pierwsza pasująca reguła, a kolejność decyduje, jaki kanał dostanie wizyta. direction to up lub down (o jedno miejsce) albo top lub bottom (na końce). Reguła już na brzegu pozostaje na miejscu bez błędu. Pozycje są numerowane od nowa od 1 do n, a zaktualizowana reguła jest zwracana z nową pozycją. Najpierw użyj channel_rules_list, aby zobaczyć bieżącą kolejność. Wymaga sites.manage.
Uprawnienie: sites.manage
curl -X PATCH https://privatusanalytics.com/sites/:site_id/channel_rules/:id/move.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/channel_rules/preview.json
Podgląd kanału dla przykładowego źródła odwołania i znaczników UTM
channel_rules_preview
Próbny przebieg, który mówi, jaki kanał dostałaby przykładowa wizyta przy obecnych regułach witryny. Nic nie jest zapisywane. Wyślij dowolne z referrer (adres URL lub sam host, prefiksy www i m są ignorowane), utm_source, utm_medium, utm_campaign, ref, path (ścieżka wejścia, taka jak /pricing) i paid_click (true, jeśli adres URL zawierał identyfikator kliknięcia, taki jak gclid). Wynik ma channel (nazwa zwycięskiego kanału), custom_rule (true, gdy zdecydowała o tym reguła niestandardowa, false, gdy wbudowana taksonomia) i referrer_host (oczyszczony host użyty do dopasowania). Źródło odesłania z własnych domen witryny liczy się jako wewnętrzne. Użyj tego po channel_rules_create lub channel_rules_move, aby potwierdzić efekt. Wymaga analytics.read.
Uprawnienie: analytics.read
curl -X POST https://privatusanalytics.com/sites/:site_id/channel_rules/preview.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
PATCH
/sites/:site_id/channel_rules/:id.json
Zmień regułę kanału
channel_rules_update
Zmienia niestandardową regułę kanału, znalezioną po jej id z channel_rules_list. Wyślij channel, aby zmienić nazwę przypisywanego kanału, i conditions, aby zastąpić całą listę warunków (lista jest zastępowana, a nie scalana, więc wyślij każdy warunek, który chcesz zachować). Pominięte dane wejściowe są pozostawiane bez zmian. Pola warunków, operatory i poprawność wyrażeń regex są sprawdzane tak samo jak w channel_rules_create. Zmiana dotyczy tylko nowych wizyt. Aby zmienić kolejność, użyj channel_rules_move. Wymaga sites.manage.
Uprawnienie: sites.manage
curl -X PATCH https://privatusanalytics.com/sites/:site_id/channel_rules/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Reguły ruchu
POST
/sites/:site_id/traffic_rules.json
Dodaj regułę ruchu
traffic_rules_create
Dodaje wzorzec do jednej z list blokowania lub zezwalania witryny. list to jedno z hostnames, paths, referrers, countries, ip_ranges, user_agents lub events. pattern używa * jako symbolu wieloznacznego, a dopasowanie nie rozróżnia wielkości liter, na przykład /admin/*, nazwa hosta, host źródła odesłania taki jak spam.example, dwuliterowy kod kraju (zapisywany wielkimi literami), nazwa przeglądarki z wersją główną, ponieważ user agent jest skracany (na przykład Chrome 120), lub nazwa zdarzenia niestandardowego. ip_ranges przyjmują adres IPv4 lub IPv6 albo CIDR (203.0.113.0/24), który musi być prawidłowy. Wzorzec może istnieć raz na listę, a witryna może mieć do 500 reguł. To, czy dopasowanie listy blokuje, czy zezwala, zależy od jej trybu, który domyślnie ma wartość block i zmienia się przez sites_update. Pasujące wejścia są odrzucane przy zbieraniu i nie są zapisywane, a reguła obowiązuje w ciągu kilku minut tylko dla nowych wejść. Wymaga sites.manage. Wymaga planu Pro lub wyższego (w przeciwnym razie 402 plan_limit).
Uprawnienie: sites.manage
curl -X POST https://privatusanalytics.com/sites/:site_id/traffic_rules.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/traffic_rules/:id.json
Usuń regułę ruchu
traffic_rules_delete
Usuwa regułę ruchu, znalezioną po jej id z traffic_rules_list. Wejścia, które odrzucała, są od tej chwili liczone ponownie, a wejścia już odrzucone przepadły na dobre. Zauważ, że usunięcie ostatniego wzorca listy w trybie allow sprawia, że ta lista przestaje filtrować. Zwraca usuniętą regułę. Wymaga sites.manage.
Uprawnienie: sites.manage
curl -X DELETE https://privatusanalytics.com/sites/:site_id/traffic_rules/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/traffic_rules.json
Wyświetl reguły ruchu
traffic_rules_list
Wyświetla reguły ruchu witryny, czyli listy blokowania lub zezwalania stosowane w momencie zbierania danych, aby zdecydować, które wejścia się liczą. Każda reguła ma id (UUID do aktualizacji i usuwania), list (hostnames, paths, referrers, countries, ip_ranges, user_agents lub events), pattern, label (opcjonalna notatka), mode (block lub allow, tryb całej tej listy) i created_at. W trybie block wejście pasujące do któregokolwiek wzorca listy jest odrzucane, w trybie allow odrzucane jest wejście niepasujące do żadnego, a pusta lista niczego nie filtruje. Filtruj przez list. Tryb listy nie jest tu ustawiany, ustawia się go przez sites_update z traffic_rule_modes. Użyj traffic_rules_test, aby sprawdzić przykładowe wejście. Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/traffic_rules.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/traffic_rules/test.json
Sprawdź, czy trafienie zostałoby zliczone przy bieżących regułach witryny
traffic_rules_test
Próbny przebieg, który mówi, czy przykładowe wejście zostałoby policzone przy obecnych regułach ruchu witryny. Nic nie jest zapisywane. Wyślij dowolne z url (pełny adres URL strony, sprawdzane są jego host i ścieżka), referrer (adres URL lub nazwa hosta), country (dwuliterowy kod), ip (sprawdzane względem ip_ranges, nigdy nie zapisywane), user_agent (pełny ciąg User-Agent, skracany do przeglądarki i wersji głównej) i event (nazwa zdarzenia niestandardowego). Pominięte wartości nie są sprawdzane. Wynik ma counted (true, jeśli wejście zostałoby zapisane), blocked_by (lista, która je odrzuciła, lub null), mode (block lub allow dla tej listy, lub null) i values (znormalizowane sprawdzone wartości). Reguły są czytane na żywo, więc nowa reguła jest widoczna od razu. Wymaga analytics.read. Wymaga planu Pro lub wyższego (w przeciwnym razie 402 plan_limit).
Uprawnienie: analytics.read
curl -X POST https://privatusanalytics.com/sites/:site_id/traffic_rules/test.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
PATCH
/sites/:site_id/traffic_rules/:id.json
Zmień regułę ruchu
traffic_rules_update
Zmienia wzorzec lub etykietę reguły ruchu, znalezionej po jej id z traffic_rules_list. Zmieniają się tylko przesłane dane wejściowe. Listy nie można zmienić, usuń regułę i utwórz ją ponownie, aby przenieść ją na inną listę. Wzorzec musi pozostać prawidłowy dla swojej listy (CIDR dla ip_ranges) i unikalny w jej obrębie. Wyślij pustą etykietę, aby ją wyczyścić. Dotyczy tylko nowych wejść. Wymaga sites.manage. Wymaga planu Pro lub wyższego (w przeciwnym razie 402 plan_limit).
Uprawnienie: sites.manage
curl -X PATCH https://privatusanalytics.com/sites/:site_id/traffic_rules/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Roboty indeksujące
DELETE
/sites/:site_id/crawlers/connection.json
Odłącz Cloudflare i usuń zaimportowane stamtąd wejścia crawlerów
crawlers_cloudflare_disconnect
Odłącza Cloudflare od witryny. Usuwa zapisany token API i każde wejście robota zaimportowane z Cloudflare, i nie można tego cofnąć. Wejścia pochodzące z wysłanych logów serwera pozostają. Token nadal istnieje na Twoim koncie Cloudflare, dopóki go tam nie usuniesz. Kończy się błędem, jeśli witryna nie ma połączenia. Zwraca usunięte połączenie. Wymaga sites.manage.
Uprawnienie: sites.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/crawlers/connection.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/crawlers/sync.json
Zaimportuj teraz wejścia crawlerów z Cloudflare
crawlers_cloudflare_sync
Kolejkuje natychmiastowy import z Cloudflare dla już połączonej witryny, zamiast czekać na regularny harmonogram. Wraca od razu (HTTP 202) z połączeniem, a import działa w tle. Odpytuj crawlers_report i obserwuj cloudflare.last_synced_at, aby zobaczyć, kiedy się zakończył. Kończy się błędem, jeśli witryna nie ma połączenia z Cloudflare. Wymaga sites.manage.
Uprawnienie: sites.manage
curl -X POST https://privatusanalytics.com/sites/:site_id/crawlers/sync.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/crawlers.json
Raport robotów AI: trafienia według robota w czasie, najpopularniejsze ścieżki na robota, według kategorii
crawlers_report
Raportuje, które roboty AI, wyszukiwarek i SEO pobierają witrynę, jak często i które ścieżki, na podstawie wysłanych logów serwera i importu z Cloudflare. To ruch robotów, a nie odwiedzających, więc nie pojawia się w stats_breakdown. category to ai (domyślnie), search, seo, other lub all, a crawler zawęża do jednego nazwanego bota, takiego jak GPTBot lub ClaudeBot. Wybierz zakres przez period (domyślnie 30d) lub własne from i to. Wynik ma period (from i to jako daty), category, crawler, totals (hits, odrębne ścieżki, odrębne roboty), categories (wejścia na kategorię, z pominięciem filtra category), crawlers (do 50 wierszy z crawler, category, hits, paths), series (etykiety na dzień i dzienne wejścia dla 8 najlepszych robotów), top_paths (10 najczęściej pobieranych ścieżek dla każdego z 8 najlepszych robotów), has_data (false, dopóki nie pojawią się jakiekolwiek wejścia) i cloudflare (połączenie z zone, status i last_synced_at, lub null). Wyniki są buforowane do 30 minut, z wyjątkiem chwili tuż po zmianie w Cloudflare. Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/crawlers.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
Role
POST
/workspaces/:workspace_id/roles.json
Utwórz rolę niestandardową
roles_create
Tworzy rolę niestandardową, nazwany zestaw uprawnień, który możesz nadawać członkom przez invitations_create lub members_update z role custom i id roli jako custom_role_id. Wymaga planu Business i members.manage. permissions musi zawierać co najmniej jedną nazwę z dozwolonych wartości (analytics.read, analytics.export, content.write, sites.manage, uptime.manage, members.manage, tokens.manage, billing.manage, workspace.manage), a nie możesz uwzględnić uprawnienia, którego sam nie posiadasz. Zwraca rolę (pola zobacz w roles_list).
Uprawnienie: members.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/roles.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/workspaces/:workspace_id/roles/:id.json
Usuń rolę niestandardową (nie może być używana)
roles_delete
Usuwa rolę niestandardową. Tej operacji nie można cofnąć i kończy się ona błędem, dopóki jakikolwiek członek lub oczekujące zaproszenie nadal używa tej roli, więc najpierw przenieś te osoby do innej roli przez members_update (znajdź je przez members_list). Wbudowanych ról nie można usunąć. Weź id (uuid) z roles_list. Wymaga members.manage. Zwraca usuniętą rolę.
Uprawnienie: members.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/workspaces/:workspace_id/roles/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/workspaces/:workspace_id/roles.json
Wyświetl role niestandardowe
roles_list
Wyświetla role niestandardowe przestrzeni roboczej, uporządkowane według nazwy. Role niestandardowe to funkcja planu Business, która grupuje uprawnienia pod Twoją własną nazwą, a wbudowane role (owner, admin, editor, analyst, viewer, billing) nie są tu wyświetlane. Każda rola ma id (uuid, używane jako custom_role_id w invitations_create i members_update), name, permissions (nazwy takie jak analytics.read, content.write, members.manage), members (liczba członków, którzy ją mają) i created_at. Wywołujący ograniczeni do niektórych witryn widzą tylko role w swoim zasięgu.
Uprawnienie: member
curl https://privatusanalytics.com/workspaces/:workspace_id/roles.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/workspaces/:workspace_id/roles/:id.json
Zaktualizuj rolę niestandardową
roles_update
Zmienia nazwę roli niestandardowej i/lub zastępuje całą jej listę uprawnień. Zmieniają się tylko przesłane dane wejściowe, a permissions zastępuje istniejącą listę, a nie dodaje do niej. Zmiana dotyczy od razu każdego członka i oczekującego zaproszenia z tą rolą. Możesz edytować tylko rolę, której uprawnienia w pełni posiadasz, a wywołujący ograniczony do niektórych witryn potrzebuje zasięgu nad każdą witryną jej posiadaczy. Wymaga members.manage. Weź id (uuid) z roles_list. Zwraca zaktualizowaną rolę.
Uprawnienie: members.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X PATCH https://privatusanalytics.com/workspaces/:workspace_id/roles/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Rozliczenia
POST
/workspaces/:workspace_id/billing/badge.json
Włącz lub wyłącz bonus za odznakę (plan bezpłatny)
billing_badge
Włącza lub wyłącza dla przestrzeni roboczej Free bonus za odznakę Privatus Analytics, który zwiększa miesięczny limit zdarzeń. Ustaw enabled na true, aby przystąpić. Następnie kontrola w tle szuka odznaki w witrynach przestrzeni roboczej i ją weryfikuje, co może chwilę potrwać, więc potem odczytaj billing_get i sprawdź badge.verified_at. Ustaw enabled na false, aby zrezygnować, co czyści daty kontroli i weryfikacji i usuwa bonus. Przystąpienie w przestrzeni roboczej Pro lub Business jest odrzucane, ponieważ plany płatne nie mają bonusu. Zwraca obiekt rozliczeń przestrzeni roboczej tak jak billing_get. Wymaga billing.manage.
Uprawnienie: billing.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/billing/badge.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/workspaces/:workspace_id/billing/cancel.json
Anuluj na koniec okresu rozliczeniowego
billing_cancel
Anuluje płatną subskrypcję z końcem bieżącego opłaconego okresu. Nic nie jest zwracane, a plan pozostaje aktywny do current_period_ends_at, po czym przestrzeń robocza przechodzi na plan Free. Użyj billing_resume, aby to cofnąć przed tym terminem. Kończy się błędem, gdy przestrzeń robocza nie ma subskrypcji lub anulowanie jest już zaplanowane. Opcjonalne reason (jedna z wartości enum) i comment to ankieta wyjściowa. Komentarz, jeśli podany, jest wysyłany e-mailem do zespołu Privatus Analytics jako wiadomość zwrotna od członka i nie jest zapisywany. Zwraca obiekt rozliczeń z cancel_at_period_end true. Wymaga billing.manage.
Uprawnienie: billing.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/billing/cancel.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/workspaces/:workspace_id/billing/change_plan.json
Zmień plan, poziom lub okres (z proporcjonalnym rozliczeniem)
billing_change_plan
Przenosi istniejącą subskrypcję na inny plan, poziom zdarzeń lub okres rozliczeniowy. To pobiera opłatę. Zmiana wchodzi w życie natychmiast, a Paddle rozlicza ją proporcjonalnie, więc opłata lub zwrot są od razu zastosowane do zapisanej metody płatności. Najpierw uruchom billing_preview z tymi samymi danymi wejściowymi, aby zobaczyć dokładne kwoty. Kończy się błędem, jeśli przestrzeń robocza nie ma subskrypcji (użyj do tego billing_checkout), jeśli cel to obecny plan, poziom i okres, lub jeśli nie istnieje cena dla połączenia planu i zdarzeń. Wartość events musi być jednym z poziomów z plans_list. Zwraca zaktualizowany obiekt rozliczeń. Wymaga billing.manage.
Uprawnienie: billing.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/billing/change_plan.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/workspaces/:workspace_id/billing/checkout.json
Rozpocznij płatność Paddle za plan płatny
billing_checkout
Rozpoczyna płatność Paddle dla przestrzeni roboczej, która nie ma jeszcze subskrypcji, i zwraca hostowany adres URL płatności. Nic nie jest pobierane, dopóki osoba nie dokończy płatności w przeglądarce, więc przekaż url tej osobie. Użyj zamiast tego billing_change_plan, gdy przestrzeń robocza ma już subskrypcję. Dane wejściowe to plan (pro lub business), events (poziom zdarzeń miesięcznie z plans_list) i interval (month lub year, domyślnie month). Ceny zawierają VAT lub podatek od sprzedaży. Zatwierdzony program rabatowy jest stosowany automatycznie i raportowany w discount_id. Zwraca transaction_id, url (może być null), price_id, plan, events, interval, amount (pełne USD za okres), client_token i environment (sandbox lub production, używane przez nakładkę Paddle), custom_data i discount_id (może być null). Kończy się błędem, jeśli przestrzeń robocza ma już subskrypcję. Wymaga billing.manage.
Uprawnienie: billing.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/billing/checkout.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/workspaces/:workspace_id/billing/discount.json
Złóż wniosek o zniżkę dla organizacji non-profit, edukacji lub open source
billing_discount
Składa wniosek o program rabatowy dla przestrzeni roboczej. Wysyła wniosek do przeglądu przez personel i powiadamia e-mailem zespół Privatus Analytics, sam nie przyznaje rabatu. Programy to nonprofit, education, open_source (50 procent zniżki), open_source_free (darmowy Pro do 1M zdarzeń miesięcznie) i agency (20 procent zniżki na każdą posiadaną przestrzeń roboczą). Na przestrzeń roboczą dozwolony jest tylko jeden otwarty wniosek (pending, approved lub active), a po odrzuceniu lub cofnięciu można złożyć wniosek ponownie. license jest zachowywane tylko dla dwóch programów open source. Zwraca wniosek z program, status, percent, comp_events (może być null), organization_name, website, proof_url, license, note, rejection_reason, created_at, reviewed_at, applied_at i revoked_at (znaczniki czasu, mogą być null). Postęp sprawdzisz później w polu discount z billing_get. Wymaga billing.manage.
Uprawnienie: billing.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/billing/discount.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/workspaces/:workspace_id/billing/payment_method.json
Pobierz link do aktualizacji metody płatności
billing_payment_method
Zwraca link Paddle, pod którym osoba może zaktualizować metodę płatności subskrypcji. Samo wywołanie niczego nie zmienia. Przekaż url osobie, aby otworzyła go w przeglądarce. Wynik ma kind (payment_method) i url. Kończy się błędem, gdy przestrzeń robocza nie ma aktywnej subskrypcji. Dla faktur, adresów i wszystkich innych szczegółów rozliczeń użyj billing_portal. Wymaga billing.manage.
Uprawnienie: billing.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/billing/payment_method.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/workspaces/:workspace_id/billing/portal.json
Pobierz link do portalu klienta Paddle
billing_portal
Zwraca link do portalu klienta Paddle, w którym osoba może zobaczyć faktury, metody płatności i adresy. Samo wywołanie niczego nie zmienia. Przekaż url osobie, aby otworzyła go w przeglądarce. Wynik ma kind (portal) i url. Kończy się błędem, jeśli przestrzeń robocza nie ma jeszcze klienta Paddle (nigdy nie dokonała płatności) lub gdy klient jest współdzielony z innymi przestrzeniami roboczymi, do których wywołujący nie ma dostępu, ponieważ portal ujawnia wszystkie dane klienta. Użyj billing_payment_method tylko dla karty. Wymaga billing.manage.
Uprawnienie: billing.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/billing/portal.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/workspaces/:workspace_id/billing/preview.json
Podgląd zmiany planu z proporcjonalnym rozliczeniem
billing_preview
Pokazuje, ile kosztowałoby teraz przeniesienie subskrypcji na inny plan, poziom lub okres, bez zmieniania czegokolwiek. Zawsze uruchom go przed billing_change_plan z tymi samymi danymi wejściowymi plan, events i interval. Kończy się błędem, jeśli przestrzeń robocza nie ma subskrypcji lub cel jest równy obecnej cenie. Zwraca plan, events, interval, price_id, amount (pełne USD ceny katalogowej za okres), currency, charge_minor (co zostałoby pobrane teraz), credit_minor (zwrot za niewykorzystany czas) i result_minor (kwota netto), wszystko w jednostkach podrzędnych waluty, result_action (charge lub credit, może być null), next_billed_at (może być null) i warnings (ciągi znaków, na przykład gdy zużycie z zeszłego miesiąca przekracza nowy poziom lub gdy nowy plan naruszyłby limity, takie jak liczba witryn lub członków). Wymaga billing.manage.
Uprawnienie: billing.manage
curl https://privatusanalytics.com/workspaces/:workspace_id/billing/preview.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/workspaces/:workspace_id/billing/resume.json
Cofnij zaplanowane anulowanie lub wznów wstrzymanie
billing_resume
Cofa zaplanowane anulowanie lub wznawia wstrzymaną subskrypcję, aby plan nadal się odnawiał. Użyj go po billing_cancel i przed current_period_ends_at. Wstrzymana subskrypcja jest wznawiana natychmiast. Kończy się błędem, gdy nie ma zaplanowanego anulowania, a subskrypcja nie jest wstrzymana. Zwraca zaktualizowany obiekt rozliczeń. Wymaga billing.manage.
Uprawnienie: billing.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/billing/resume.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/workspaces/:workspace_id/billing.json
Pobierz plan, subskrypcję i zużycie
billing_get
Zwraca plan i stan rozliczeń przestrzeni roboczej. Użyj go przed zmianą czegokolwiek w rozliczeniach oraz aby dowiedzieć się, czy subskrypcja jest aktywna, czy w trakcie anulowania. Pola obejmują workspace_id, plan (free, pro, business lub enterprise), plan_events (sprzedany poziom zdarzeń miesięcznie), allowance (liczba zdarzeń miesięcznie faktycznie dozwolona, wraz z ewentualnym bonusem za odznakę), billing_interval (month lub year, może być null), price (pełne USD za okres, może być null), subscription_status, current_period_ends_at, cancel_at_period_end (true, gdy anulowanie jest zaplanowane), canceled_at, auto_upgrade, discount (ostatni wniosek o rabat, może być null), discount_percent, billing_emails (tablica), tax_id, badge (opted_in, verified_at, checked_at i wielkość bonusu) oraz usage (ten sam obiekt, który zwraca billing_usage). Wymaga billing.manage. Faktury są w billing_invoices_list, a widok zużycia miesiąc po miesiącu to billing_usage.
Uprawnienie: billing.manage
curl https://privatusanalytics.com/workspaces/:workspace_id/billing.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/workspaces/:workspace_id/billing.json
Zaktualizuj e-maile rozliczeniowe, numer podatkowy i automatyczne przejście na wyższy plan
billing_update
Aktualizuje ustawienia rozliczeń przestrzeni roboczej. Zmieniają się tylko przesłane dane wejściowe. billing_emails to tablica do 5 dodatkowych adresów dla faktur i powiadomień o rozliczeniach, która zastępuje całą listę. tax_id jest zapisywany w przestrzeni roboczej i nie jest dodawany do faktur, więc trzeba go także wpisać podczas płatności. auto_upgrade domyślnie ma wartość false. Gdy ma wartość true, osiągnięcie miesięcznego limitu zdarzeń przenosi przestrzeń roboczą na następny poziom i pobiera różnicę zamiast wstrzymywać zbieranie danych. Włączenie tego, gdy zbieranie jest już wstrzymane z powodu limitu, natychmiast podnosi poziom, pobiera opłatę i wysyła e-mail z potwierdzeniem, a jeśli Paddle odrzuci zmianę, nic nie zostaje zapisane. Zwraca obiekt rozliczeń tak jak billing_get. Wymaga billing.manage.
Uprawnienie: billing.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X PATCH https://privatusanalytics.com/workspaces/:workspace_id/billing.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/workspaces/:workspace_id/billing/usage.json
Pobierz zużycie w tym miesiącu, prognozę i podział na witryny
billing_usage
Zwraca zużycie zdarzeń przestrzeni roboczej w jednym miesiącu. Użyj go, aby sprawdzić, jak blisko jest przestrzeń robocza twardego miesięcznego limitu. Dane wejściowe to month (dowolny dzień miesiąca, domyślnie bieżący miesiąc). Liczą się tylko odsłony i zdarzenia niestandardowe. Pola to month, events, bots (zbiorcza liczba botów, nierozliczana), allowance, percent (od 0 do 100 i więcej, jedno miejsce po przecinku), forecast i forecast_percent (prosta projekcja liniowa do końca miesiąca, null dla minionych miesięcy), days_left, status (ok, warning przy 80 procentach, over przy 100 procentach, paused lub locked), sites (dla każdej witryny site_id, domain, name, events i share w procentach, od największych), history (poprzednie miesiące jako month i events), access_locked_at, collection_paused (true, gdy nowe zdarzenia są odrzucane), pause_reason (limit lub staff, może być null), collection_paused_at i resumes_at (1. dzień następnego miesiąca, gdy wstrzymanie wynika z limitu). Wymaga billing.manage.
Uprawnienie: billing.manage
curl https://privatusanalytics.com/workspaces/:workspace_id/billing/usage.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/workspaces/:workspace_id/billing/invoices.json
Wyświetl faktury
billing_invoices_list
Wyświetla transakcje rozliczeniowe przestrzeni roboczej, od najnowszych. Każdy element ma id (użyj go z billing_invoices_get), invoice_number (może być null), status, amount_minor (liczba całkowita w jednostkach podrzędnych waluty, więc 900 oznacza 9.00), currency (kod ISO, np. USD) i billed_at (ISO 8601, może być null). Stronicowane przez page i per_page (maksimum 100). Wyświetla tylko transakcje. Aby pobrać PDF, wywołaj billing_invoices_get, a aby zaktualizować kartę, użyj billing_payment_method. Wymaga billing.manage.
Uprawnienie: billing.manage
curl https://privatusanalytics.com/workspaces/:workspace_id/billing/invoices.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/workspaces/:workspace_id/billing/invoices/:id.json
Pobierz link do PDF faktury
billing_invoices_get
Zwraca link do faktury PDF jednej rozliczonej transakcji. Id faktury weź z billing_invoices_list (pole id, identyfikator transakcji Paddle). Wynik ma kind (invoice) i url, czyli link do PDF z Paddle, więc pobierz lub udostępnij go wkrótce po wywołaniu. Kończy się błędem, jeśli id nie należy do tej przestrzeni roboczej lub Paddle nie ma dla niego faktury. Wymaga billing.manage.
Uprawnienie: billing.manage
curl https://privatusanalytics.com/workspaces/:workspace_id/billing/invoices/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
SCIM
POST
/scim/v2/Users.json
Utwórz użytkownika (provisioning)
scim_users_create
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/scim/v2/Users.json \
-H "Content-Type: application/json" -d '{…}'
DELETE
/scim/v2/Users/:id.json
Usuń użytkownika (deprovisioning)
scim_users_delete
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/scim/v2/Users/:id.json \
-H "Content-Type: application/json" -d '{…}'
GET
/scim/v2/Users.json
Wyświetl użytkowników z provisioningu
scim_users_list
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl https://privatusanalytics.com/scim/v2/Users.json
GET
/scim/v2/Users/:id.json
Pobierz użytkownika z provisioningu
scim_users_get
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl https://privatusanalytics.com/scim/v2/Users/:id.json
PATCH
/scim/v2/Users/:id.json
Zaktualizuj użytkownika (PATCH active, name)
scim_users_update
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X PATCH https://privatusanalytics.com/scim/v2/Users/:id.json \
-H "Content-Type: application/json" -d '{…}'
SSO
POST
/workspaces/:workspace_id/sso/activate.json
Aktywuj przetestowaną konfigurację SSO
sso_activate
Włącza SSO dla przestrzeni roboczej. Konfiguracja musi mieć już status tested, co następuje po udanym próbnym logowaniu (rozpoczętym ze strony ustawień SSO przestrzeni roboczej w aplikacji, wymaga logowania w przeglądarce i nie można go uruchomić stąd), lub być już active. Tylko plan Business. Po aktywacji członkowie mogą logować się przez SSO, a ustawienie enforced przez sso_update wymaga wtedy SSO przy każdym logowaniu. Kończy się błędem, gdy konfiguracja nie była testowana lub plan nie ma SSO. Wymaga workspace.manage. Zwraca konfigurację ze status active (zobacz sso_get).
Uprawnienie: workspace.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/sso/activate.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/workspaces/:workspace_id/sso/deactivate.json
Wyłącz SSO (powrót do wersji roboczej)
sso_deactivate
Wyłącza SSO, przywracając konfigurację do draft i czyszcząc enforced, więc członkowie wracają do innych metod logowania przestrzeni roboczej. Dane dostawcy są zachowywane. Ponowna aktywacja wymaga nowego próbnego logowania i sso_activate. Najpierw upewnij się, że członkowie mają inny sposób logowania. Działa w każdym planie. Wymaga workspace.manage. Zwraca konfigurację ze status draft (zobacz sso_get).
Uprawnienie: workspace.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/sso/deactivate.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/workspaces/:workspace_id/sso/scim_token.json
Wygeneruj nowy token SCIM (pokazywany raz)
sso_scim_token
Uprawnienie: workspace.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/sso/scim_token.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/workspaces/:workspace_id/sso.json
Pobierz ustawienia SSO
sso_get
Zwraca konfigurację jednokrotnego logowania (SSO) przestrzeni roboczej lub pusty szkic, gdy żadna nie istnieje. Pola to protocol (saml lub oidc), status (draft, testing, tested lub active), enforced (członkowie muszą logować się przez SSO), domains (domeny e-mail używające tego SSO), idp_sso_url i idp_entity_id dla SAML, oidc_issuer i oidc_client_id dla OIDC, default_role i jit_provisioning (tworzenie członków przy pierwszym logowaniu SSO) oraz scim_enabled. Sekrety nigdy nie są zwracane, tylko wartości boolean idp_cert_present i oidc_client_secret_present. SSO to funkcja planu Business. Wymaga workspace.manage.
Uprawnienie: workspace.manage
curl https://privatusanalytics.com/workspaces/:workspace_id/sso.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/workspaces/:workspace_id/sso.json
Utwórz lub zaktualizuj ustawienia SSO
sso_update
Tworzy lub edytuje ustawienia SSO przestrzeni roboczej. Tylko plan Business. Zmieniają się tylko przesłane dane wejściowe. Dla SAML wyślij protocol saml z idp_sso_url, idp_entity_id i idp_cert (tekst PEM). Dla OIDC wyślij protocol oidc z oidc_issuer, oidc_client_id i oidc_client_secret, które jest tylko do zapisu, a pusta wartość zachowuje istniejący sekret. domains wylicza domeny e-mail używające tego SSO. default_role to rola nadawana członkom tworzonym przez provisioning przy pierwszym logowaniu lub SCIM (nie owner ani custom) i możesz ustawić tylko rolę, którą mógłbyś sam nadać. Zmiana jakiegokolwiek szczegółu dostawcy tożsamości cofa konfigurację active lub tested do draft i wyłącza enforced, więc trzeba ją przetestować ponownie, zanim sso_activate zadziała. enforced true jest akceptowane tylko wtedy, gdy status to active. Wymaga workspace.manage. Zwraca konfigurację (zobacz sso_get).
Uprawnienie: workspace.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X PATCH https://privatusanalytics.com/workspaces/:workspace_id/sso.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Segmenty
POST
/sites/:site_id/segments.json
Zapisz filtry jako segment
segments_create
Zapisuje zestaw filtrów jako nazwany segment, który można ponownie użyć w dowolnym narzędziu stats przez segment_id. Przekaż name i filters (wszystkie warunki muszą pasować, a grupa {any: [...]} pasuje, gdy pasuje jeden z kilku, nazwy wymiarów i operatory zobacz w danych wejściowych filters). Filtry są sprawdzane, więc nieznany wymiar lub zła wartość zwraca 422 z komunikatem dla każdego wiersza. Najpierw użyj segments_preview, aby sprawdzić, co pasuje do zestawu filtrów. shared domyślnie ma wartość true i czyni segment widocznym dla każdego, kto ma dostęp do witryny, a false zachowuje go prywatnie dla Ciebie. Zwraca segment z id (seg_...), site_id, name, description, filters, summary (opis zwykłym angielskim), shared, mine i znacznikami czasu. Wymaga uprawnienia content.write.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/segments.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/segments/:id.json
Usuń segment
segments_delete
Trwale usuwa zapisany segment. Pulpity i linki, które go używają, wracają do całego ruchu. Żadne dane analityczne nie są dotykane i nie ma cofania. Zwraca usunięty segment. Identyfikatory (seg_...) pochodzą z segments_list. Wymaga uprawnienia content.write.
Uprawnienie: content.write
curl -X DELETE https://privatusanalytics.com/sites/:site_id/segments/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/segments.json
Wyświetl segmenty, których możesz użyć w witrynie
segments_list
Wyświetla zapisane segmenty witryny, uporządkowane według nazwy: współdzielone oraz Twoje własne prywatne. Każdy segment ma id (seg_...), site_id, name, description, filters, summary, shared, mine i znaczniki czasu. Przekaż id jako segment_id do dowolnego narzędzia stats (stats_aggregate, stats_breakdown, funnels_get i innych), aby zastosować filtry segmentu. Stronicowane przez standardowe parametry page. Użyj segments_create, aby dodać segment.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/segments.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/segments/preview.json
Opisz filtry zwykłym językiem i policz odwiedzających, którzy pasowali do nich w ostatnich 30 dniach
segments_preview
Sprawdza zestaw filtrów bez zapisywania czegokolwiek. Zwraca summary (filtry zwykłym angielskim), visitors (ilu odwiedzających pasowało w ostatnich 30 dniach, null, gdy filtry są nieprawidłowe), period (zawsze 30d) i filters (oczyszczona, kanoniczna postać, która byłaby zapisana). Filtry używają tego samego formatu co segments_create, w tym grup {any: [...]} i opcjonalnych rozpisanych nazw krajów, kanałów i celów, które są zamieniane na kody i identyfikatory. Nieprawidłowe filtry zwracają 422 ze wskazaniem wiersza. Użyj go, aby wypróbować filtry przed segments_create, a stats_aggregate z filters dla liczb z innego okresu.
Uprawnienie: analytics.read
curl -X POST https://privatusanalytics.com/sites/:site_id/segments/preview.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/segments/:id.json
Pobierz segment
segments_get
Zwraca jeden zapisany segment: id (seg_...), site_id, name, description, filters (zapisane warunki), summary (opis zwykłym angielskim, taki jak Visitors from the United States on mobile), shared (widoczny dla każdego z dostępem do witryny), mine (true, gdy go utworzyłeś) i znaczniki czasu. Możesz czytać segmenty współdzielone i własne prywatne. Identyfikatory pochodzą z segments_list. Aby policzyć, ilu odwiedzających pasuje do zestawu filtrów, użyj segments_preview.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/segments/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/segments/:id.json
Zmień nazwę segmentu lub jego filtry albo udostępnianie
segments_update
Zmienia nazwę segmentu, zastępuje jego filtry lub zmienia, kto może go widzieć. Zmieniają się tylko przesłane dane wejściowe. Przesłanie filters zastępuje wszystkie istniejące filtry, w tym samym formacie i z tymi samymi kontrolami co w segments_create. shared false czyni go prywatnym dla twórcy. description można wyczyścić, wysyłając je puste. Wszystko, co używa segmentu, na przykład wywołania stats z jego segment_id, zmienia się od razu. Zwraca segment. Identyfikatory pochodzą z segments_list. Wymaga uprawnienia content.write.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/sites/:site_id/segments/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Strona internetowa
GET
/blog.json
Wyświetl wpisy na blogu
blog_list
Wyświetla wpisy bloga Privatus Analytics, od najnowszego, ze slug, title, kicker, rubric (podsumowanie w jednym zdaniu), description, path i datami, bez treści. Aby przeczytać jeden, użyj blog_get z jego slug. Stronicowane przez page i per_page (maksymalnie 100). Publiczne, bez uwierzytelniania.
Uprawnienie: public
curl https://privatusanalytics.com/blog.json
GET
/blog/:slug.json
Przeczytaj wpis na blogu (Markdown i HTML)
blog_get
Zwraca jeden wpis bloga według jego slug (z blog_list, ostatnia część /blog/<slug>) z nagłówkami, treścią w Markdown i wyrenderowanym HTML. Wpisy są pisane po angielsku. Publiczne, bez uwierzytelniania.
Uprawnienie: public
curl https://privatusanalytics.com/blog/:slug.json
GET
/changelog.json
Wyświetl wpisy dziennika zmian
changelog_list
Opublikowane aktualizacje produktu, od najnowszych. Dostępne też jako RSS pod /changelog.rss.
Uprawnienie: public
curl https://privatusanalytics.com/changelog.json
POST
/contact.json
Wyślij wiadomość do zespołu Privatus Analytics
contact_create
Klienci przeglądarkowi wysyłają token Cloudflare Turnstile jako `cf-turnstile-response`. Żądania z tokenem API nie wymagają go.
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/contact.json \
-H "Content-Type: application/json" -d '{…}'
POST
/newsletter/confirm.json
Potwierdź subskrypcję newslettera (podpisany token)
newsletter_confirm
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/newsletter/confirm.json \
-H "Content-Type: application/json" -d '{…}'
POST
/newsletter.json
Zapisz adres e-mail do newslettera
newsletter_subscribe
Klienci przeglądarkowi wysyłają token Cloudflare Turnstile jako `cf-turnstile-response`. Żądania z tokenem API nie wymagają go.
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/newsletter.json \
-H "Content-Type: application/json" -d '{…}'
POST
/newsletter/unsubscribe.json
Wypisz się za pomocą podpisanego tokena z linku
newsletter_unsubscribe
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/newsletter/unsubscribe.json \
-H "Content-Type: application/json" -d '{…}'
GET
/pricing.json
Pobierz plany, ceny i limity planów
pricing_get
Te same dane co na stronie cennika: drabinka zdarzeń, każdy limit planu i to, co wlicza się jako zdarzenie. Przekaż events, aby otrzymać pasujący poziom.
Uprawnienie: public
curl https://privatusanalytics.com/pricing.json
GET
/status.json
Pobierz aktualny status systemu
status_get
Kondycja bazy danych, Redis i zadań w tle, sprawdzana najwyżej co 15 sekund.
Uprawnienie: public
curl https://privatusanalytics.com/status.json
GET
/tools/consent-gap.json
Oszacuj ruch pomijany przez analitykę opartą na zgodzie
tools_consent_gap
Darmowy kalkulator szacujący, ile ruchu pomija narzędzie analityczne ze zgodą na pliki cookie w porównaniu ze śledzeniem bez plików cookie. To prosty model, a nie pomiar. Dane wejściowe to monthly_visitors (liczba całkowita powyżej 0), consent_rate (procent odwiedzających, którzy akceptują baner, od 0 do 100) i adblock_share (procent, u którego blokery zatrzymują skrypt, od 0 do 100, domyślnie 25). Zwraca dane wejściowe oraz measured_with_consent (odwiedzający widziani przez narzędzie ze zgodą), missed (odwiedzający, których nie widzi), missed_percent (jedno miejsce po przecinku), measured_cookieless (odwiedzający osiągalni bez banera) i recovered_by_cookieless (odwiedzający zyskani względem śledzenia ze zgodą). Wszystkie liczby odwiedzających są całkowite. Nie wykonuje żadnych żądań i nie używa danych konta. Publiczne, bez uwierzytelniania.
Uprawnienie: public
curl https://privatusanalytics.com/tools/consent-gap.json
GET
/tools/header-checker.json
Sprawdź Referrer-Policy i CSP strony pod kątem analityki
tools_header_check
Pobiera jedną publiczną stronę i sprawdza nagłówki odpowiedzi, które wpływają na analitykę. Użyj go, gdy brakuje danych śledzenia lub źródła odesłań wyglądają źle. Sprawdza Referrer-Policy, dyrektywy script-src i connect-src w Content-Security-Policy (czy Privatus Analytics może się ładować i wysyłać dane), Permissions-Policy oraz liczbę nagłówków Set-Cookie. Zwraca url (końcowy adres URL po maksymalnie 3 przekierowaniach), status (status HTTP) i findings, każde z check, value (może być null), level (ok, warn lub info) i notatką w prostym języku. Adres URL musi być http lub https i publiczny, adresy prywatne i wewnętrzne są odrzucane, czytany jest tylko pierwszy 1 MB, a pobranie przekracza limit czasu po 5 sekundach. Limit 10 wywołań na minutę na klienta. Publiczne, bez uwierzytelniania.
Uprawnienie: public
curl https://privatusanalytics.com/tools/header-checker.json
GET
/tools/privacy-policy-generator.json
Przygotuj szkic akapitu polityki prywatności dla Privatus Analytics
tools_privacy_policy
Przygotowuje szkic akapitu polityki prywatności opisującego, jak Privatus Analytics zbiera dane w witrynie klienta (bez plików cookie, bez zapisywania danych osobowych, lokalizacja tylko na poziomie kraju). To punkt wyjścia, a nie porada prawna. Dane wejściowe to site_name (do 120 znaków), contact_email (opcjonalne, dodaje zdanie z kontaktem) i honors_gpc (domyślnie true, dodaje zdanie mówiące, że Do Not Track i Global Privacy Control są respektowane). Zwraca site_name, paragraphs (tablica ciągów), text (akapity połączone pustymi wierszami, z adresem Privatus Analytics w nawiasie po nazwie) i html (akapity jako elementy <p>, z nazwą jako zwykłym linkiem). Tekst jest pisany w języku żądania, domyślnie po angielsku. Nie wprowadza żadnych zmian na żadnym koncie. Publiczne, bez uwierzytelniania.
Uprawnienie: public
curl https://privatusanalytics.com/tools/privacy-policy-generator.json
GET
/tools/qr-code.json
Wygeneruj kod QR jako SVG
tools_qr_code
Generuje kod QR jako obraz SVG do druku lub plakatów. Połącz go z linkiem z parametrami UTM z tools_utm_builder. Dane wejściowe to text (adres URL lub tekst, do 1000 znaków) i level (korekcja błędów l, m, q lub h, domyślnie m, wyższy przetrwa więcej uszkodzeń, ale wymaga gęstszego kodu). Zwraca text, level, size (moduły na bok) i svg (samodzielny dokument SVG, czarny na białym). Tekst zbyt długi dla wybranego poziomu jest odrzucany. Dla kodów QR śledzonych krótkich linków użyj zamiast tego links_qr. Publiczne, bez uwierzytelniania.
Uprawnienie: public
curl https://privatusanalytics.com/tools/qr-code.json
GET
/tools/tracker-scanner.json
Wyświetl pliki cookie i znane trackery na stronie
tools_tracker_scan
Pobiera jedną publiczną stronę i wylicza pliki cookie, które ustawia, oraz znane zewnętrzne trackery, do których się odwołuje. Użyj go do szybkiego sprawdzenia, co ładuje strona, zanim wybierzesz podejście do zgody. To statyczne skanowanie samego HTML i nagłówków odpowiedzi, nie uruchamia JavaScriptu, więc pliki cookie ustawiane przez skrypty i znaczniki ładowane później przez menedżera tagów są pomijane. Zwraca url (końcowy adres URL po maksymalnie 3 przekierowaniach), status, truncated (true, gdy przeczytano tylko pierwszy 1 MB), cookies (name, domain, path, expires, secure, http_only i same_site, wartości nigdy nie są zwracane), trackers (name, category, match i evidence, gdzie category to advertising, analytics, session_recording, tag_manager, marketing lub privacy_analytics) i third_party_hosts (posortowane nazwy hostów innych witryn). Adres URL musi być publiczny, http lub https, z limitem czasu pobrania 5 sekund, a wywołania są ograniczone do 10 na minutę na klienta. Publiczne, bez uwierzytelniania.
Uprawnienie: public
curl https://privatusanalytics.com/tools/tracker-scanner.json
GET
/tools/utm-builder.json
Zbuduj adres URL kampanii z parametrami UTM
tools_utm_builder
Buduje adres URL kampanii z parametrami UTM i wskazuje typowe błędy. Dane wejściowe to url (musi być http lub https), source, medium i campaign (wszystkie wymagane) oraz opcjonalne term i content. Istniejące parametry utm_ w adresie URL są zastępowane, a pozostałe parametry zapytania zachowywane. Zwraca url (gotowy link), params (dodane wartości utm_, puste są pomijane) i warnings (ciągi znaków dla wartości z wielkimi literami, spacjami lub tekstem wyglądającym jak adres e-mail albo długa liczba, których nigdy nie powinno być w adresie URL). Używaj małych liter bez spacji, aby ta sama kampania nie rozbijała się na kilka wierszy w raportach. Niczego nie zapisuje. Publiczne, bez uwierzytelniania.
Uprawnienie: public
curl https://privatusanalytics.com/tools/utm-builder.json
POST
/waitlist.json
Dołącz do listy oczekujących (hosting w UE)
waitlist_join
Klienci przeglądarkowi wysyłają token Cloudflare Turnstile jako `cf-turnstile-response`. Żądania z tokenem API nie wymagają go.
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/waitlist.json \
-H "Content-Type: application/json" -d '{…}'
Strony statusu
GET
/status/:slug/confirm/:token.json
Potwierdź subskrypcję z linku w e-mailu
public_status_pages_confirm
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl https://privatusanalytics.com/status/:slug/confirm/:token.json
GET
/status/:slug.json
Publiczna strona statusu: aktualny status, 90-dniowe paski uptime, incydenty i wpisy
public_status_pages_get
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl https://privatusanalytics.com/status/:slug.json
POST
/status/:slug/subscribers.json
Zapisz adres e-mail (podwójne potwierdzenie)
public_status_pages_subscribe
Klienci przeglądarkowi wysyłają token Cloudflare Turnstile jako `cf-turnstile-response`. Żądania z tokenem API nie wymagają go.
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/status/:slug/subscribers.json \
-H "Content-Type: application/json" -d '{…}'
POST
/status/:slug/unsubscribe/:token.json
Wypisz się za pomocą tokena z e-maila
public_status_pages_unsubscribe
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/status/:slug/unsubscribe/:token.json \
-H "Content-Type: application/json" -d '{…}'
POST
/status_pages/:status_page_id/posts.json
Opublikuj aktualizację incydentu (wysyła e-mail do subskrybentów)
status_page_posts_create
Publikuje aktualizację incydentu na stronie statusu i domyślnie wysyła e-mailem jej potwierdzonym subskrybentom. Wybierz to, aby ogłosić lub zaktualizować incydent, a status_page_posts_update, aby posunąć istniejący incydent dalej (na przykład do resolved), zamiast tworzyć nowy wpis. Wymagane jest title (maks. 200 znaków). status to jedno z investigating (domyślnie), identified, monitoring lub resolved. body to zwykły tekst (maks. 10 000 znaków), posted_at to czas ISO 8601 domyślnie równy teraz, a notify (domyślnie true) steruje e-mailem. E-maile są wysyłane tylko dla opublikowanej strony i mają limit częstotliwości na stronę, po przekroczeniu limitu wpis nadal jest publikowany, ale nikt nie dostaje e-maila. status_page_id pochodzi z status_pages_list. Wymaga uprawnienia uptime.manage. Zwraca wpis z id (spp_...), title, body, status, posted_at i updated_at.
Uprawnienie: uptime.manage
curl -X POST https://privatusanalytics.com/status_pages/:status_page_id/posts.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/status_pages/:status_page_id/posts/:id.json
Usuń wpis strony statusu
status_page_posts_delete
Trwale usuwa wpis o incydencie ze strony statusu. Znika od razu ze strony publicznej i nie można tego cofnąć. Żaden e-mail nie jest wysyłany. Id pochodzi z status_page_posts_list. Wymaga uprawnienia uptime.manage. Zwraca usunięty wpis.
Uprawnienie: uptime.manage
curl -X DELETE https://privatusanalytics.com/status_pages/:status_page_id/posts/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/status_pages/:status_page_id/posts.json
Wyświetl wpisy strony statusu
status_page_posts_list
Wyświetla wpisy o incydentach strony statusu, od najnowszych według posted_at. Użyj go, aby znaleźć id wpisu lub zobaczyć historię incydentów. Opcjonalnie filtruj przez status (investigating, identified, monitoring lub resolved). Stronicowane przez page i per_page (do 100). Każdy wpis ma id (spp_...), title, body (null, gdy puste), status, posted_at i updated_at. status_page_id pochodzi z status_pages_list.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/status_pages/:status_page_id/posts.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/status_pages/:status_page_id/posts/:id.json
Edytuj wpis strony statusu
status_page_posts_update
Edytuje wpis o incydencie. Zmieniają się tylko przesłane dane wejściowe, więc wyślij samo status, aby rozwiązać incydent. Subskrybenci dostają e-mail tylko wtedy, gdy status faktycznie się zmienia, a notify nie ma wartości false (domyślnie true). Edycja samego tytułu lub treści nie wysyła e-maila. E-maile trafiają do potwierdzonych subskrybentów opublikowanej strony i mają limit częstotliwości na stronę. Prawidłowe wartości status to investigating, identified, monitoring i resolved. Id pochodzi z status_page_posts_list. Wymaga uprawnienia uptime.manage. Zwraca zaktualizowany wpis.
Uprawnienie: uptime.manage
curl -X PATCH https://privatusanalytics.com/status_pages/:status_page_id/posts/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/status_pages/:status_page_id/subscribers/:id.json
Usuń subskrybenta
status_page_subscribers_delete
Usuwa subskrybenta e-mail ze strony statusu, aby przestał otrzymywać e-maile o incydentach i uptime. Tej operacji nie można cofnąć, ale osoba może zapisać się ponownie na stronie publicznej. Id to identyfikator subskrybenta z status_page_subscribers_list (zwykły UUID, a nie identyfikator z prefiksem). Wymaga uprawnienia uptime.manage. Zwraca usuniętego subskrybenta.
Uprawnienie: uptime.manage
curl -X DELETE https://privatusanalytics.com/status_pages/:status_page_id/subscribers/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/status_pages/:status_page_id/subscribers.json
Wyświetl subskrybentów strony statusu
status_page_subscribers_list
Wyświetla subskrybentów e-mail strony statusu, posortowanych według adresu e-mail. Użyj confirmed true, aby zobaczyć tylko osoby, które potwierdziły adres (tylko one dostają e-maile), lub confirmed false dla oczekujących. Stronicowane przez page i per_page (do 100). Każdy element ma id (UUID, używane przez status_page_subscribers_delete), email, confirmed_at (null, dopóki oczekuje) i created_at. status_page_id pochodzi z status_pages_list. Wymaga uprawnienia uptime.manage i zwraca dane osobowe (adresy e-mail). Wymaga planu Business lub Enterprise (w przeciwnym razie 402 plan_limit).
Uprawnienie: uptime.manage
curl https://privatusanalytics.com/status_pages/:status_page_id/subscribers.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/workspaces/:workspace_id/status_pages.json
Utwórz stronę statusu
status_pages_create
Tworzy publiczną stronę statusu dla przestrzeni roboczej, która pokazuje wybrane kontrole uptime, wpisy o incydentach i zapis na e-maile. Wymagane jest name (maks. 100 znaków). slug (małe litery, cyfry i myślniki, unikalny we wszystkich przestrzeniach roboczych) domyślnie powstaje z nazwy, a strona jest dostępna pod /status/<slug>. check_ids wylicza kontrole uptime do pokazania (identyfikatory upc_... z uptime_checks_list) i akceptowane są tylko kontrole utworzone z public true. published domyślnie ma wartość true, więc strona jest od razu widoczna dla wszystkich. Opcjonalne elementy marki to description (maks. 2000 znaków), logo_url (musi być https), brand_color (hex, taki jak #06755b) i custom_domain (nazwa hosta, którą wskazujesz rekordem CNAME na aplikację, unikalna). Użyj status_page_posts_create, aby potem publikować incydenty. Wymaga uprawnienia uptime.manage. Zwraca stronę z id (sp_...), slug, check_ids i subscribers (liczba potwierdzonych subskrybentów). Plan określa, ile stron ma przestrzeń robocza: żadnej w Free (402 plan_limit), 1 w Pro i 10 w Business. custom_domain i subskrybenci e-mail wymagają planu Business lub Enterprise. Strony ponad limit planu są zachowywane i offline.
Uprawnienie: uptime.manage
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/status_pages.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/status_pages/:id.json
Usuń stronę statusu
status_pages_delete
Trwale usuwa stronę statusu wraz ze wszystkimi jej wpisami o incydentach i subskrybentami. Strona publiczna i jej domena własna przestają działać od razu i nie można tego cofnąć. Same kontrole uptime nie są usuwane. Id pochodzi z status_pages_list. Wymaga uprawnienia uptime.manage. Zwraca usuniętą stronę.
Uprawnienie: uptime.manage
curl -X DELETE https://privatusanalytics.com/status_pages/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/workspaces/:workspace_id/status_pages.json
Wyświetl strony statusu
status_pages_list
Wyświetla strony statusu przestrzeni roboczej posortowane według nazwy. Użyj query, aby dopasować część nazwy lub slug. Gdy wywołujący jest ograniczony do niektórych witryn, zwracane są tylko strony, których wszystkie kontrole należą do tych witryn. Stronicowane przez page i per_page (do 100). Każdy element ma pola opisane w status_pages_get. Wymaga workspace_id z workspaces_list.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/workspaces/:workspace_id/status_pages.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/status_pages/:id.json
Pobierz stronę statusu
status_pages_get
Zwraca jedną stronę statusu z jej ustawieniami. Pola to id (sp_...), workspace_id, name, slug, custom_domain (null, gdy brak), description, logo_url, brand_color, published, check_ids (identyfikatory kontroli uptime pokazywanych na stronie), subscribers (liczba potwierdzonych subskrybentów e-mail) i created_at. Użyj status_page_posts_list dla jej incydentów i status_page_subscribers_list dla osób. Id pochodzi z status_pages_list.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/status_pages/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/status_pages/:id.json
Zmień stronę statusu
status_pages_update
Zmienia stronę statusu. Zmieniają się tylko przesłane dane wejściowe, więc wyślij samo published false, aby wyłączyć stronę, lub check_ids, aby zastąpić pokazywane kontrole (cała lista jest zastępowana, a nie scalana). Dane wejściowe i ich limity są takie same jak w status_pages_create. Wyślij custom_domain jako pusty ciąg, aby usunąć domenę własną. Można pokazywać tylko kontrole z public true, a wywołujący ograniczony do niektórych witryn może umieszczać na stronie tylko kontrole z tych witryn. Id pochodzi z status_pages_list. Wymaga uprawnienia uptime.manage. Zwraca zaktualizowaną stronę.
Uprawnienie: uptime.manage
curl -X PATCH https://privatusanalytics.com/status_pages/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Subskrypcje
DELETE
/sites/:site_id/subscriptions/connections/:provider.json
Odłącz dostawcę płatności i usuń jego klucz oraz dane subskrypcji
subscriptions_disconnect
Odłącza dostawcę płatności (stripe, paddle, lemon_squeezy, chargebee lub polar) od witryny i trwale usuwa zapisany klucz API oraz każdy wiersz subskrypcji z niego odczytany. Tej operacji nie można cofnąć, a liczby MRR, rezygnacji i kohort od razu tracą subskrypcje tego dostawcy. Kończy się błędem, jeśli ten dostawca nie jest połączony. Zwraca usunięte połączenie. Wymaga sites.manage.
Uprawnienie: sites.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/subscriptions/connections/:provider.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/subscriptions/sync.json
Odczytaj teraz subskrypcje od dostawcy płatności
subscriptions_sync
Kolejkuje natychmiastową synchronizację subskrypcji z jednego połączonego dostawcy (stripe, paddle, lemon_squeezy, chargebee lub polar), zamiast czekać na regularny harmonogram. Wraca od razu (HTTP 202) z połączeniem, a synchronizacja działa w tle. Odpytuj subscriptions_report lub sprawdzaj last_synced_at i last_error na połączeniu. Raporty są buforowane do 15 minut. Kończy się błędem, jeśli dostawca nie jest połączony. Wymaga sites.manage.
Uprawnienie: sites.manage
curl -X POST https://privatusanalytics.com/sites/:site_id/subscriptions/sync.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/subscriptions/cohorts.json
Siatka kohort: rezygnacje lub retencja według miesiąca pierwszej płatności
subscriptions_cohorts
Siatka kohort rezygnacji dla subskrypcji witryny, jeden wiersz na miesiąc pierwszej płatności. months to 6, 12 (domyślnie) lub 24 kohorty. plan zostawia tylko subskrypcje jednego planu (zobacz plans w subscriptions_report). metric to subscriptions (liczba) lub mrr (kwota). view to churn (udział, który zakończył się do danego momentu, domyślnie) lub retention (udział nadal trwający). Zwraca metric, view, months, plan (filtr lub null), currency i cohorts, każda z month (YYYY-MM), size (subskrypcje lub MRR w jednostkach podrzędnych waluty witryny) i cells, gdzie każda komórka ma offset (miesiące od miesiąca kohorty, 0 to pierwszy), retained (ta sama jednostka co size) i percent (od 0 do 100, null dla pustej kohorty). Okresy próbne, które nigdy nie zostały opłacone, nie należą do żadnej kohorty. Dla głównych MRR, ARR i rezygnacji użyj subscriptions_report. Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/subscriptions/cohorts.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/subscriptions.json
Wskaźniki subskrypcji: MRR, ARR, ruchy MRR, rezygnacje, retencja przychodów, okresy próbne, plany i prognoza
subscriptions_report
Wskaźniki subskrypcji witryny, odczytywane z jej połączonego konta Stripe, Paddle, Lemon Squeezy, Chargebee lub Polar. months to 6, 12 (domyślnie) lub 24. plan zostawia tylko subskrypcje jednego planu, o nazwie takiej, jak na liście plans. Pola z kwotami to liczby całkowite w jednostkach podrzędnych waluty witryny (currency w odpowiedzi), a inne waluty są przeliczane po dzisiejszym kursie. Wynik ma currency, connected (false, gdy nie połączono żadnego dostawcy), plan (filtr planu lub null), connections (jedno na połączonego dostawcę z provider, account_name, sandbox, status, last_error, last_synced_at i created_at, nigdy klucz), skipped_currencies (waluty bez kursu, których kwoty nie są liczone), totals, series, forecast i plans. totals ma mrr_minor, arr_minor, previous_mrr_minor (MRR sprzed 30 dni), active_subscriptions, arpa_minor (null bez subskrypcji), trialing, trial_conversion_rate (procent okresów próbnych, które zakończyły się w ostatnich 90 dniach i zostały opłacone, null, gdy żaden się nie zakończył), a za ostatnie 30 dni new_subscriptions, new_mrr_minor, expansion_mrr_minor, contraction_mrr_minor, churned_subscriptions, churned_mrr_minor, net_new_mrr_minor, quick_ratio (MRR z nowych subskrypcji plus rozszerzeń na każdą jednostkę MRR utraconego przez rezygnacje plus obniżki, null, gdy nic nie utracono), subscription_churn_rate i mrr_churn_rate (procent, null bez bazy). Ma także net_revenue_retention i gross_revenue_retention (procent tego, co płaciły subskrypcje płacące 12 miesięcy temu, który płacą teraz, z podwyżkami i bez nich, null bez bazy) oraz forecast_mrr_minor (MRR za 12 miesięcy, null bez prognozy). series ma jeden wiersz na miesiąc (month jako YYYY-MM) z mrr_minor, active_subscriptions, tymi samymi polami ruchów i churn_rate. forecast ma jeden wiersz na każdy z następnych 12 miesięcy (month, mrr_minor), wyliczony z ostatnich trzech pełnych miesięcy, i jest pusty bez trzech pełnych miesięcy, które zaczynały się z MRR. plans wymienia do 50 planów według MRR z plan (null dla subskrypcji, którym dostawca nie nadał nazwy planu), mrr_minor, active_subscriptions, churned_subscriptions i subscription_churn_rate (ostatnie 30 dni), zawsze dla każdego planu. Subskrypcja liczy się od pierwszej płatności. Podwyżki i obniżki planu są znane od pierwszej synchronizacji, a wcześniej minione miesiące używają ceny, jaką subskrypcja miała przy pierwszym odczycie. Dla retencji według miesiąca pierwszej płatności użyj subscriptions_cohorts. Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/subscriptions.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
Synchronizacja z hurtownią
POST
/workspaces/:workspace_id/warehouses.json
Dodaj cel hurtowni danych
warehouse_destinations_create
Dodaje miejsce docelowe w hurtowni, które otrzymuje surowe zdarzenia z każdego dnia (tylko plan Business). Codziennie o 02:00 UTC przesyłany jest poprzedni dzień UTC, pierwsze uruchomienie następuje o najbliższej 02:00 UTC, a nieudane uruchomienie jest ponawiane godzinę później. kind musi być podane i decyduje o wymaganych ustawieniach. s3 (także GCS, R2 i MinIO przez endpoint) wymaga bucket, access_key_id i secret_access_key, z opcjonalnymi region, prefix i endpoint (tylko https, tylko hosty publiczne). bigquery wymaga service_account_json, dataset i table, z opcjonalnym project_id. snowflake wymaga account, user, private_key (PEM RSA), database, schema i table, z opcjonalnymi warehouse i role. azure wymaga sas_url (link SAS do kontenera blob przez https z uprawnieniem zapisu), z opcjonalnym prefix. Sekrety (secret_access_key, service_account_json, private_key, sas_url) są tylko do zapisu i nigdy nie są zwracane. site_ids ogranicza witryny (identyfikatory pa_...), puste oznacza każdą witrynę, a członek lub token ograniczony do niektórych witryn musi je wskazać. Właściwości zdarzeń są wysyłane tylko wtedy, gdy są oznaczone jako bezpieczne do eksportu (zobacz event_properties_list). Wymaga uprawnienia workspace.manage. Zwraca miejsce docelowe z id (whd_...), zamaskowanym celem i configured (nazwy wypełnionych ustawień).
Uprawnienie: workspace.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/warehouses.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/warehouses/:id.json
Usuń cel hurtowni danych
warehouse_destinations_delete
Usuwa miejsce docelowe w hurtowni, więc nic więcej nie jest wysyłane. Dane już przesłane pozostają w Twoim buckecie lub hurtowni, a tej operacji nie można cofnąć, choć można dodać miejsce docelowe ponownie (historia nie jest wysyłana automatycznie ponownie). Żadna zakolejkowana ręczna synchronizacja nie jest wycofywana. Id pochodzi z warehouse_destinations_list. Wymaga uprawnienia workspace.manage. Zwraca usunięte miejsce docelowe.
Uprawnienie: workspace.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/warehouses/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/workspaces/:workspace_id/warehouses.json
Wyświetl cele hurtowni danych
warehouse_destinations_list
Wyświetla miejsca docelowe w hurtowni przestrzeni roboczej posortowane według nazwy, opcjonalnie tylko jednego rodzaju (s3, bigquery, snowflake lub azure). Członek lub token ograniczony do niektórych witryn widzi tylko miejsca docelowe, których wszystkie witryny należą do jego witryn, a miejsca docelowe wysyłające każdą witrynę są przed nim ukryte. Stronicowane przez page i per_page (do 100). Każdy element ma pola opisane w warehouse_destinations_get. Wymaga workspace_id z workspaces_list i uprawnienia workspace.manage.
Uprawnienie: workspace.manage
curl https://privatusanalytics.com/workspaces/:workspace_id/warehouses.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/warehouses/:id.json
Pobierz cel hurtowni danych (bez sekretów)
warehouse_destinations_get
Zwraca jedno miejsce docelowe w hurtowni bez poświadczeń. Pola to id (whd_...), kind (s3, bigquery, snowflake lub azure), name, target (zamaskowane podsumowanie, takie jak s3://bucket/prefix), configured (nazwy wypełnionych ustawień, sekrety pokazują się tylko z nazwy), site_ids (puste oznacza każdą witrynę), schedule (daily), schema_version (wysyłany układ wierszy), last_run_at, next_run_at, last_error (null, gdy ostatnie uruchomienie się powiodło) i created_at. Id pochodzi z warehouse_destinations_list. Sprawdź last_error po warehouse_destinations_sync, aby zobaczyć, jak poszła synchronizacja.
Uprawnienie: workspace.manage
curl https://privatusanalytics.com/warehouses/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/warehouses/:id/sync.json
Dodaj do kolejki synchronizację jednego dnia teraz
warehouse_destinations_sync
Kolejkuje natychmiastowe przesłanie jednego dnia UTC surowych zdarzeń do miejsca docelowego, poza dziennym harmonogramem. Tylko plan Business. date (YYYY-MM-DD) musi być przed dzisiaj w UTC i domyślnie to wczoraj. Przesyła ten dzień dla każdej witryny miejsca docelowego, więc unikaj synchronizowania dnia, który już wysłano, a ręczne synchronizacje mają limit 30 na godzinę na przestrzeń roboczą. Wywołanie od razu zwraca 202 z miejscem docelowym, a przesyłanie działa w tle. Odpytuj warehouse_destinations_get i czytaj last_run_at oraz last_error, aby zobaczyć wynik. Id pochodzi z warehouse_destinations_list. Wymaga uprawnienia workspace.manage.
Uprawnienie: workspace.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/warehouses/:id/sync.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
PATCH
/warehouses/:id.json
Zaktualizuj cel hurtowni danych (puste sekrety są zachowywane)
warehouse_destinations_update
Zmienia miejsce docelowe w hurtowni (tylko plan Business). Zmieniają się tylko przesłane dane wejściowe, a kind nie można zmienić. Pusty sekret zachowuje zapisaną wartość, więc możesz edytować inne ustawienia bez ponownego wysyłania poświadczeń. Ustawienia są walidowane dla rodzaju miejsca docelowego tak jak w warehouse_destinations_create. Przesłanie site_ids zastępuje listę witryn. Gdy zmienia się cel (inny bucket, dataset, tabela, baza danych lub podobne), postęp niedokończonych dni zaczyna się od nowa, więc te dni są wysyłane ponownie do nowego miejsca. Id pochodzi z warehouse_destinations_list. Wymaga uprawnienia workspace.manage. Zwraca zaktualizowane miejsce docelowe.
Uprawnienie: workspace.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X PATCH https://privatusanalytics.com/warehouses/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Tagi opinii
POST
/sites/:site_id/testimonials/tags/:id/apply_rules.json
Uruchom reguły tagu na opiniach już zapisanych
testimonial_tags_apply_rules
dry_run true (domyślnie) niczego nie zmienia i odpowiada licznikami: ile zostałoby otagowanych, z ilu i ile już ma tag. dry_run false taguje je jako jedną akcję zbiorczą i odpowiada undo_id, które testimonials_bulk_undo przyjmuje przez 7 dni. Więcej niż 100 działa w tle, a odpowiedź ma state running.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/tags/:id/apply_rules.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/tags.json
Utwórz tag, z regułami auto-tagowania, jeśli je wyślesz
testimonial_tags_create
Reguła to { match, conditions }. Opinia spełniająca którąkolwiek regułę dostaje tag w chwili wpłynięcia. Reguły tylko dodają tag. Aby otagować to, co jest już zapisane, wywołaj następnie testimonial_tags_apply_rules.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/tags.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/testimonials/tags/:id.json
Przenieś tag do kosza na 30 dni
testimonial_tags_destroy
Znika z każdej opinii, filtra i selektora. Przywrócenie go przez testimonial_trash_restore zwraca go każdej opinii, która go miała. Kolekcja inteligentna, której reguły go wskazują, do tego czasu niczego nie dopasowuje. Przez MCP narzędzie niczego nie zmienia i odpowiada stroną aplikacji, na której robi to człowiek.
Uprawnienie: content.write
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/testimonials/tags/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/tags.json
Wyświetl tagi witryny z ich regułami
testimonial_tags_list
Każdy tag przychodzi z liczbą opinii, które go mają, regułami auto-tagowania jako warunkami strukturalnymi i prostym językiem oraz informacją, kiedy reguła ostatnio go zastosowała. Tagi w koszu są pomijane.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/tags.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/testimonials/tags/:id/merge.json
Scal tag z innym
testimonial_tags_merge
Każda opinia, która miała ten tag, dostaje drugi, każda reguła przechodzi do drugiego, każda kolekcja inteligentna, zapisany widok, wtyczka i ściana, które wskazywały ten tag, wskazują drugi, a ten tag trafia do kosza, pusty. Odpowiada tagiem, który zostaje.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/tags/:id/merge.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
PATCH
/sites/:site_id/testimonials/tags/:id.json
Zmień nazwę, kolor lub reguły tagu
testimonial_tags_update
Zmienia się tylko to, co wysłano. Wysłanie rules zastępuje każdą regułę tagu, a pusta lista usuwa je wszystkie.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/tags/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Tokeny API
POST
/workspaces/:workspace_id/api_tokens.json
Utwórz token API (token jest zwracany tylko raz)
api_tokens_create
Tworzy token API dla wywołującego członka w przestrzeni roboczej i zwraca sekret tylko raz, w polu token. Skopiuj go od razu, nie można go odczytać ponownie, a zgubiony token trzeba unieważnić i utworzyć na nowo. Token może tylko zawężać to, co wolno jego członkowi. Pominięte permissions domyślnie oznacza wszystkie uprawnienia samego członka (jawnie pusta lista jest odrzucana, a prośba o uprawnienie, którego nie masz, to błąd). site_ids przyjmuje publiczne identyfikatory witryn (pa_...) i ogranicza token do tych witryn, a gdy jest puste, token działa dla każdej witryny dostępnej jego członkowi (lub zachowuje listę witryn tokena wykonującego to wywołanie). expires_at jest opcjonalne, w formacie ISO 8601, musi wskazywać przyszłość i nie więcej niż 3 lata, pomiń je, aby token nigdy nie wygasał. allowed_ips ogranicza token do tych adresów IP lub zakresów CIDR. Token wykonujący to wywołanie potrzebuje tokens.manage. Przestrzeń robocza wymagająca uwierzytelniania dwuskładnikowego odrzuca tokeny członków bez własnego drugiego składnika. Zwraca te same pola co api_tokens_list oraz token.
Uprawnienie: member
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/api_tokens.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/workspaces/:workspace_id/api_tokens/:id.json
Unieważnij token API
api_tokens_delete
Unieważnia token API natychmiast i na stałe. Żądania z jego użyciem od tej chwili kończą się błędem, a unieważnionego tokena nie można przywrócić, utwórz zamiast tego nowy. Rekord tokena pozostaje na liście ze statusem revoked (użyj api_tokens_list z include_revoked, aby go zobaczyć), a ponowne unieważnienie już unieważnionego tokena nic nie zmienia. Weź id (uuid) z api_tokens_list. Możesz unieważniać własne tokeny, unieważnienie cudzego wymaga tokens.manage i dostępu do każdej witryny, którą token obejmuje. Token wywołujący to wymaga tokens.manage. Zwraca unieważniony token bez jego sekretu.
Uprawnienie: member
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/workspaces/:workspace_id/api_tokens/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/workspaces/:workspace_id/api_tokens.json
Wyświetl tokeny API
api_tokens_list
Wyświetla tokeny API przestrzeni roboczej, od najnowszych, ze stronicowaniem. Bez uprawnienia tokens.manage widzisz tylko własne tokeny, z nim widzisz tokeny wszystkich członków. Unieważnione i wygasłe tokeny są ukryte, chyba że include_revoked ma wartość true. Każdy element ma id (uuid, używane przez api_tokens_delete), name, token_prefix (pierwsze znaki, do rozpoznawania tokena), owner (e-mail członka), permissions (nazwy takie jak analytics.read), site_ids (publiczne identyfikatory witryn pa_..., pusta tablica oznacza każdą witrynę dostępną właścicielowi), allowed_ips, oauth_client (nazwa połączonej aplikacji, gdy token wydano przez OAuth, w przeciwnym razie null), status (active, expired lub revoked), expires_at, last_used_at, revoked_at i created_at. Sam sekret nigdy tu nie jest zwracany, token na liście zawsze ma wartość null. Jest pokazywany tylko raz przez api_tokens_create.
Uprawnienie: member
curl https://privatusanalytics.com/workspaces/:workspace_id/api_tokens.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
Tłumaczenia opinii
POST
/sites/:site_id/testimonials/translations.json
Przetłumacz opinie na języki oferowane przez witrynę
testimonial_translations_create
Najpierw wywołaj testimonial_translations_estimate. To wysyła treść, tytuł i wyróżnienie wybranych opinii do Google Cloud Translation (nigdy imienia, e-maila ani firmy), a członek zespołu dostaje e-mail, że rozpoczął to asystent. Tłumaczenie odbywa się w tle, a wiersz już zapisany nigdy nie jest pobierany ponownie. Po osiągnięciu miesięcznego limitu znaków reszta jest zapisywana jako oczekująca i kontynuowana 1. dnia miesiąca. Odpowiada 402 plan_limit poniżej Business oraz 422 not_configured, dopóki tłumaczenie nie jest skonfigurowane.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/translations.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/testimonials/translations/:testimonial_id/:language.json
Usuń jedno zapisane tłumaczenie
testimonial_translations_delete
Opinia jest znów pokazywana własnymi słowami wszędzie, gdzie używano tego języka. Znaki już na nią wydane nie wracają. Działa w każdym planie. Przez MCP narzędzie niczego nie zmienia i odpowiada stroną aplikacji, na której robi to człowiek.
Uprawnienie: content.write
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/testimonials/translations/:testimonial_id/:language.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/translations/estimate.json
Policz znaki, które wysłałby przebieg tłumaczenia, zanim go uruchomisz
testimonial_translations_estimate
Powiedz, które opinie, w jeden sposób: testimonial_ids, collection_id lub all_approved. Odpowiedź podaje opinie, znaki, które zostałyby wysłane, znaki już zapisane i to, co zostało z miesiąca. Podaje znaki, nigdy cenę. Nic nie jest pobierane.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/translations/estimate.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/testimonials/translations.json
Wyświetl zapisane tłumaczenia witryny
testimonial_translations_list
Jeden wiersz na opinię i język, od ostatnio zmienionego, po 25 na stronę. Filtruj według language, state, origin lub testimonial_id. Działa w każdym planie, więc tłumaczenia wykonane przed obniżeniem planu można nadal czytać.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/translations.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/testimonials/translations/:testimonial_id/:language.json
Napisz lub popraw jedno tłumaczenie ręcznie
testimonial_translations_update
Wiersz jest oznaczany jako edytowany, a późniejszy przebieg go nie nadpisuje, chyba że wyślesz overwrite_edited. Nic nie jest pobierane i nic nie liczy się do limitu. Oryginał nigdy się nie zmienia. Business i wyższe (gdzie indziej 402 plan_limit).
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/translations/:testimonial_id/:language.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Udostępnianie
GET
/badge/:site_id.json
Odznaka licznika odwiedzających (SVG) dla publicznej witryny
badges_get
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl https://privatusanalytics.com/badge/:site_id.json
Uptime
POST
/sites/:site_id/uptime.json
Dodaj kontrolę uptime dla witryny
uptime_checks_create
Dodaje kontrolę uptime powiązaną z jedną witryną. Użyj workspace_uptime_checks_create dla kontroli, która nie należy do żadnej witryny. kind decyduje o celu. http sprawdza kod statusu url, keyword sprawdza, czy treść odpowiedzi z url zawiera keyword, tcp łączy się z host i port, a dns sprawdza, czy host się rozwiązuje. Pola dla innych rodzajów są ignorowane. url domyślnie wskazuje stronę główną witryny dla kontroli http. expected_status (od 100 do 599, domyślnie 200), http_method (GET lub HEAD) i timeout_seconds (od 1 do 30, domyślnie 20) dotyczą kontroli http i keyword. interval_seconds to czas między próbami, musi wynosić co najmniej minimum planu (Free 300, Pro 60, Business 30) i domyślnie wynosi 300 lub minimum, jeśli jest wyższe. public true pozwala kontroli pojawić się na stronie statusu. Adresy prywatne i wewnętrzne są odrzucane, a plan ogranicza liczbę kontroli na przestrzeń roboczą (Free 3, Pro 20, Business 100). Pierwsza próba odbywa się w ciągu chwili, status zaczyna jako pending. Wymaga uprawnienia uptime.manage. Zwraca kontrolę z id (upc_...).
Uprawnienie: uptime.manage
curl -X POST https://privatusanalytics.com/sites/:site_id/uptime.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/uptime/checks/:id.json
Usuń kontrolę uptime i jej historię
uptime_checks_delete
Trwale usuwa kontrolę uptime wraz z jej wynikami i historią incydentów oraz usuwa ją z każdej strony statusu, która ją pokazuje. Tej operacji nie można cofnąć. Użyj uptime_checks_pause, aby przestać sprawdzać, ale zachować historię. Id pochodzi z uptime_checks_list. Wymaga uprawnienia uptime.manage. Zwraca usuniętą kontrolę.
Uprawnienie: uptime.manage
curl -X DELETE https://privatusanalytics.com/uptime/checks/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/uptime.json
Wyświetl kontrole uptime witryny
uptime_checks_list
Wyświetla kontrole uptime jednej witryny, w tym kontrole całej przestrzeni roboczej, które sprawdzają domenę witryny lub jej subdomenę. Posortowane według nazwy. Użyj workspace_uptime_checks_list dla każdej kontroli w przestrzeni roboczej. Filtruj przez status (up, down, pending lub paused) lub query (część name, url lub host). Stronicowane przez page i per_page (do 100). Każda kontrola ma id (upc_...), workspace_id, site_id (null dla kontroli całej przestrzeni roboczej), name, kind, url, host, port, keyword, expected_status, http_method, interval_seconds, timeout_seconds, status (up, down, pending lub paused), enabled, public, last_checked_at, next_check_at, last_response_ms (milisekundy), ssl_expires_at, ssl_issuer, domain_expires_at i created_at. Użyj uptime_checks_get dla procentów dostępności i incydentów.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/uptime.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/uptime/checks/:id/pause.json
Wstrzymaj kontrolę uptime
uptime_checks_pause
Wstrzymuje kontrolę uptime, więc nie jest już sprawdzana. Każdy otwarty incydent jest zamykany od razu, a w czasie wstrzymania nie są wysyłane alerty down ani up. Historia jest zachowywana, a jej status pokazuje paused. Wznów ją przez uptime_checks_resume. Id pochodzi z uptime_checks_list. Wymaga uprawnienia uptime.manage. Zwraca kontrolę.
Uprawnienie: uptime.manage
curl -X POST https://privatusanalytics.com/uptime/checks/:id/pause.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/uptime/checks/:id/resume.json
Wznów wstrzymaną kontrolę uptime
uptime_checks_resume
Wznawia wstrzymaną kontrolę uptime. Jest sprawdzana przy następnym takcie harmonogramu, a jej status to pending do nadejścia pierwszego wyniku. Id pochodzi z uptime_checks_list. Wymaga uprawnienia uptime.manage. Zwraca kontrolę.
Uprawnienie: uptime.manage
curl -X POST https://privatusanalytics.com/uptime/checks/:id/resume.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/uptime/checks/:id.json
Pobierz kontrolę uptime: uptime 24 h/7 d/30 d, czasy odpowiedzi i incydenty
uptime_checks_get
Zwraca jedną kontrolę uptime wraz z jej historią, a nie tylko ustawieniami. Wybierz range (24h domyślnie, 7d lub 30d) dla wykresu czasu odpowiedzi. Odpowiedź ma check (ustawienia i stan na żywo, zobacz uptime_checks_list), uptime (procent dla 24h, 7d i 30d, null do wykonania pierwszej próby), range, response_times (jednostka hour lub day, etykiety jako czasy ISO 8601 oraz serie średniego czasu odpowiedzi w milisekundach na lokalizację, z null dla luk) i incidents (50 najnowszych z started_at, resolved_at null, gdy nadal otwarty, duration_seconds, cause i failed_locations). Do czasów odpowiedzi wliczają się tylko udane próby. Id pochodzi z uptime_checks_list.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/uptime/checks/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/uptime/checks/:id.json
Zmień kontrolę uptime
uptime_checks_update
Zmienia kontrolę uptime. Zmieniają się tylko przesłane dane wejściowe. Reguły i limity są takie same jak w uptime_checks_create (interwał musi wynosić co najmniej minimum planu, adresy prywatne są odrzucane). Zmiana kind czyści pola celu, które już nie mają zastosowania. Zmiana interval_seconds planuje następną próbę natychmiast. Id pochodzi z uptime_checks_list. Wymaga uprawnienia uptime.manage. Zwraca zaktualizowaną kontrolę.
Uprawnienie: uptime.manage
curl -X PATCH https://privatusanalytics.com/uptime/checks/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/uptime/probes.json
Centrum danych sond, User-Agent i zakresy IP ruchu wychodzącego (do dodania naszych sond uptime na listę dozwolonych)
uptime_probes_list
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl https://privatusanalytics.com/uptime/probes.json
POST
/uptime/probes/results.json
Prześlij wyniki z zewnętrznego agenta sondy (token sondy uptime typu Bearer)
uptime_probes_results
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/uptime/probes/results.json \
-H "Content-Type: application/json" -d '{…}'
POST
/workspaces/:workspace_id/uptime.json
Dodaj kontrolę uptime przestrzeni roboczej (niezwiązaną z witryną)
workspace_uptime_checks_create
Dodaje kontrolę uptime należącą do całej przestrzeni roboczej, a nie do jednej witryny. Użyj uptime_checks_create, aby powiązać kontrolę z witryną. Dane wejściowe, limity planu i reguły są takie same, zobacz uptime_checks_create. kind to http, keyword, tcp lub dns i decyduje, które z url, keyword, host i port mają zastosowanie. Ponieważ nie ma witryny, kontrola http wymaga jawnego url. Wywołujący ograniczeni do niektórych witryn nie mogą tworzyć kontroli całej przestrzeni roboczej. Wymaga workspace_id z workspaces_list i uprawnienia uptime.manage. Zwraca kontrolę z id (upc_...) i site_id równym null.
Uprawnienie: uptime.manage
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/uptime.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/workspaces/:workspace_id/uptime.json
Wyświetl wszystkie kontrole uptime w przestrzeni roboczej
workspace_uptime_checks_list
Wyświetla każdą kontrolę uptime przestrzeni roboczej, w tym kontrole niepowiązane z żadną witryną, posortowane według nazwy. Wywołujący ograniczony do niektórych witryn widzi tylko kontrole tych witryn. Użyj uptime_checks_list dla kontroli jednej witryny. Filtruj przez status (up, down, pending lub paused) lub query (część name, url lub host). Stronicowane przez page i per_page (do 100). Każdy element ma pola opisane w uptime_checks_list. Wymaga workspace_id z workspaces_list.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/workspaces/:workspace_id/uptime.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
Ustawienia e-maili
POST
/email/preferences/:token/unsubscribe.json
Zatrzymaj wszystkie e-maile na dany adres, które można wyłączyć, za pomocą tokenu z linku do ustawień e-maili
email_preferences_unsubscribe_all
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/email/preferences/:token/unsubscribe.json \
-H "Content-Type: application/json" -d '{…}'
POST
/email/preferences/:token.json
Wyłącz lub włącz e-maile na dany adres za pomocą tokenu z linku do ustawień e-maili
email_preferences_update
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/email/preferences/:token.json \
-H "Content-Type: application/json" -d '{…}'
Webhooki
GET
/workspaces/:workspace_id/webhooks/:webhook_id/deliveries.json
Wyświetl dostarczenia webhooka
webhook_deliveries_list
Wyświetla dostarczenia wysłane do jednego webhooka (ścieżka przyjmuje webhook_id), od najnowszych, ze stronicowaniem. Każde ma id (whd_...), event, status (pending, succeeded dla każdej odpowiedzi 2xx lub failed), status_code (null, gdy nie przyszła odpowiedź), error (krótki powód, taki jak przekroczenie czasu, w przeciwnym razie null), attempt (ile prób do tej pory), duration_ms, payload (wysłane dane JSON), response_body (pierwsze 2000 znaków odpowiedzi) oraz delivered_at i created_at. Filtruj przez status succeeded lub failed. Użyj go do debugowania punktu końcowego i webhook_deliveries_redeliver, aby wysłać jedno ponownie.
Uprawnienie: workspace.manage
curl https://privatusanalytics.com/workspaces/:workspace_id/webhooks/:webhook_id/deliveries.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/workspaces/:workspace_id/webhooks/:webhook_id/deliveries/:id/redeliver.json
Wyślij dostarczenie ponownie
webhook_deliveries_redeliver
Wysyła ponownie ładunek dawnego dostarczenia jako nowe dostarczenie do tego samego punktu końcowego (id whd_..., z webhook_deliveries_list). Wykonuje żądanie HTTP do adresu URL klienta, więc odbiorca może przetworzyć to samo zdarzenie dwa razy. Ma limit częstotliwości na przestrzeń roboczą (wspólny z webhooks_test). Jest kolejkowane, więc odpowiedzią jest nowe dostarczenie ze status pending, odczytaj webhook_deliveries_list, aby zobaczyć wynik.
Uprawnienie: workspace.manage
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/webhooks/:webhook_id/deliveries/:id/redeliver.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/workspaces/:workspace_id/webhooks.json
Dodaj endpoint webhooka
webhooks_create
Dodaje punkt końcowy, który otrzymuje JSON wysyłany metodą POST dla zdarzeń przestrzeni roboczej (ścieżka przyjmuje workspace_id). url musi być publicznym adresem https, adresy prywatne i wewnętrzne są odrzucane. events to wymagana lista wybrana spośród alert.triggered, alert.resolved, goal.completed_threshold, uptime.down, uptime.up, export.ready, import.completed, import.failed, site.created, site.deleted, member.added, usage.threshold i site_audit.completed. enabled domyślnie ma wartość true. Sekret podpisu (whsec_...) jest generowany i zwracany w odpowiedzi, a każde dostarczenie niesie nagłówek Privatus-Signature ze znacznikiem czasu i HMAC-SHA256 treści wykonanym za jego pomocą. Nieudane dostarczenia są ponawiane z wycofaniem, a punkt końcowy jest wyłączany po 20 kolejnych niepowodzeniach. Użyj webhooks_test, aby wysłać próbkę.
Uprawnienie: workspace.manage
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/webhooks.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/workspaces/:workspace_id/webhooks/:id.json
Usuń webhook
webhooks_delete
Usuwa punkt końcowy webhooka i cały jego dziennik dostarczeń. Tej operacji nie można cofnąć, a oczekujące ponowienia ustają. Aby zamiast tego go wstrzymać, użyj webhooks_update z enabled false. Id (wh_...) pochodzi z webhooks_list. Zwraca usunięty webhook.
Uprawnienie: workspace.manage
curl -X DELETE https://privatusanalytics.com/workspaces/:workspace_id/webhooks/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/workspaces/:workspace_id/webhooks.json
Wyświetl webhooki
webhooks_list
Wyświetla wychodzące punkty końcowe webhooków przestrzeni roboczej (ścieżka przyjmuje workspace_id), od najstarszych. Każdy ma id (wh_...), url, events (nazwy zdarzeń, które otrzymuje), enabled, status (active, failing po niedawnych niepowodzeniach lub disabled), secret (sekret podpisu, traktuj go jako wrażliwy), consecutive_failures, last_success_at, last_failure_at i created_at. Wymaga uprawnienia workspace.manage. To służy do wysyłania surowych zdarzeń na Twój własny serwer. Aby powiadamiać ludzi, użyj notification_channels_list. Użyj webhook_deliveries_list dla tego, co wysłano.
Uprawnienie: workspace.manage
curl https://privatusanalytics.com/workspaces/:workspace_id/webhooks.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/workspaces/:workspace_id/webhooks/:id.json
Pobierz webhook
webhooks_get
Zwraca jeden punkt końcowy webhooka według id (wh_..., z webhooks_list), wraz z jego sekretem podpisu (whsec_...), który służy do weryfikacji nagłówka Privatus-Signature przy każdym dostarczeniu. Pola to url, events, enabled, status (active, failing lub disabled), secret, consecutive_failures, last_success_at, last_failure_at i created_at. Wymaga uprawnienia workspace.manage.
Uprawnienie: workspace.manage
curl https://privatusanalytics.com/workspaces/:workspace_id/webhooks/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/workspaces/:workspace_id/webhooks/:id/test.json
Wyślij testowe dostarczenie
webhooks_test
Kolejkuje dostarczenie webhook.test z przykładową wiadomością do jednego punktu końcowego, nawet gdy jest wyłączony, co wykonuje żądanie HTTP do adresu URL klienta. Ma limit częstotliwości na przestrzeń roboczą (wspólny z webhook_deliveries_redeliver), a test nie jest ponawiany. Dostarczenie jest wysyłane w tle, więc odpowiedź zwraca zakolejkowane dostarczenie ze status pending. Odczytaj webhook_deliveries_list chwilę później, aby zobaczyć status_code, error, duration_ms i response_body.
Uprawnienie: workspace.manage
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/webhooks/:id/test.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
PATCH
/workspaces/:workspace_id/webhooks/:id.json
Zaktualizuj webhook (zdarzenia, URL, włączenie, zmiana sekretu)
webhooks_update
Zmienia webhook (id z webhooks_list). Zmieniają się tylko przesłane dane wejściowe. Przesłanie events zastępuje całą listę. Ustawienie enabled true na wyłączonym punkcie końcowym zeruje licznik niepowodzeń, w ten sposób włączasz z powrotem punkt wyłączony po powtarzających się niepowodzeniach. Ustaw rotate_secret true, aby wygenerować nowy sekret podpisu, pokazany w odpowiedzi, a stary przestaje działać od razu, więc odbiorca musi zostać zaktualizowany. Reguły dla url są takie same jak w webhooks_create. Zwraca webhook.
Uprawnienie: workspace.manage
curl -X PATCH https://privatusanalytics.com/workspaces/:workspace_id/webhooks/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Witryny
POST
/sites/:site_id/data_reset.json
Usuń wszystkie zdarzenia i wizyty w zakresie dat (działa w tle, nie można cofnąć)
sites_reset_data
Nieodwracalnie usuwa odsłony, zdarzenia niestandardowe i wizyty witryny z zakresu dat i nie można tego cofnąć. Użyj go, aby wyczyścić ruch testowy lub usunąć zły okres. Nie usuwa witryny, jej celów ani ustawień (do witryny użyj sites_delete). from i to to daty YYYY-MM-DD, obie włącznie i odczytywane w strefie czasowej witryny, a to nie może być wcześniejsze niż from. confirm musi być domeną witryny dokładnie tak, jak pokazuje sites_get (wielkość liter nie ma znaczenia). Żądanie jest przyjmowane i wraca od razu ze status queued, site_id, from i to. Usuwanie działa w tle partiami, więc liczby w narzędziach stats mogą potrzebować chwili na ustabilizowanie, a nie ma punktu końcowego statusu do odpytywania, sprawdzaj narzędzia stats, aż zakres będzie pusty. Działanie jest zapisywane w dzienniku audytu. Wymaga uprawnienia sites.manage.
Uprawnienie: sites.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/sites/:site_id/data_reset.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/filter_stats.json
Podsumowanie odfiltrowanego ruchu: boty, reguły ruchu lub redakcje danych osobowych według powodu i kraju (tylko liczby)
sites_filter_stats
Liczby wejść, które zostały odrzucone lub oczyszczone przed zapisem, z ostatnich dni. Użyj go, aby zobaczyć, ile ruchu botów, ruchu zablokowanego regułami lub redakcji ma witryna. Wybierz kind spośród bot (wejścia odrzucone jako boty), rule (wejścia odrzucone przez reguły ruchu) lub redaction (wartości zredagowane przez moduł usuwania danych osobowych). Zwraca kind, days, total, by_reason, by_country i by_day. by_reason i by_country to listy {value, count} (do 50, od największych, value null, gdy nieznane), a by_day to lista {date, count}. days jest ograniczane do przedziału od 1 do 395 i domyślnie wynosi 30. To tylko liczby zbiorcze. Nie są zapisywane żadne adresy IP, user agenty ani zredagowane wartości, więc nic nie da się powiązać z osobą. Te wejścia nie są liczone jako zdarzenia do rozliczeń. Użyj traffic_rules_list, aby zobaczyć lub zmienić reguły.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/filter_stats.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/access.json
Wyświetl członków i informację, czy widzą tę witrynę
sites_access_list
Pokazuje, którzy członkowie przestrzeni roboczej mogą widzieć jedną witrynę. Każdy członek przestrzeni roboczej jest wymieniony w kolejności dołączania, bez stronicowania. Pola to membership_id (uuid używane przez sites_access_update), email, name, role, access (true, gdy członek widzi tę witrynę) i locked (true dla właścicieli i adminów, którzy zawsze mają dostęp i nie można tego zmienić). Pozostali członkowie mają dostęp, gdy mają wszystkie witryny lub jawne przyznanie dla tej witryny. Użyj members_list, aby zobaczyć pełną listę witryn członka. Wymaga members.manage.
Uprawnienie: members.manage
curl https://privatusanalytics.com/sites/:site_id/access.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/access.json
Przyznaj lub odbierz jednemu członkowi dostęp do tej witryny
sites_access_update
Przyznaje lub odbiera jednemu członkowi dostęp do jednej witryny. membership_id pochodzi z sites_access_list (lub members_list), a access to true, aby przyznać, lub false, aby odebrać. Właściciele i admini zawsze mają dostęp i nie można tego zmienić. Odebranie dostępu członkowi, który miał wszystkie witryny, przełącza go na jawną listę każdej innej witryny w przestrzeni roboczej i wyłącza jego include_future_sites, więc nie dostanie witryn utworzonych później. Przyznanie komuś, kto już ma wszystkie witryny, nic nie zmienia. Nie możesz zmienić członka, który ma uprawnienia, których Ci brakuje, lub witryny poza Twoimi. Wymaga members.manage. Zwraca wiersz tego członka w tym samym kształcie co sites_access_list.
Uprawnienie: members.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X PATCH https://privatusanalytics.com/sites/:site_id/access.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/favorite.json
Oznacz witrynę gwiazdką (przypięta na początku w widoku Wszystkie witryny)
sites_favorite
Oznacza witrynę gwiazdką dla wywołującego użytkownika, więc jest wyświetlana pierwsza przez sites_list i na stronie Wszystkie witryny. Dotyczy tylko wywołującego, nigdy innych członków, a oznaczenie już oznaczonej witryny nic nie zmienia. Wywołanie nie wymaga żadnych danych poza identyfikatorem witryny. Użyj sites_unfavorite, aby usunąć gwiazdkę. Wymaga analytics.read. Zwraca witrynę (zobacz sites_get) z favorite true.
Uprawnienie: analytics.read
curl -X POST https://privatusanalytics.com/sites/:site_id/favorite.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/favorite.json
Usuń gwiazdkę z witryny
sites_unfavorite
Usuwa gwiazdkę wywołującego użytkownika z witryny, więc nie jest już przypięta jako pierwsza w sites_list. Dotyczy tylko wywołującego i nic nie robi, jeśli witryna nie była oznaczona. Użyj sites_favorite, aby oznaczyć ją ponownie. Wymaga analytics.read. Zwraca witrynę (zobacz sites_get) z favorite false.
Uprawnienie: analytics.read
curl -X DELETE https://privatusanalytics.com/sites/:site_id/favorite.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/setup.json
Stan instalacji i fragment kodu witryny
sites_setup_get
Zwraca to, co jest potrzebne do zainstalowania śledzenia w witrynie, i informację, czy dane dotarły. Pola to site_id, snippet (gotowy do wklejenia znacznik HTML script z włączonymi wszystkimi modułami trackera), receiving_data (true po odebraniu pierwszego zdarzenia) i first_event_at (ISO 8601, null do tej chwili). Odpytuj to po instalacji, aby zobaczyć, czy zdarzenia napływają. Użyj zamiast tego tracking_snippet, gdy chcesz dostosowany fragment (wybrane moduły, ręczne odsłony, tryb SPA, maski), a tracking_verify, aby pobrać stronę na żywo i sprawdzić obecność skryptu. Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/setup.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/transfers/:token/accept.json
Zaakceptuj przeniesienie witryny do jednej z Twoich przestrzeni roboczych
site_transfers_accept
Przyjmuje zaproszenie do przeniesienia witryny i przenosi witrynę do jednej z przestrzeni roboczych wywołującego. Parametr ścieżki token pochodzi z linku z zaproszenia, a workspace_id to docelowa przestrzeń robocza (ws_...), w której wywołujący ma sites.manage. E-mail samego wywołującego musi zgadzać się z adresem, na który wysłano zaproszenie, a cel nie może być przestrzenią roboczą, z której witryna pochodzi. Witryna zachowuje swoje id, ustawienia, cele i dane, ale dostępy przyznane poszczególnym członkom są czyszczone, a jej linki do udostępniania przechodzą do nowej przestrzeni roboczej. Kończy się błędem, gdy zaproszenie nie jest już oczekujące lub wygasło, gdy cel osiągnął limit witryn swojego planu lub gdy ma już aktywną witrynę o tej samej domenie. Przeniesienia nie można cofnąć inaczej niż przez przeniesienie z powrotem. Token wywołujący to musi należeć do docelowej przestrzeni roboczej i mieć sites.manage. Zwraca przeniesienie ze status accepted.
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/transfers/:token/accept.json \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/transfer.json
Rozpocznij przenoszenie witryny do innej przestrzeni roboczej (wysyła e-mail do odbiorcy)
sites_transfer_start
Rozpoczyna przenoszenie witryny do innej przestrzeni roboczej, wysyłając odbiorcy e-mailem link z zaproszeniem ważny 7 dni. Nic się nie przenosi, dopóki odbiorca nie zaloguje się tym e-mailem i nie przyjmie (site_transfers_accept), więc do tego czasu witryna zostaje tutaj. Rozpoczęcie nowego przeniesienia anuluje każde wcześniejsze oczekujące dla tej samej witryny. email musi być prawidłowym adresem, a odbiorca wybiera docelową przestrzeń roboczą. E-maile o przeniesieniu mają limit częstotliwości. Użyj sites_transfer_cancel, aby je wycofać. Wymaga sites.manage. Zwraca przeniesienie z site_id, site_domain, from_workspace, to_email, status pending i expires_at.
Uprawnienie: sites.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/sites/:site_id/transfer.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/transfer.json
Anuluj oczekujące przeniesienie witryny
sites_transfer_cancel
Anuluje oczekujące zaproszenie do przeniesienia witryny, więc jego link przestaje działać. Kończy się błędem walidacji, gdy żadne przeniesienie nie oczekuje. Przeniesienia, które już przyjęto, nie można anulować. Wymaga sites.manage. Zwraca przeniesienie ze status canceled.
Uprawnienie: sites.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/transfer.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/transfers/:token.json
Pobierz oczekujące przeniesienie na podstawie tokena z e-maila
site_transfers_get
Pokazuje zaproszenie do przeniesienia witryny na podstawie tokena z jego linku (parametr ścieżki token, z e-maila z zaproszeniem wysłanego przez sites_transfer_start). Wywołujący musi być zalogowany lub użyć tokena API. Zwraca site_id, site_domain, from_workspace (nazwa przestrzeni roboczej wysyłającej), to_workspace_id (null do przyjęcia), to_email (zaproszony adres), status (pending, accepted lub canceled) i expires_at. Zaproszenia wygasają 7 dni po wysłaniu. Użyj site_transfers_accept, aby je przyjąć.
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl https://privatusanalytics.com/transfers/:token.json
POST
/workspaces/:workspace_id/sites.json
Dodaj witrynę
sites_create
Dodaje stronę internetową do przestrzeni roboczej i zwraca ją, wraz z fragmentem śledzącym do zainstalowania. Plan przestrzeni roboczej ogranicza liczbę witryn (Free pozwala na 3), a wywołanie kończy się błędem limitu planu po jego osiągnięciu. domain jest wymagane i jest normalizowane (na przykład pełny adres URL lub prefiks www jest skracany do nazwy hosta). name domyślnie to domena, timezone domyślnie to strefa czasowa przestrzeni roboczej (nazwa IANA, taka jak Europe/Berlin), a currency to waluta przestrzeni roboczej (3-literowy kod ISO 4217, taki jak USD). Skutki uboczne to powiadomienie site.created do kanałów powiadomień przestrzeni roboczej, zakolejkowanie pierwszego audytu SEO witryny i sprawdzenia domain rating oraz e-mail z kodem śledzącym do członka, który ją utworzył (z przypomnieniami, dopóki nie napłyną dane). Członkowie ograniczeni do wybranych witryn, którzy wybrali przyszłe witryny, dostają do niej dostęp. Wymaga sites.manage. Potem użyj tracking_snippet lub sites_setup_get do instalacji, a tracking_verify do sprawdzenia.
Uprawnienie: sites.manage
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/sites.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:id.json
Usuń witrynę (trwale czyszczona po 7 dniach)
sites_delete
Usuwa witrynę. To miękkie usunięcie, witryna przestaje zbierać dane i od razu znika z list, a jej dane są trwale czyszczone po 7 dniach, więc traktuj to jako nieodwracalne i szybko skontaktuj się z pomocą techniczną, jeśli to była pomyłka. confirm musi być domeną witryny (wielkość liter nie ma znaczenia). Oczekujące przeniesienia witryny są anulowane, a powiadomienie site.deleted jest wysyłane do kanałów powiadomień przestrzeni roboczej. Aby wyczyścić tylko część ruchu i zachować witrynę, użyj sites_reset_data. Wymaga sites.manage. Zwraca witrynę.
Uprawnienie: sites.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/workspaces/:workspace_id/sites.json
Wyświetl witryny w przestrzeni roboczej
sites_list
Wyświetla witryny przestrzeni roboczej, do których wywołujący ma dostęp, ze stronicowaniem, z witrynami oznaczonymi gwiazdką wywołującego na początku. Użyj query, aby szukać domeny lub nazwy (częściowo, bez rozróżniania wielkości liter), label, aby zachować witryny z jedną etykietą, i sort jako position (zapisana kolejność, domyślnie), name lub visitors (odwiedzający z ostatnich 30 dni, od najliczniejszych). Meta odpowiedzi ma stronicowanie na stronę oraz stats, obiekt z kluczami będącymi identyfikatorami witryn z visitors (ostatni unikalni odwiedzający), change (zmiana procentowa względem poprzedniego okresu), sparkline (lista wartości dziennych) i live (bieżący odwiedzający), oraz totals dla całej strony. Każdy element ma te same pola co sites_get. To punkt wyjścia do znajdowania identyfikatorów witryn (pa_...) używanych przez każde inne narzędzie witryny. Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/workspaces/:workspace_id/sites.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:id.json
Pobierz witrynę i wszystkie jej ustawienia
sites_get
Zwraca ustawienia i status jednej witryny według jej publicznego id (pa_..., z sites_list). Najważniejsze pola to id, workspace_id (ws_...), domain, name, extra_domains i multi_domain_mode (combined lub separate), timezone (nazwa IANA), currency (ISO 4217), labels, opcje prywatności (honor_dnt, honor_gpc, pii_scrubber, redaction_rules, allowed_params, path_masks), retention_months (null oznacza zachowanie wszystkich danych), bot_filtering, traffic_rule_modes (obiekt mapujący listę reguł na block lub allow), vitals_sample_rate (procent), conversion_denominator (visits lub visitors), public_dashboard i public_indexable, ingest_key_prefix (null, gdy witryna nie ma klucza logów robotów), verified_at, first_event_at i last_event_at (null do napłynięcia danych), domain_rating (może być null), snippet (znacznik śledzący HTML), favorite (czy wywołujący oznaczył gwiazdką) i created_at. Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:id.json
Zaktualizuj ustawienia witryny
sites_update
Aktualizuje ustawienia witryny, zmieniając tylko przesłane pola. Pola nazwy i tożsamości to name, domain (zmiana ponownie sprawdza domain rating), extra_domains (lista nazw hostów) i multi_domain_mode (combined liczy jednego odwiedzającego w różnych domenach, separate trzyma je osobno). timezone to nazwa IANA, a currency to 3-literowy kod ISO 4217. Pola prywatności to honor_dnt, honor_gpc, pii_scrubber, redaction_rules (lista obiektów z name i pattern, gdzie pattern to wyrażenie regularne), allowed_params (parametry zapytania do zachowania), path_masks (lista obiektów z pattern i replacement) i bot_filtering. Listy zastępują całą istniejącą listę. retention_months nie może przekraczać retencji planu (Free 6 miesięcy). traffic_rule_modes mapuje listę reguł (hostnames, paths, referrers, countries, ip_ranges, user_agents lub events) na block lub allow. vitals_sample_rate to procent, a plan go ogranicza (10 w Free, 100 w planach płatnych). conversion_denominator to visits lub visitors. public_dashboard czyni statystyki widocznymi dla każdego z linkiem, a public_indexable pozwala wyszukiwarkom indeksować tę stronę. Zmiany obowiązują dla nowych zdarzeń w ciągu chwili. Wymaga sites.manage. Zwraca zaktualizowaną witrynę.
Uprawnienie: sites.manage
curl -X PATCH https://privatusanalytics.com/sites/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Wtyczki
POST
/sites/:site_id/testimonials/widgets/:id/copied.json
Zanotuj, że wklejane osadzenie HTML wtyczki zostało skopiowane
testimonial_widgets_mark_copied
Wklejany HTML nie aktualizuje się sam. Po tym wywołaniu testimonial_widgets_embed podaje, ile razy wtyczka zmieniła się od tamtej pory.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/widgets/:id/copied.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/widgets.json
Utwórz wtyczkę
testimonial_widgets_create
Jedno wywołanie niesie całą wtyczkę: układ i jego opcje, co ją zasila, co pokazuje każda karta i jak wygląda. Wszystko, co pominięto, zaczyna się od wartości domyślnej, a puste ustawienie stylu dziedziczy identyfikację wizualną. Po nim wywołaj testimonial_widgets_embed, aby dostać kod do wklejenia.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/widgets.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/testimonials/widgets/:id.json
Przenieś wtyczkę do kosza
testimonial_widgets_trash
Jej osadzenia niczego nie renderują i nie zajmują miejsca, dopóki nie zostanie przywrócona. Po 30 dniach jest usuwana na stałe. Przez MCP narzędzie niczego nie zmienia i odpowiada stroną aplikacji, na której robi to człowiek.
Uprawnienie: content.write
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/testimonials/widgets/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/widgets/:id/duplicate.json
Skopiuj wtyczkę ze wszystkimi ustawieniami
testimonial_widgets_duplicate
Tworzy kopię z nowym id i nazwą kończącą się na „copy”. Kopia ma własny kod osadzenia i nigdzie nie była widziana na żywo. Oryginał nie jest zmieniany.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/widgets/:id/duplicate.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/widgets/:id/embed.json
Pobierz kod osadzenia wtyczki i to, ile waży
testimonial_widgets_embed
Zwraca fragment skryptu (zalecany), wklejany HTML, kod ramki i adres danych publicznych, ze zmierzonym rozmiarem skryptu ładującego i tej wtyczki. Wklejany HTML i ramka są null dla wyskakującego okna w rogu.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/widgets/:id/embed.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/testimonials/widgets.json
Wyświetl wtyczki witryny
testimonial_widgets_list
Wtyczki w koszu nie są wyświetlane. Każda wtyczka zawiera swoje ustawienia, liczbę opinii, które teraz pokazuje, wyświetlenia i kliknięcia z ostatnich 30 dni oraz pierwszą stronę, na której widziano ją na żywo.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/widgets.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/testimonials/widgets/:id/installs.json
Wyświetl strony, na których widziano wtyczkę na żywo
testimonial_widgets_installs
Do 50 stron, od najnowszej. Wykryć można tylko skrypt i ramkę.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/widgets/:id/installs.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/testimonials/widgets/:id/restore.json
Przywróć wtyczkę z kosza
testimonial_widgets_restore
Wraca wszędzie, gdzie została wklejona.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/widgets/:id/restore.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/widgets/:id.json
Pobierz jedną wtyczkę ze wszystkimi ustawieniami, tym, co pokazuje, i miejscami, gdzie działa
testimonial_widgets_get
Wszystko, co zapisuje kreator: układ i jego opcje, co zasila wtyczkę (kolekcja, zapisany widok, tagi lub ręcznie wybrana lista), co pokazuje każda karta, styl, język i znaczniki recenzji, z miejscami, gdzie widziano ją na żywo, i liczbą opinii, które teraz pokazuje. Wtyczka w koszu odpowiada 404.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/widgets/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/testimonials/widgets/:id.json
Zmień wtyczkę
testimonial_widgets_update
Zmieniają się tylko wysłane dane. Zapisana zmiana dociera do każdej witryny, na której jest wtyczka, bez dotykania ich kodu, ponieważ jej zapamiętane kopie są czyszczone.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/widgets/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Wydajność
GET
/sites/:site_id/performance.json
Web Vitals: karta wyników p75, trend dzienny i podziały według strony, urządzenia, przeglądarki i kraju
performance_report
Raport Web Vitals od prawdziwych odwiedzających. Zwraca period, metric, sample_rate, scorecard, trend i breakdowns. scorecard ma jeden wiersz dla każdego z LCP, INP, CLS, FCP i TTFB z p75 (75. percentyl, w milisekundach z wyjątkiem CLS, który jest wynikiem bez jednostki), samples, rating (good, needs_improvement lub poor, null bez danych), good, needs_improvement i poor (procent próbek), previous_p75, change (procent względem wcześniejszego okresu, null, gdy nieznany) i thresholds [limit good, limit poor]. trend to dzienne p75 wybranej metryki jako {date, p75, samples}. breakdowns ma page, device, browser i country, każde z do limit wierszy (domyślnie 10, maks. 100) wybranej metryki jako {value, p75, samples, rating, slow_share, poor}, od najgorszych i najbardziej ruchliwych. Wybierz metric dokładnie jedną z LCP, INP, CLS, FCP lub TTFB wielkimi literami (domyślnie LCP). sample_rate to udział wizyt, które zgłaszają wskaźniki, więc liczby to próbki, a nie wszystkie wizyty. Przyjmuje wspólne dane wejściowe period, compare, filters i segment. Dla wskaźników jednej strony użyj pages_detail.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/performance.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
Wykrywanie botów
GET
/sites/:site_id/bot-detection.json
Raport zaawansowanego wykrywania botów: wejścia na strony pułapki (honeypot) witryny, według strony i tego, co zdradziło bota
bot_detection_report
Raportuje wejścia na strony pułapki (honeypot) witryny. Strona pułapka to strona dostępna tylko przez ukryty link i skonfigurowana jako strona zaawansowanego wykrywania botów, jak pokazuje aplikacja. Te wejścia to boty, więc nigdy nie są odsłonami ani wizytami i nie pojawiają się w stats_overview ani stats_breakdown. Wybierz zakres przez period (7d, 30d (domyślnie), 90d lub 12mo). Wejścia są przechowywane przez 12 miesięcy. Wynik ma period, from (początek zakresu), has_data (false do pierwszego wejścia), totals (hits, odrębne strony, automated (wejścia, w których tracker zobaczył zautomatyzowaną przeglądarkę) i no_interaction (wejścia bez ruchu wskaźnika, klawiszy ani dotyku)), pages (do 50 wierszy z path, hits i last_hit_at), reasons (wejścia według wyniku standardowego filtra botów: known_bot, automation, datacenter, empty_user_agent, referrer_spam lub undetected dla wejścia, które filtr policzyłby jako osobę) i recent (ostatnie 50 wejść z occurred_at, path, country, browser, device, bot_reason, automation i interacted). Z wejściem nie jest przechowywany żaden adres IP ani User-Agent, tylko ich skróty kluczowane, które nie pozwalają nikogo zidentyfikować, i nigdy nie są zwracane. Wymaga analytics.read i planu Business lub Enterprise (w przeciwnym razie 402 plan_limit).
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/bot-detection.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
Wyszukiwanie
GET
/sites/:site_id/search.json
Raport wyszukiwania: kliknięcia, wyświetlenia, CTR, pozycja, najlepsze zapytania i strony, strony docelowe i szanse
search_report
Wyniki wyszukiwania z Google Search Console i Bing Webmaster, połączone z metrykami stron docelowych samej witryny. Wybierz provider: all (domyślnie) sumuje wszystkie połączone wyszukiwarki, z pozycją ważoną liczbą wyświetleń oraz krajami i urządzeniami tylko z Google, albo samo google lub samo bing, oraz zwykłe period lub własne from i to. limit (od 1 do 100, domyślnie 25) ogranicza wiersze w każdej tabeli. Wynik ma period, provider, connection (property, status, last_synced_at wybranej wyszukiwarki, lub null, gdy nie jest połączona lub provider to all), connections (każda połączona wyszukiwarka z provider, property, status i last_synced_at), latest_date (najnowszy dzień z danymi), delayed (true, gdy zakres wykracza poza latest_date), totals i series (na dzień), każde z clicks, impressions, ctr (wartość procentowa, nie ułamek, 2 miejsca po przecinku) i position (średnia pozycja, 1 to najlepsza, null, jeśli nieznana), breakdowns dla query, page, country i device (wiersze z value oraz tymi samymi czterema metrykami), landing_pages (najlepsze strony z visits, bounce_rate i conversion_rate w procentach oraz conversions) i opportunities (low_ctr_queries z co najmniej 100 wyświetleniami i CTR poniżej 2 procent oraz strony striking_distance ze średnią pozycją od 8 do 20). Wartości country są takie, jak zgłasza dostawca. Użyj stats_breakdown dla danych o odwiedzających, a tego narzędzia dla tego, co dzieje się przed kliknięciem. Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/search.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
DELETE
/sites/:site_id/search/connections/:provider.json
Odłącz Search Console lub Bing i usuń ich dane
search_disconnect
Odłącza dostawcę wyszukiwania (google lub bing) od witryny i trwale usuwa zaimportowane dane wyszukiwania tego dostawcy. Tej operacji nie można cofnąć. Autoryzacja Google jest też usuwana, gdy żadna witryna jej nie używa. Kończy się błędem, jeśli ten dostawca nie jest połączony. Zwraca usunięte połączenie. Wymaga sites.manage.
Uprawnienie: sites.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/search/connections/:provider.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/search/sync.json
Zaimportuj dane wyszukiwania teraz
search_sync
Kolejkuje natychmiastowy import danych wyszukiwania dla połączonego dostawcy (google, domyślnie, lub bing), zamiast czekać na regularny harmonogram. Wraca od razu (HTTP 202) z połączeniem, a import działa w tle. Odpytuj search_report i obserwuj connection.last_synced_at. Wyszukiwarki raportują z opóźnieniem kilku dni, więc najnowsze dni pozostają puste nawet po synchronizacji. Kończy się błędem, jeśli dostawca nie jest połączony. Wymaga sites.manage.
Uprawnienie: sites.manage
curl -X POST https://privatusanalytics.com/sites/:site_id/search/sync.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Wzmianki w opiniach
GET
/sites/:site_id/testimonials/mentions.json
Wyświetl słowa i wyrażenia powtarzające się w opiniach witryny
testimonial_mentions_list
Każdy termin przychodzi z liczbą opinii, które go zawierają, jego udziałem, średnią oceną tych opinii oraz ostatnimi 90 dniami w porównaniu z 90 poprzednimi. Sortuj po rating_asc, aby przeczytać, na co ludzie narzekają, lub po rising, aby zobaczyć, co jest nowe. meta.refreshed_at mówi, kiedy terminy zostały ostatnio przebudowane. Przekaż termin do testimonials_list jako mention, aby odczytać opinie.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/mentions.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/testimonials/mentions/tag.json
Otaguj każdą opinię wspominającą słowo lub wyrażenie
testimonial_mentions_tag
Jedna akcja zbiorcza na całym wyniku, z cofnięciem. Termin to dowolne słowo lub dwuwyrazowe wyrażenie, dopasowane ze stemmingiem tak, jak liczone są Wzmianki. Tag nazwany po raz pierwszy jest tworzony. Odpowiada id cofnięcia, które testimonials_bulk_undo przyjmuje przez 7 dni. Więcej niż 100 działa w tle.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/mentions/tag.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
PATCH
/sites/:site_id/testimonials/mentions.json
Ukryj termin będący tylko szumem albo pokaż go ponownie
testimonial_mentions_update
Ukryty termin znika z listy Wzmianek i z aspektu Wzmianki skrzynki oraz pozostaje ukryty po przebudowie terminów.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/mentions.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Własne właściwości opinii
POST
/sites/:site_id/testimonials/settings/properties.json
Dodaj własną właściwość do witryny
testimonial_properties_create
Witryna może mieć do 20 aktywnych właściwości. Klucz jest stały po utworzeniu, bo korzystają z niego linki formularzy, reguły i API. Pomiń go, a zostanie zaproponowany na podstawie etykiety.
Uprawnienie: sites.manage
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/settings/properties.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/testimonials/settings/properties/:id.json
Usuń własną właściwość i jej wartości na stałe
testimonial_properties_destroy
Tego nie można cofnąć. Usuwa właściwość i jej wartość z każdej opinii. confirm to klucz. Właściwości używanej przez kolekcję inteligentną lub regułę auto-tagowania nie można usunąć, dopóki z niej korzystają. Archiwizacja to codzienny sposób na wycofanie właściwości.
Uprawnienie: sites.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/testimonials/settings/properties/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/settings/properties.json
Wyświetl własne właściwości witryny, w kolejności wyświetlania
testimonial_properties_list
Każda mówi o swoim kluczu, typie i opcjach, ile opinii ma wartość (filled), czy jej typ może jeszcze się zmienić oraz które kolekcje inteligentne i reguły auto-tagowania jej używają.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/settings/properties.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/testimonials/settings/properties/:id.json
Zmień, przesuń, zarchiwizuj lub przywróć własną właściwość
testimonial_properties_update
Tylko wysłane dane cokolwiek zmieniają. Zmiana nazwy opcji zmienia ją w każdej opinii, która ją ma. Właściwości używanej przez kolekcję inteligentną lub regułę auto-tagowania nie można zarchiwizować, dopóki z niej korzystają.
Uprawnienie: sites.manage
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/settings/properties/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Zapisane widoki opinii
POST
/sites/:site_id/testimonials/views.json
Zapisz filtr, tekst wyszukiwania, sortowanie i układ skrzynki pod nazwą
testimonial_saved_views_create
Widok osobisty wymaga tylko analytics.read. Współdzielony wymaga content.write i w przeciwnym razie jest odrzucany z kodem not_allowed. Przypięty widok jest w panelu bocznym z licznikiem. Otwórz go przez testimonials_list i view_id.
Uprawnienie: analytics.read
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/views.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/testimonials/views/:id.json
Usuń zapisany widok. Żadna opinia nie jest ruszana
testimonial_saved_views_destroy
Zapisany widok to zapisany filtr, więc odchodzi tylko widok. Wtyczka lub ściana zasilana widokiem zachowuje swoje ustawienia i nie ma nic do pokazania, dopóki nie dostanie innego źródła. Widok osobisty usuwa jego właściciel, a współdzielony wymaga content.write. W przeciwnym razie wywołanie jest odrzucane z kodem not_allowed. Przez MCP narzędzie niczego nie zmienia i odpowiada stroną aplikacji, na której robi to człowiek.
Uprawnienie: analytics.read
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/testimonials/views/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/views.json
Wyświetl zapisane widoki witryny, które wywołujący może otworzyć
testimonial_saved_views_list
Zwraca własne widoki wywołującego i każdy współdzielony, najpierw przypięte w ich kolejności, potem według nazwy. scope to all (domyślnie), mine lub shared. Przekaż id widoku jako view_id do testimonials_list, aby odczytać zawarte w nim opinie.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/views.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/testimonials/views/:id.json
Zmień nazwę zapisanego widoku, to, co przechowuje, przypnij go lub udostępnij
testimonial_saved_views_update
Zmieniają się tylko wysłane dane: name, zapisane wyszukiwanie (q), filters, sort, layout, columns, position, pinned i shared. Widok osobisty zmienia jego właściciel. Zmiana widoku współdzielonego oraz udostępnianie lub cofanie udostępnienia dowolnego widoku wymaga content.write.
Uprawnienie: analytics.read
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/views/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Zbieranie danych
POST
/embed/ads/e.json
Zapisz, że kreacja została wyświetlona, zobaczona lub kliknięta, wywoływane przez skrypt ładujący reklamy
ad_serving_event
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/embed/ads/e.json \
-H "Content-Type: application/json" -d '{…}'
GET
/embed/ads/:site.json
Sloty reklamowe witryny i kreacje, które każdy z nich pokazuje, wywoływane przez skrypt ładujący reklamy
ad_serving_slots
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl https://privatusanalytics.com/embed/ads/:site.json
POST
/api/overlay.json
Kliknięcia jednej strony dla nakładki mapy kliknięć, wywoływane przez pa.overlay.js z jej przepustką
click_overlays_read
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/api/overlay.json \
-H "Content-Type: application/json" -d '{…}'
POST
/api/logs.json
Wyślij logi dostępu serwera do raportowania robotów AI (JSON {lines: [...]} lub tekst logu w formacie combined, z kluczem logów robotów witryny jako tokenem Bearer)
crawler_logs_create
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/api/logs.json \
-H "Content-Type: application/json" -d '{…}'
POST
/api/event.json
Zbierz trafienie z przeglądarki (używane przez /js/pa.js)
ingest_event
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/api/event.json \
-H "Content-Type: application/json" -d '{…}'
GET
/api/experiment.json
Czy eksperyment kieruje tego odwiedzającego na stronę wariantu, wywoływane przez skrypt eksperymentów w nagłówku head
ingest_experiment
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl https://privatusanalytics.com/api/experiment.json
GET
/js/exp/:site.json
Skrypt, który opcjonalny tag eksperymentów w head ładuje dla witryny
ingest_experiment_script
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl https://privatusanalytics.com/js/exp/:site.json
POST
/api/survey.json
Zapisz, że karta ankiety została pokazana, odrzucona lub wypełniona
ingest_survey
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/api/survey.json \
-H "Content-Type: application/json" -d '{…}'
GET
/api/surveys.json
Jaką ankietę pokazać na stronie, wywoływane przez moduł pytań trackera
ingest_surveys
Uprawnienie: public
· Tylko HTTP (nie jest narzędziem MCP)
curl https://privatusanalytics.com/api/surveys.json
Zdarzenia
GET
/sites/:site_id/events/properties.json
Wyświetl klucze właściwości zdarzeń widziane w ostatnich 30 dniach
event_properties_list
Wyświetla klucze właściwości, które zdarzenia niestandardowe niosły w ostatnich 30 dniach, z ustawieniami wyświetlania. Zwraca listę {key, events, display_name, hidden, export_safe}. events to liczba zdarzeń niestandardowych, które niosły klucz (0 dla klucza, który ma ustawienia, ale nie był ostatnio widziany), display_name to zmieniona nazwa (null, gdy brak), hidden oznacza, że klucz jest ukryty w raportach, a export_safe oznacza, że jest oznaczony jako niezawierający danych osobowych. Zwracanych jest najwyżej 200 kluczy, od najczęściej używanych. Przekaż event, aby zobaczyć tylko klucze widziane przy jednej surowej nazwie zdarzenia. Wartości właściwości nigdy tu nie są zwracane, użyj stats_breakdown z dimension prop:<key> lub events_get dla wartości. Ustawienia zmieniasz przez event_properties_update.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/events/properties.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/events/properties.json
Zmień nazwę lub ukryj klucz właściwości zdarzenia
event_properties_update
Zmienia nazwę, ukrywa lub oznacza jako bezpieczny do eksportu jeden klucz właściwości zdarzenia, dla całej witryny. Zmieniają się tylko przesłane dane wejściowe. key musi być kluczem tak, jak jest zapisany (małe litery, cyfry i podkreślenia, do 64 znaków, na przykład plan). display_name to etykieta do 64 znaków (wyślij pustą, aby usunąć zmianę nazwy). hidden usuwa klucz z raportów i przestawnego widoku szczegółów zdarzenia, a dane są zachowywane. export_safe oświadcza, że klucz nigdy nie zawiera danych osobowych, co uwzględnia jego wartości w surowych eksportach i synchronizacjach z hurtownią, więc ustaw to tylko wtedy, gdy to prawda. Zmiany nazw i ukrywanie obowiązują przy odczycie raportów i nie przepisują zapisanych danych. Zwraca {key, display_name, hidden, export_safe}. Wymaga uprawnienia sites.manage. Wyświetl klucze przez event_properties_list.
Uprawnienie: sites.manage
curl -X PATCH https://privatusanalytics.com/sites/:site_id/events/properties.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/events.json
Usuń zdarzenie i jego historię (działa w tle, potwierdź wpisując nazwę)
events_delete
Trwale usuwa zdarzenie niestandardowe i całą jego historię. Tej operacji nie można cofnąć. Surowa nazwa zdarzenia musi zostać wysłana dwa razy, w name i ponownie w confirm, jako zabezpieczenie. Zwraca {name, status: queued} z HTTP 202, ponieważ wiersze są usuwane w tle partiami, więc liczby zmieniają się do zakończenia. Zdarzenie jest też od razu ukrywane, a usunięcie jest zapisywane w dzienniku audytu. Odsłony nie są dotknięte. Jeśli chcesz tylko przestać pokazywać zdarzenie, użyj events_update z hidden true, co zachowuje dane. Wymaga uprawnienia sites.manage. Nazwy pochodzą z events_list (użyj pola raw_names, jeśli zdarzenie zmieniono lub scalono).
Uprawnienie: sites.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/events.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/events.json
Wyświetl zdarzenia z liczbą wykonań, wizytami, współczynnikiem konwersji oraz datą pierwszego i ostatniego wystąpienia
events_list
Eksplorator zdarzeń: każde zdarzenie niestandardowe w okresie. Zwraca period, events i hidden. Każde zdarzenie ma name (wyświetlana nazwa po zmianach i scaleniach), raw_names (nazwy wysłane przez tracker), completions, visits, conversion_rate (procent wizyt, od 0 do 100), revenue (jednostki podrzędne, centy), first_seen i last_seen (znaczniki czasu ISO 8601 w okresie) oraz currency (waluta przychodu, null, gdy nieustawiona). hidden wylicza zdarzenia, które ukryłeś, jako {name, display_name}. Użyj search, aby zachować zdarzenia, których nazwa zawiera jakiś tekst. Odsłony nie są tu zdarzeniami. Użyj events_get dla jednego zdarzenia dogłębnie i stats_breakdown z dimension event dla uszeregowanej, stronicowanej listy. Przyjmuje wspólne dane wejściowe period, compare, filters i segment.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/events.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/events/merge.json
Scal kilka zdarzeń w jedną wyświetlaną nazwę
events_merge
Scala kilka surowych nazw zdarzeń w jedną nazwę wyświetlaną, na przykład signup_click i signup_button w Signup. Raporty pokazują wtedy jedno zdarzenie ze zsumowanymi liczbami. Działa przy odczycie raportów, a zapisane zdarzenia nie są zmieniane ani usuwane. Przekaż names (surowe nazwy, co najmniej jedna) i into (nazwa wyświetlana). Zwraca jeden obiekt ustawień na każdą scaloną nazwę, każdy {name, display_name, hidden, currency, updated_at}. Aby cofnąć, wywołaj events_update dla nazwy z pustym display_name. Wymaga uprawnienia sites.manage. Nazwy pochodzą z events_list (raw_names).
Uprawnienie: sites.manage
curl -X POST https://privatusanalytics.com/sites/:site_id/events/merge.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/events/detail.json
Jedno zdarzenie: wykres, tabela przestawna właściwości, agregaty właściwości liczbowych, strony i źródła
events_get
Szczegóły jednego zdarzenia niestandardowego. Przekaż name dokładnie tak, jak pokazuje events_list (wyświetlana nazwa po zmianach i scaleniach). Zwraca period, name, raw_names (zapisane nazwy, które za nim stoją), interval, totals, setting, series, property_keys, pivot, numeric, pages, channels i referrers. totals ma completions, visits (wizyty, które je wywołały), revenue (jednostki podrzędne, centy) i conversion_rate (procent wszystkich wizyt w okresie). series to realizacje na przedział czasu. setting ma display_name, hidden i currency. property_keys wylicza widziane klucze właściwości. Prześlij properties (do 3 kluczy), aby dostać pivot, wiersze {values, completions, visits} dla każdej kombinacji wartości, top 100. numeric daje sumę, średnią i inne wartości dla właściwości zawierających liczby. pages, channels i referrers to 10 najlepszych miejsc, w których zdarzenie wystąpiło, jako {value, completions, visits}. Użyj events_list dla wszystkich zdarzeń, stats_breakdown z dimension prop:<key> dla jednej właściwości w całej witrynie i events_update, aby zmienić nazwę.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/events/detail.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/events/settings.json
Zmień nazwę, ukryj lub odkryj zdarzenie albo ustaw jego walutę
events_update
Zmienia sposób pokazywania jednego zdarzenia niestandardowego: zmień nazwę przez display_name, ukryj lub pokaż przez hidden albo ustaw walutę przychodu. name to surowa nazwa zdarzenia tak, jak wysłał ją tracker (zobacz raw_names w events_list). Zmieniają się tylko przesłane dane wejściowe. Pusty display_name usuwa zmianę nazwy. hidden usuwa zdarzenie z list i raportów, a jego dane są zachowywane. currency to trzyliterowy kod ISO 4217, taki jak USD, zapisywany wielkimi literami. Działa przy odczycie raportów i żadne zapisane zdarzenia nie są przepisywane. Zwraca {name, display_name, hidden, currency, updated_at}. Aby połączyć kilka zdarzeń, użyj events_merge, a aby wymazać dane, events_delete. Wymaga uprawnienia sites.manage.
Uprawnienie: sites.manage
curl -X PATCH https://privatusanalytics.com/sites/:site_id/events/settings.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Ściany opinii
POST
/sites/:site_id/testimonials/walls.json
Utwórz Ścianę opinii
testimonial_walls_create
Hostowana strona pod adresem https://privatus.page/w/<slug>. Wszystko, co pominięto, zaczyna się od wartości domyślnej: tytuł Wall of Love, układ masonry, slug z nazwy.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/walls.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/testimonials/walls/:id.json
Przenieś ścianę do kosza
testimonial_walls_trash
Jej strona odpowiada, że została zdjęta, dopóki nie zostanie przywrócona, a osadzona kopia niczego nie renderuje. Przywrócenie zwraca ją pod ten sam adres. Po 30 dniach jest usuwana na stałe. Przez MCP narzędzie niczego nie zmienia i odpowiada stroną aplikacji, na której robi to człowiek.
Uprawnienie: content.write
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/testimonials/walls/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/walls/:id/duplicate.json
Skopiuj ścianę pod nową nazwą i adresem
testimonial_walls_duplicate
Tworzy kopię z nowym id, nazwą kończącą się na „copy” i własnym slug, więc ma własny adres. Oryginał i jego adres nie są zmieniane.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/walls/:id/duplicate.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/walls/:id/embed.json
Pobierz link do ściany i kod do umieszczenia jej wewnątrz innej strony
testimonial_walls_embed
Publiczny adres ściany oraz fragmenty skryptu, ramki i zwykłego linku, które umieszczają ją wewnątrz innej strony. Fragmenty nigdy się nie zmieniają, gdy ściana jest edytowana.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/walls/:id/embed.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/testimonials/walls.json
Wyświetl Ściany opinii witryny
testimonial_walls_list
Każda Ściana opinii witryny, której nie ma w koszu, z jej adresem, tym, co ją zasila, i liczbą pokazywanych opinii. Użyj q, aby szukać po nazwie lub slug, i sort, aby sortować według nazwy lub najnowszej.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/walls.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/testimonials/walls/:id/restore.json
Przywróć ścianę z kosza
testimonial_walls_restore
Wyjmuje ścianę z kosza. Jej strona znów odpowiada pod tym samym adresem, a każda osadzona kopia znów ją pokazuje bez zmiany wklejonego kodu.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/walls/:id/restore.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/walls/:id.json
Pobierz jedną ścianę ze wszystkimi ustawieniami
testimonial_walls_get
Wszystko, co zapisuje kreator: adres (/w/<slug>), nagłówek i przycisk, układ, co zasila ścianę, co pokazuje każda karta, styl oraz ustawienia wyszukiwarek. Ściana w koszu odpowiada 404.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/walls/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/testimonials/walls/:id.json
Zmień ścianę
testimonial_walls_update
Zmieniają się tylko wysłane dane. Zmieniony slug zostawia stary adres z przekierowaniem.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/walls/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
Śledzenie
POST
/sites/:site_id/tracking/ingest_key.json
Utwórz lub zmień klucz logów robotów (pokazywany raz)
tracking_ingest_key_rotate
Tworzy nowy tajny klucz logów robotów (zaczyna się od pik_) dla witryny i zastępuje każdy istniejący klucz. Klucz uwierzytelnia wysyłanie logów dostępu serwera do raportu robotów AI (POST /api/logs). Użyj go zarówno do utworzenia pierwszego klucza, jak i do rotacji. Nowy klucz działa od razu, a stary przestaje działać od razu, więc wdróż nowy klucz natychmiast, aby uniknąć 401 przy wysyłaniu logów. Pełny klucz jest zwracany tylko w tej odpowiedzi, w polu key, więc zapisz go w magazynie sekretów. Potem zachowywany i pokazywany jest tylko krótki prefiks (prefix tutaj, ingest_key_prefix w witrynie). Zwraca site_id, key i prefix. Wymaga sites.manage. Użyj tracking_ingest_key_revoke, aby usunąć klucz bez zastępowania.
Uprawnienie: sites.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X POST https://privatusanalytics.com/sites/:site_id/tracking/ingest_key.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/tracking/ingest_key.json
Unieważnij klucz logów robotów
tracking_ingest_key_revoke
Usuwa klucz logów robotów witryny. Od tej chwili każde wysłanie logów z tym kluczem jest odrzucane z 401, dopóki nie utworzysz nowego przez tracking_ingest_key_rotate. Śledzenie w przeglądarce z publicznym identyfikatorem witryny nie jest dotknięte. Klucza nie można przywrócić. Wymaga sites.manage. Zwraca obiekt witryny (zobacz sites_get), w którym ingest_key_prefix ma teraz wartość null.
Uprawnienie: sites.manage
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/tracking/ingest_key.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/tracking/verify.json
Sprawdź, czy tracker jest zainstalowany w witrynie (tag script, identyfikator witryny, CSP i polityka referrera)
tracking_verify
Pobiera stronę witryny i sprawdza, czy skrypt śledzący Privatus Analytics jest zainstalowany poprawnie, a witrynę oznacza jako zweryfikowaną, gdy znajdzie skrypt z identyfikatorem tej witryny. Domyślnie żąda strony głównej (https://domain/), a url może wskazać inną stronę, ale tylko w domenie witryny, jej dodatkowych domenach lub ich subdomenach. Wynik (w data) ma url, status (status HTTP), script_found, site_ids (każdy identyfikator data-site znaleziony na stronie), installed (true, gdy identyfikator tej witryny jest wśród nich), csp i csp_ok (czy Content-Security-Policy strony pozwala trackerowi się załadować i wysyłać), referrer_policy i referrer_ok (polityka no-referrer oznacza, że każda wizyta wygląda jak bezpośrednia) oraz checked_at. Pobiera przez publiczny internet, czyta najwyżej 2 MB i ma limit częstotliwości na przestrzeń roboczą i na host, więc odpowiada 429 przy zbyt częstych wywołaniach. Jeśli strona jest nieosiągalna, zwraca błąd walidacji. Użyj sites_setup_get, aby zobaczyć, czy zdarzenia dotarły. Wymaga sites.manage.
Uprawnienie: sites.manage
curl -X POST https://privatusanalytics.com/sites/:site_id/tracking/verify.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/tracking/snippet.json
Zbuduj fragment kodu śledzenia dla wybranych opcji
tracking_snippet
Buduje znacznik HTML script do zainstalowania śledzenia w witrynie i zwraca go z identyfikatorem witryny jako data.site_id i data.snippet. Wybierz to zamiast sites_setup_get, gdy chcesz go dostosować, a potem użyj tracking_verify, aby sprawdzić stronę na żywo. Domyślnie ładowany jest każdy moduł trackera, a odsłony są automatyczne. modules zawęża do podzbioru engage (czas i przewijanie), auto (linki wychodzące, pobrania, formularze, błędy 404), vitals (Web Vitals), clicks (mapy kliknięć) i ask (ankiety na stronie). manual true wyłącza automatyczną odsłonę, więc wysyłasz je sam. spa ustawia śledzenie nawigacji aplikacji jednostronicowych na auto, history, hash lub off. domains ogranicza śledzenie do tych nazw hostów, exclude wylicza wzorce glob ścieżek do pominięcia, query_params wylicza dodatkowe parametry zapytania do zachowania, a mask wylicza maski ścieżek po stronie klienta zapisane jako /u/*->/u/:id. Nic nie jest zapisywane, fragment jest generowany z danych wejściowych za każdym razem. Wymaga analytics.read.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/tracking/snippet.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
Źródła importu opinii
POST
/sites/:site_id/testimonials/imports/sources.json
Dodaj źródło importu z linku i uruchom jego pierwszy przebieg
testimonial_import_sources_create
Platforma jest wykrywana z linku. To, co znajdzie przebieg, czeka w kroku przeglądu (testimonial_import_sources_review) i nic nie jest zapisywane do czasu testimonial_import_sources_keep. Nic zaimportowanego nie liczy się do miesięcznych opinii. Plan Free pobiera 1 import miesięcznie z serwisu recenzji lub strony. Po przekroczeniu odpowiedzią jest 402 plan_limit.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/imports/sources.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
DELETE
/sites/:site_id/testimonials/imports/sources/:id.json
Usuń źródło. Opinie, które przyniosło, zostają
testimonial_import_sources_delete
Usuwa źródło wraz z historią przebiegów, tym, co czeka w jego kroku przeglądu, i przesłanym plikiem. Opinie już z niego zachowane zostają w witrynie. Człowiek robi to na stronie źródła, więc narzędzie niczego nie uruchamia i zwraca tę stronę.
Uprawnienie: content.write
· Tylko HTTP (nie jest narzędziem MCP)
curl -X DELETE https://privatusanalytics.com/sites/:site_id/testimonials/imports/sources/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/imports/sources/:id/discard.json
Odrzuć znalezione elementy
testimonial_import_sources_discard
Podaj item_ids (id z testimonial_import_sources_review) lub all true dla wszystkiego, co jeszcze czeka, nigdy obu naraz. Odrzucony element opuszcza krok przeglądu, a to, co o osobie odczytano, jest usuwane. Żadna opinia nie jest usuwana. W przeciwnym razie serwer odpowiada 422 i kodem selection lub unknown_ids.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/imports/sources/:id/discard.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
POST
/sites/:site_id/testimonials/imports/find.json
Znajdź opinie na własnej stronie witryny
testimonial_import_sources_find
Odczytuje domenę witryny i strony, do których prowadzi, wyglądające na takie z opiniami, raz na witrynę. Jest darmowe: nie jest jednym z pobieranych importów planu Free. To, co znajdzie, czeka w kroku przeglądu zwróconego źródła.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/imports/find.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/imports.json
Wyświetl źródła importu witryny
testimonial_import_sources_list
meta zawiera fetched_imports (used, limit i resets_on dla miesiąca, limit null oznacza brak limitu) oraz sync (tempo dozwolone przez plan).
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/imports.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/testimonials/imports/sources/:id/keep.json
Zachowaj znalezione elementy jako opinie
testimonial_import_sources_keep
Podaj item_ids (do 100) lub all. Każdy zachowany element jest zapisywany tą samą ścieżką co każda inna opinia, więc duplikaty nigdy nie są zapisywane dwa razy. Nic zachowanego nie liczy się do miesięcznych opinii. meta mówi, ile zachowano.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/imports/sources/:id/keep.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/imports/platforms.json
Wyświetl platformy, które import potrafi odczytać
testimonial_import_platforms_list
Rejestr przetestowanych źródeł. Platforma jest wymieniona dopiero, gdy jej import zostanie sprawdzony na prawdziwej stronie. Każdy wpis mówi, jaki link wkleić.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/imports/platforms.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
GET
/sites/:site_id/testimonials/imports/sources/:id/review.json
Wyświetl to, co źródło znalazło i o czym jeszcze nie zdecydowano
testimonial_import_sources_review
meta zawiera liczniki według plakietki (new, already_here, likely_duplicate).
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/imports/sources/:id/review.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
POST
/sites/:site_id/testimonials/imports/sources/:id/run.json
Odczytaj źródło ponownie teraz
testimonial_import_sources_run
Przebieg ręczny to pobrany import i liczy się jako jeden z miesięcznych w planie Free (402 plan_limit po przekroczeniu). Odrzucany, gdy przebieg jest aktywny (422 in_progress), oraz po 3 przebiegach źródła w ciągu 24 godzin w każdym planie (422 too_many_runs). W źródle z błędem zeruje licznik niepowodzeń.
Uprawnienie: content.write
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/imports/sources/:id/run.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'
GET
/sites/:site_id/testimonials/imports/sources/:id.json
Pobierz jedno źródło importu z jego stanem i licznikami
testimonial_import_sources_get
Zwraca platformę, nazwę, odczytywany adres, jak często jest odczytywany ponownie, stan, ile elementów czeka w kroku przeglądu, ile zachowano, liczbę kolejnych niepowodzeń oraz kiedy ostatnio działało i kiedy znów zadziała.
Uprawnienie: analytics.read
curl https://privatusanalytics.com/sites/:site_id/testimonials/imports/sources/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH
/sites/:site_id/testimonials/imports/sources/:id.json
Zmień link, nazwę, synchronizację, automatyczne zatwierdzanie źródła albo je wstrzymaj
testimonial_import_sources_update
Synchronizacja powyżej planu (jakakolwiek w Free, tygodniowa w Pro) jest odrzucana z 402 plan_limit.
Uprawnienie: content.write
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/imports/sources/:id.json \
-H "Authorization: Bearer $PRIVATUS_TOKEN" \
-H "Content-Type: application/json" -d '{…}'