Dokumentacja
Przeglądaj dokumentację

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.

Zobacz jako Markdown

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.

sh
curl https://privatusanalytics.com/sites/pa_7Q2K9XH3AB/stats/aggregate.json?period=7d \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
json
{
  "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

Uwierzytelnianie

Wyślij Authorization: Bearer pat_…. Tokeny utworzysz w ustawieniach przestrzeni roboczej, w sekcji Tokeny API. Przewodnik po uwierzytelnianiu.

JSON wszędzie

Dodaj .json do dowolnej ścieżki. Odpowiedzi mają postać { "data": … }, a błędy { "error": { "code", "message" } }. Błędy.

MCP

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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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)

Przykład
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

Przykład
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)

Przykład
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

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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

Przykład
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)

Przykład
curl https://privatusanalytics.com/openapi.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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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/share.json Pobierz link formularza, linki kodu QR i fragmenty osadzenia testimonial_forms_share

Zwraca link, fragment osadzenia wbudowanego i fragment osadzenia wyskakującego okna. Dane okna (trigger, label, position, accent) zmieniają fragment okna.

Uprawnienie: analytics.read

Przykład
curl https://privatusanalytics.com/sites/:site_id/testimonials/forms/:id/share.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
curl https://privatusanalytics.com/sites/:site_id/campaigns.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"

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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
curl https://privatusanalytics.com/wallboard/:token.json

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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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)

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
curl https://privatusanalytics.com/sponsor/:token.json

Raporty dla sponsorów

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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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)

Przykład
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)

Przykład
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

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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

Przykład
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)

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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

Przykład
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

Przykład
curl https://privatusanalytics.com/status.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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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)

Przykład
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

Przykład
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

Przykład
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)

Przykład
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)

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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)

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
curl https://privatusanalytics.com/badge/:site_id.json
GET /share/:token/breakdown/:dimension.json Najczęstsze wartości udostępnionego wymiaru shares_breakdown

Najlepsze wartości jednego wymiaru za linkiem do udostępniania, udostępniony odpowiednik stats_breakdown. Ścieżka przyjmuje token (ostatnia część adresu URL udostępnienia) i dimension, które musi należeć do sekcji udostępnianej przez link, na przykład sources udostępnia channel, referrer i referrer_url, pages udostępnia page, entry_page, exit_page i hostname, campaigns udostępnia wymiary utm_, locations udostępnia country i language, technology udostępnia device, browser, os i screen, conversions udostępnia goal, a events udostępnia event. Wymiar spoza sekcji linku jest odrzucany błędem walidacji. limit to od 1 do 100 wierszy (domyślnie 10). Wiersze mają te same pola i jednostki co stats_breakdown dla tego wymiaru. Zablokowany okres i filtry linku mają pierwszeństwo przed period, from, to i filters, a filtry od wywołującego są ignorowane, gdy link ich nie dopuszcza. Link z hasłem wymaga nagłówka X-Share-Password.

Uprawnienie: public · Tylko HTTP (nie jest narzędziem MCP)

Przykład
curl https://privatusanalytics.com/share/:token/breakdown/:dimension.json
GET /share/:token.json Przegląd udostępnionego pulpitu dla tokena udostępniania shares_overview

Odczytuje pulpit za linkiem do udostępniania dla osób bez konta. Token ze ścieżki to ostatnia część adresu URL udostępnienia (/share/<token>) i jest jedynym poświadczeniem, link z hasłem wymaga też nagłówka X-Share-Password, a link sso wymaga zalogowanego członka. Przyjmuje też identyfikator witryny (pa_...), gdy witryna ma włączony pulpit publiczny. Zwraca te same dane co stats_overview, ograniczone do tego, co udostępnia link. To period, metrics (visitors, visits, pageviews, views_per_visit, bounce_rate jako procent, visit_duration w milisekundach, revenue w jednostkach podrzędnych), serie wykresu dla interval, dane porównania, gdy ustawiono compare, oraz panels z najlepszymi wartościami tylko dla udostępnionych sekcji. Dodaje site (id, name, domain, timezone), sections i locked_period. live_visitors pojawia się tylko wtedy, gdy link udostępnia live. Zablokowany okres i zablokowane filtry linku mają pierwszeństwo przed period, from, to i filters. Użyj shares_breakdown dla większej liczby wierszy jednego wymiaru. Dla własnych witryn użyj stats_overview.

Uprawnienie: public · Tylko HTTP (nie jest narzędziem MCP)

Przykład
curl https://privatusanalytics.com/share/:token.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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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)

Przykład
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

Przykład
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

Przykład
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)

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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)

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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)

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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

Przykład
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 '{…}'