Dokumentation
Bläddra i dokumentationen

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.

Visa som 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

Alla operationer

Autentisering

Skicka Authorization: Bearer pat_…. Skapa token under Arbetsytans inställningar, API-token. Guide för autentisering.

JSON överallt

Lägg till .json på vilken sökväg som helst. Svar är { "data": … } och fel är { "error": { "code", "message" } }. Fel.

MCP

Skicka JSON-RPC med POST till https://privatusanalytics.com/mcp med samma token. Varje operation nedan är ett verktyg. MCP-guide.

Ladda ner openapi.json · 527 operationer

API-token

POST /workspaces/:workspace_id/api_tokens.json Skapa en API-token (token returneras en gång) api_tokens_create

Skapar en API-token för den anropande medlemmen i en arbetsyta och returnerar hemligheten exakt en gång i fältet token. Kopiera den direkt, den kan inte läsas igen och en borttappad token måste återkallas och skapas på nytt. En token kan bara begränsa vad dess medlem får göra. permissions är som standard alla medlemmens egna behörigheter om fältet utelämnas (en uttryckligen tom lista nekas, och att be om en behörighet du saknar ger ett fel). site_ids tar publika webbplats-id (pa_...) och begränsar token till de webbplatserna. När listan är tom fungerar token för alla webbplatser som dess medlem har åtkomst till (eller behåller webbplatslistan för den token som gör anropet). expires_at är valfri i ISO 8601 och måste ligga i framtiden och högst 3 år bort, utelämna den för en token som aldrig går ut. allowed_ips begränsar token till de IP-adresserna eller CIDR-intervallen. En token som gör det här anropet behöver tokens.manage. En arbetsyta som kräver tvåfaktorsautentisering nekar token för medlemmar utan en egen andra faktor. Returnerar samma fält som api_tokens_list plus token.

Behörighet: member · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Återkalla en API-token api_tokens_delete

Återkallar en API-token direkt och permanent. Förfrågningar som använder den misslyckas från och med nu, och en återkallad token kan inte återställas, skapa en ny i stället. Tokenposten ligger kvar i listan med status revoked (använd api_tokens_list med include_revoked för att se den), och att återkalla en redan återkallad token ändrar ingenting. Hämta id (ett uuid) från api_tokens_list. Du kan återkalla dina egna tokens, att återkalla någon annans kräver tokens.manage och räckvidd över varje webbplats som token omfattar. En token som anropar detta behöver tokens.manage. Returnerar den återkallade token utan dess hemlighet.

Behörighet: member · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Lista API-token api_tokens_list

Listar en arbetsytas API-tokens, nyaste först och med sidindelning. Utan behörigheten tokens.manage ser du bara dina egna tokens, med den ser du alla medlemmars. Återkallade och utgångna tokens döljs om inte include_revoked är true. Varje objekt har id (uuid, används av api_tokens_delete), name, token_prefix (de första tecknen, för att känna igen en token), owner (medlemmens e-postadress), permissions (namn som analytics.read), site_ids (publika webbplats-id pa_..., en tom array betyder alla webbplatser som ägaren har åtkomst till), allowed_ips, oauth_client (den anslutna appens namn när token utfärdades via OAuth, annars null), status (active, expired eller revoked), expires_at, last_used_at, revoked_at och created_at. Själva hemligheten returneras aldrig här, token är alltid null i en lista. Den visas bara en gång av api_tokens_create.

Behörighet: member

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/api_tokens.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"

Affiliateprogram

GET /account/affiliate/commissions.json Lista dina affiliateprovisioner affiliate_commissions_list

Provisioner, återtaganden vid återbetalning och chargeback samt återföringar, nyast först. Beloppen anges i cent.

Behörighet: member

Exempel
curl https://privatusanalytics.com/account/affiliate/commissions.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /account/affiliate/signup-box.json Hämta koden och resultaten för din registreringsruta för affiliates affiliate_signup_box_get

Inbäddningskoden för din registreringsruta (ett skript och en vanlig iframe) för det valda temat, attributen som förifyller formuläret, händelserna som skriptet skickar på din sida samt rutans siffror: registreringar som väntar på bekräftelse, bekräftade registreringar och betalande kunder. available är false tills din affiliateansökan har godkänts.

Behörighet: member

Exempel
curl https://privatusanalytics.com/account/affiliate/signup-box.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /account/affiliate.json Hämta din affiliatestatus, rekommendationslänk och statistik affiliate_get

Status för din affiliateansökan, rekommendationslänk, registreringar och betalande kunder du har värvat, samt saldon per valuta (på vänt, kan betalas ut, utbetalt). status är none när du inte har ansökt.

Behörighet: member

Exempel
curl https://privatusanalytics.com/account/affiliate.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"

Analys

GET /sites/:site_id/clicks.json Klickkarta: de mest klickade elementen på webbplatsen, eller på en sida med andelen av dess besök som klickade på varje element clicks_list

Klick per element från klickmodulen i trackern. Ett element är en kort CSS-selector (tagg, id och upp till två klasser, högst fyra nivåer), eller [data-privatus-click="name"] när webbplatsen gav det ett namn. Skicka path (börjar med ett snedstreck, som det är sparat) för en sida: då är elements {selector, clicks, visits, visit_share} och page_visits är antalet besök som såg sidan, med visit_share som den procent av dem (0 till 100) som klickade på elementet. Utan path är elements {path, selector, clicks, visits} för hela webbplatsen. visits räknar besök som klickade minst en gång. Svaret har period, path, page_visits och elements, med det mest klickade först. Ingen elementtext, inga koordinater och ingen musrörelse samlas någonsin in. Använd pages_detail för resten av en sida.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/clicks.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/overview.json Webbplatsöversikt: mätvärden, diagramserier, toppaneler, live-besökare och anteckningar stats_overview

Ett anrop som returnerar allt som webbplatsens översiktssida visar: använd det för att besvara en bred fråga som hur det går för en webbplats, i stället för att anropa flera verktyg. Returnerar period, metrics (visitors, visits, pageviews, views_per_visit, bounce_rate, visit_duration, revenue), interval, series (en post per tidsintervall), panels, notes och live_visitors. Med compare läggs comparison_period, comparison, change och comparison_series till, som i stats_aggregate och stats_timeseries. Enheterna är desamma som i de verktygen: bounce_rate är en procentsats från 0 till 100, visit_duration är median av engagerade millisekunder, revenue är ett heltal i minsta valutaenhet (cent). panels är ett objekt med dimensionsnamn som nycklar, där varje innehåller de 10 översta raderna med sin andel, i samma radform som stats_breakdown för den dimensionen. Som standard returneras channel, referrer, page, entry_page, country, device, browser, os, utm_campaign, event och goal. Skicka panels för att välja andra dimensioner (vilket dimensionsnamn som helst utom prop-nycklar). notes listar anteckningar i intervallet som {id, date, end_date, title, url, color}. live_visitors räknar besökare under de senaste 5 minuterna. För fler än 10 rader av en dimension använd stats_breakdown, och för ett enskilt tal använd stats_aggregate. Tar de gemensamma indata period, compare, filters och segment.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/overview.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/experiments/external.json Experimentrapport: konverteringsgrad per variant, uplift mot kontroll och signifikans (z-test för två proportioner) experiments_report

Rapporterar ett A/B-test med hjälp av händelsedata. Besök tilldelas den variant som finns i en händelseegenskap (det första värdet som setts under besöket, till exempel egenskapen variant med värdena control och b), och en konvertering är ett besök som uppfyllde ett mål. Obligatoriska indata är property (nyckel med små bokstäver, upp till 64 tecken) och goal_id (ett aktivt mål, från goals_list). Returnerar period, property, goal {id, name}, control, confidence (0.95) och variants. Varje variant har visits, conversions, conversion_rate (procent, 0 till 100), control (true för baslinjen), uplift (procentuell förändring av konverteringsgraden jämfört med kontrollen, null för kontrollen eller när kontrollens andel är 0), z, p_value och significant (true när p_value är under 0.05, med ett z-test för två proportioner). Kontrollen är den variant du anger i control, annars en som heter control, annars varianten med flest besök. Högst 20 varianter, mest trafik först. Se till att webbplatsen skickar varianten som en händelseegenskap först. Tar de gemensamma indata period och filters. För en vanlig konverteringsgrad för ett mål använd goals_get. Kräver planen Business eller Enterprise (annars 402 plan_limit).

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/experiments/external.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/insights.json Anmärkningsvärda förändringar jämfört med föregående period, på vanligt språk (största förändringar, ändrad målkonvertering) insights_get

Anmärkningsvärda förändringar för en webbplats i klartext, jämfört med föregående period av samma längd. Returnerar period, comparison_period och insights. Perioden omfattar hela dagar fram till och med igår och väljs med period (7d, 14d, 28d eller 30d, standard 7d). Varje insikt har dimension (total, channel, page, country eller goal), metric, value, previous, current, change och sentence. change är en procentsats för antal och procentenheter för konverteringsgrad för mål, och sentence är en färdig engelsk mening. Den omfattar totalt antal besökare och sidvisningar, de två största förändringarna per dimension (förändringar på 20 procent eller mer med minst 10 besök eller visningar) och mål vars konverteringsgrad ändrats med en halv procentenhet eller mer. Viktigast först, begränsat av limit (standard 8, max 20). Resultaten sparas för dagen. För exakta siffror använd stats_aggregate och stats_breakdown, och använd den här för att hitta vad som har förändrats.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/insights.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/journeys.json Resor: de 3 vanligaste stegvägarna efter en sida (eller valfri ingång), eller före en sida eller ett mål journeys_explore

Utforskar de vanligaste sökvägarna i tre steg mellan sidor inom besök. I läget forward (standard) visar den vägarna efter en startsida som anges i path, eller efter vilken ingång som helst när path är tom. I läget reverse visar den vägarna som leder till en slutsida (path) eller till ett mål (goal_id, vilket växlar till reverse automatiskt). reverse kräver path eller goal_id. path måste börja med ett snedstreck. Returnerar period, mode, path, goal, sampled, sample_rate (procent), total_visits och vägdiagrammet med noder och länkar per steg, begränsat till limit sidor per steg (2 till 12, standard 6). Över 100 000 besök samplas data. Sidfilter ignoreras eftersom de skulle korta av vägarna. Vägar byggs per besök, eftersom inget besökar-id lagras. Tar de gemensamma indata period, filters och segment. För en enskild sidas grannar använd pages_detail, och för stegkonvertering använd funnels_get.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/journeys.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/pages/detail.json Sidinformation: mätvärden, föregående och nästa sidor, källor, Web Vitals, händelser och klickkarta för en sökväg pages_detail

En sida på djupet. Ange path (den måste börja med ett snedstreck, till exempel /pricing), exakt som den lagras (utan frågesträng eller värd). Returnerar period, path, url, metrics, previous_pages, next_pages, sources, vitals, events, clicks, goals och notes. metrics har visitors, visits, pageviews, entrances, exits, entry_rate, exit_rate och bounce_rate (procent, 0 till 100), time_on_page (median i millisekunder) och scroll_depth (median i procent), de två sista är null utan engagemangsdata. previous_pages och next_pages är sidorna som setts före och efter i samma besök, som {value, count, share}, med (entrance) och (exit) som specialvärden. sources har de främsta kanalerna och hänvisarna för besök som kom in via den här sidan. vitals har p75-värden per Web Vital med betyg. events är egna händelser som utlösts på sidan, clicks är de mest klickade elementväljarna, goals är mål som uppfyllts på den och notes är anteckningar som nämner den. Använd stats_breakdown med dimension page för att rangordna sidor och referrers_detail för en hänvisande webbplats.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/pages/detail.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/referrers.json Hänvisare: webbplatserna som länkar till den här webbplatsen, med besökare, engagemang, trafiktyp och antal länkande sidor referrers_list

Rangordnar de externa webbplatser som skickade besökare, med vad var och en skickade. Direktbesök (ingen hänvisare) utelämnas. Returnerar period, summary, channels, page, limit, has_more och rows. summary har visitors, visits, pageviews, bounce_rate (procent), visit_duration (median av engagerade millisekunder), revenue (minsta valutaenhet, cent), sites (antal hänvisande webbplatser) och share (procent av alla besök som kom från hänvisare). channels visar typerna av trafik som {value, visitors, visits}. Varje rad har value (hänvisarens värd), visitors, visits, pageviews, bounce_rate, visit_duration, revenue, channel (dess vanliga kanal), linking_pages (hur många olika sidor på den webbplatsen som länkar hit) och share (procent av hänvisade besökare). Sortera med sort (visitors, visits, pageviews eller revenue, standard visitors), avgränsa med search (text som ingår i värden) och bläddra med page och limit (max 100) så länge has_more är true. Använd referrers_detail för en enskild webbplats. Tar de gemensamma indata period, compare, filters och segment.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/referrers.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/referrers/detail.json Hänvisardetaljer: mätvärden och trend för en hänvisande webbplats, dess länkande sidor, landningssidor, länder, enheter, kampanjer och konverteringar referrers_detail

En hänvisande webbplats på djupet. Ange referrer som värden utan www och utan sökväg (till exempel news.ycombinator.com), samma värde som i referrers_list. Returnerar period, referrer, url, channel (dess vanligaste kanal), metrics, share (procent av alla besök), interval, series (trafiken över tid), linking_pages, landing_pages, channels, countries, devices, campaigns, goals och, med compare, comparison, change och comparison_series. metrics och series använder samma fält och enheter som stats_aggregate och stats_timeseries. linking_pages är hänvisarens sidor som skickade besökare, som rader med path, url, visitors och share (frågesträngar lagras aldrig). landing_pages är dit de besökarna kom in. channels, countries, devices och campaigns är toppvärden med mätvärden, och goals listar mål de uppfyllt med conversions och conversion_rate. Använd referrers_list för att rangordna hänvisande webbplatser och stats_breakdown med dimension referrer för en enkel lista.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/referrers/detail.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/stats/aggregate.json Huvudmått för en period (med jämförelse) stats_aggregate

Huvudsiffror för en period, som ett objekt. Returnerar period {from, to} och metrics {visitors, visits, pageviews, views_per_visit, bounce_rate, visit_duration, revenue}. Med compare returneras också comparison_period, comparison (samma mätvärden för det andra intervallet) och change (procentuell förändring per mätvärde, null när det tidigare värdet var 0). Enheter: bounce_rate är en procentsats från 0 till 100 (10.9 betyder 10,9 %). visit_duration är medianen av ett besöks engagerade tid i millisekunder. revenue är ett heltal i minsta valutaenhet (cent) för webbplatsens valuta. views_per_visit är ett decimaltal. Besökare räknas per dag eftersom inget bestående besökar-id lagras, så någon som kommer tillbaka en annan dag räknas igen. Använd den här för summor och förändring mellan perioder. Använd stats_timeseries för ett diagram över tid, stats_breakdown för toppvärden i en dimension och stats_overview för allt i ett anrop. Avgränsa något av dem med filters (se filters för dimensionsnamn och operatorer).

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/stats/aggregate.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/breakdown/:dimension.json Toppvärden för en dimension (sidor, källor, länder…) stats_breakdown

Toppvärden i en dimension med sina mätvärden, viktigast först och med sidindelning. Dimensionen är sista delen av sökvägen och måste vara ett exakt namn från dess beskrivning (till exempel country, page, channel, utm_campaign, prop:plan). Returnerar period, dimension, label, page, limit, has_more och rows. Be om nästa sida så länge has_more är true. Varje rad har value och share (procent av periodens summa). Radens övriga fält beror på dimensionen. Besöksdimensioner (channel, referrer, referrer_url, utm_*, ref, hostname, country, language, device, browser, browser_version, os, os_version, screen, entry_page, exit_page, interaction, bot_score) ger visitors, visits, pageviews, views_per_visit, bounce_rate, visit_duration och revenue. page ger pageviews, visits, time_on_page (millisekunder) och scroll_depth (procent), utan visitors. event och prop:<key> ger completions, visits, revenue och conversion_rate. goal ger goal_id, completions, conversions, conversion_rate och revenue. Enheter: bounce_rate och conversion_rate är procent (0 till 100), varaktigheter är millisekunder, revenue är i minsta valutaenhet (cent). En felaktig dimension ger ett 422 som listar de giltiga namnen. Använd search för att leta efter ett värde bland alla rader och filters för att först avgränsa data (till exempel sidor som besökts från ett land). För en enskild sida eller hänvisare på djupet använd pages_detail eller referrers_detail. Dimensionerna interaction och bot_score kräver planen Business eller Enterprise: som uppdelning svarar de med 402 plan_limit på andra planer, och ett filter på en av dem utelämnas.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/breakdown/:dimension.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/stats/timeseries.json Mätvärden per tidsintervall för diagram stats_timeseries

Mätvärden per tidsintervall, för diagram och trender. Returnerar period, interval (det intervall som faktiskt användes) och series, en lista med {date, visitors, visits, pageviews, views_per_visit, bounce_rate, visit_duration, revenue}, en post per intervall med date som ISO 8601-start för intervallet. Med compare returneras också comparison_series för det andra intervallet, intervall för intervall. Enheterna är desamma som i stats_aggregate: bounce_rate är en procentsats (0 till 100), visit_duration är median av engagerade millisekunder, revenue är i minsta valutaenhet (cent). interval är som standard auto, som väljer minut, timme, dag, vecka eller månad efter intervallets längd. Sätt det för att tvinga fram en intervallstorlek. Använd stats_aggregate för en enskild summa och stats_breakdown för att dela upp efter en dimension som country eller page.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/stats/timeseries.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"

Analys av omdömen

GET /sites/:site_id/testimonials/analytics/breakdown.json Dela upp ett omdömesmått efter formulär, förfrågan, widget, vägg, kundomdöme, kanal, sida, land eller källa testimonial_stats_breakdown

Returnerar rader, största först, var och en med key, label, value och share (procent av totalen), eller numerator och denominator för en andel. En rad för en post (formulär, förfrågan, widget, vägg, kundomdöme) innehåller dess id. Varje dimension tar bara vissa mått: formulär och kanal tar formulärmåtten, förfrågan förfrågningsmåtten, widget och vägg sina egna visningar, klick, klickandel och video_plays, kundomdöme tar testimonial_views och video_plays, sida och land tar visnings- och klickmåtten, och källa tar new_testimonials. Ett par som inte passar svarar med 422 och namnger måtten som gör det.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/analytics/breakdown.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/testimonials/analytics/export.json Köa en fil med ett avsnitt av omdömesanalysen testimonial_stats_export

Skapar en export av sorten testimonial_stats för den angivna perioden och returnerar den köad. Fråga exports_get tills status är complete, sedan exports_download. section väljer raderna: days (en rad per dag, vecka eller månad med varje mått), forms, channels, requests, widgets, walls, pages, testimonials, sources eller countries. Filen sparas i 7 dagar. Svarar med 422 in_progress när för många exporter redan är köade.

Behörighet: analytics.export

Exempel
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 Läs en webbplats omdömesanalys i ett anrop testimonial_stats_overview

Returnerar allt fliken Analys under Kundomdömen visar för en period: cards (form_views, submissions, completion_rate, answer_rate, widget_views, wall_views, var och en med previous och change när compare är satt), chart (ett mått över tid), en rad per formulär, förfrågan, widget och vägg, channels (hur formulär öppnades), pages (var widgets och väggar sågs), top_testimonials, new_testimonials (efter källa och efter nuvarande status) och countries. Andelar är procent från 0 till 100 och är null när det inte finns något att dividera med. blank är true så länge webbplatsen aldrig har räknat något, och recorded listar måtten den någonsin räknat. Dessa är dagliga summor för kundomdömesfunktionen, inte webbanalys: använd stats_overview för besökare och sidvisningar.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/analytics.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/testimonials/analytics/timeseries.json Läs ett omdömesmått per dag, vecka eller månad testimonial_stats_timeseries

Returnerar punkter med date, to, value och, när compare är satt, previous och previous_date, plus total, previous_total och change. En andel (completion_rate, answer_rate, widget_click_rate, wall_click_rate) räknas ut från summorna i varje intervall och är null för ett intervall utan något att dividera med. new_testimonials räknas från kundomdömena själva efter dagen då varje lades till.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/analytics/timeseries.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"

Annonsmaterial

POST /sites/:site_id/experiments/ads/:ad_placement_id/creatives.json Lägg till ett annonsmaterial på en annonsplats ad_creatives_create

Lägger till en bild med platsens form (minst dess storlek, dubbel storlek ger skarpast resultat) och adressen som ett klick leder till. Skicka bilden som en multipart-fil, eller image_url för att låta den laddas ned. Den bearbetas i bakgrunden, så fråga ad_creatives_get tills state är ready. Schema, enheter och sidor är Pro och uppåt. Kräver content.write.

Behörighet: content.write

Exempel
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 Radera ett annonsmaterial och dess bild ad_creatives_delete

Raderar permanent ett annonsmaterial och dess bild. Ett som ett experiment jämför kan inte raderas: stäng av det i stället. MCP-verktyget kör det inte utan svarar med human_only och sidan där en person raderar det. Kräver content.write.

Behörighet: content.write · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Hämta ett annonsmaterial med dess tillstånd ad_creatives_get

Ett annonsmaterial är processing tills bilden är gjord och därefter ready (eller failed, med orsaken i error). Kräver analytics.read.

Behörighet: analytics.read

Exempel
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 Ändra ett annonsmaterial ad_creatives_update

Ändrar länken, vikten, schemat eller målgruppen, stänger av det (active false) eller byter bilden. Bara angivna värden ändras. En ny bild ersätter den gamla när den är klar. Kräver content.write.

Behörighet: content.write

Exempel
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 '{…}'

Annonsplatser

POST /sites/:site_id/experiments/ads.json Skapa en annonsplats ad_placements_create

Skapar en plats av en storlek på webbplatsen. Skicka size (en vanlig storlek som medium_rectangle eller leaderboard) eller width och height i pixlar. key är det som taggen på webbplatsen använder som namn och skapas från namnet om den utelämnas. Lägg sedan till annonsmaterial med ad_creatives_create och placera taggen från ad_placements_embed på webbplatsen. Kräver content.write.

Behörighet: content.write

Exempel
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 Radera en annonsplats med dess annonsmaterial ad_placements_delete

Raderar permanent en annonsplats med dess annonsmaterial och deras bilder, dess annonsexperiment och deras resultat samt dess sponsorlänkar. Taggen på webbplatsen ritar då ingenting. MCP-verktyget kör det inte utan svarar med human_only och sidan där en person raderar det. Kräver content.write.

Behörighet: content.write · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Hämta taggen som visar en annonsplats på webbplatsen ad_placements_embed

Laddarskriptet (en gång per sida) och platsen för den här annonsplatsen, som html att klistra in. Platsen behåller sin storlek innan laddaren körs. Kräver analytics.read.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/experiments/ads/:id/embed.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/experiments/ads.json Lista en webbplatsens annonsplatser med de senaste 30 dagarna ad_placements_list

Varje annonsplats med sin nyckel, storlek, antal annonsmaterial och statistik (visningar, synliga visningar, klick och ctr, klickfrekvensen per synlig visning) för de senaste 30 dagarna. Kräver analytics.read.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/experiments/ads.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/experiments/ads/:id.json Hämta en annonsplats med varje annonsmaterials siffror ad_placements_get

Annonsplatsen, dess annonsmaterial med statistik för perioden (7d, 30d eller 90d) och platsens siffror dag för dag. humans_only behåller det som botpoängen kallar sannolikt människa (Pro och uppåt). Kräver analytics.read.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/experiments/ads/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/experiments/ads/:id.json Ändra en annonsplats ad_placements_update

Ändrar namn, nyckel, storlek eller etikett. Bara angivna värden ändras. En ny nyckel kräver den nya taggen på webbplatsen. Kräver content.write.

Behörighet: content.write

Exempel
curl -X PATCH https://privatusanalytics.com/sites/:site_id/experiments/ads/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Anteckningar

POST /sites/:site_id/notes.json Lägg till en anteckning på en webbplats (använd källan "deploy" för release-webhooks) notes_create

Lägger till en anteckning i en webbplats diagram, till exempel en lansering, en kampanj eller en release. Använd workspace_notes_create i stället för en anteckning som visas på varje webbplats. date är som standard idag i webbplatsens tidszon, och end_date markerar ett intervall (YYYY-MM-DD). title visas i diagrammet, body är vanlig text och url kan peka på en PR eller ändringslogg. color är en av neutral, brand, blue, amber, red eller violet, standard neutral. source är manual som standard. Driftsättningsintegrationer skickar source deploy, och då är title som standard en text byggd av version (en releaseversion eller commit) och color är som standard blue. Kräver content.write. Returnerar den skapade anteckningen (se notes_list för fälten).

Behörighet: content.write

Exempel
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 Ta bort en anteckning notes_delete

Raderar en webbplatsanteckning permanent, som försvinner från diagrammen och inte kan återställas. Anteckningen måste tillhöra den här webbplatsen, anteckningar för hela arbetsytan raderas med workspace_notes_delete. Hämta id (note_...) från notes_list. Kräver content.write. Returnerar den raderade anteckningen.

Behörighet: content.write

Exempel
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 Lista anteckningar för en webbplats (inklusive anteckningar för hela arbetsytan) notes_list

Listar anteckningarna som visas i en webbplats diagram, senaste datum först och med sidindelning. Den returnerar webbplatsens egna anteckningar plus anteckningar för hela arbetsytan som gäller varje webbplats. Filtrera med from och to (YYYY-MM-DD, en anteckning matchar när dess datum ligger i intervallet), source (manual, deploy, system, import eller incident) och query (en skiftlägesokänslig sökning i title, body och url). Använd workspace_notes_list för arbetsytans vy över alla webbplatser. Varje anteckning har id (note_...), site_id (det publika webbplats-id:t pa_..., null för en anteckning för hela arbetsytan), date, end_date (null för en enda dag), title, body (vanlig text, kan vara null), url (kan vara null), color (neutral, brand, blue, amber, red eller violet), source och created_at. Kräver analytics.read.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/notes.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/notes/:id.json Hämta en anteckning notes_get

Returnerar en anteckning via dess id (note_..., från notes_list) för en webbplats, inklusive anteckningar för hela arbetsytan som gäller webbplatsen. En anteckning är en daterad notering som visas i diagram, till exempel en lansering, en kampanj eller en driftsättning. Fälten är id, site_id (null när den gäller hela arbetsytan), date och end_date (YYYY-MM-DD, end_date null för en enda dag), title, body (kan vara null), url (kan vara null), color (neutral, brand, blue, amber, red eller violet), source (manual, deploy, system, import eller incident) och created_at. Kräver analytics.read.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/notes/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/notes/:id.json Redigera en anteckning notes_update

Redigerar en webbplatsanteckning och ändrar bara de fält du skickar (date, end_date, title, body, url, color). source kan inte ändras. En tom url tar bort länken, och ett date med värdet null ignoreras. Anteckningen måste tillhöra den här webbplatsen, anteckningar för hela arbetsytan redigeras med workspace_notes_update. Hämta id (note_...) från notes_list. Kräver content.write. Returnerar den uppdaterade anteckningen.

Behörighet: content.write

Exempel
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 Lägg till en anteckning för hela arbetsytan (visas på varje webbplats) workspace_notes_create

Lägger till en anteckning för hela arbetsytan som visas i diagrammen för varje webbplats i arbetsytan, till exempel en lansering för hela företaget eller ett avbrott. Den skapas utan webbplats (site_id är null). Använd notes_create för en anteckning på en enda webbplats. date är som standard idag i arbetsytans tidszon, end_date markerar ett intervall (YYYY-MM-DD), color är en av neutral, brand, blue, amber, red eller violet. Kräver content.write, och en anropare som är begränsad till vissa webbplatser kan inte skapa anteckningar för hela arbetsytan. Returnerar den skapade anteckningen.

Behörighet: content.write

Exempel
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 Ta bort en arbetsytenotering workspace_notes_delete

Raderar en anteckning för hela arbetsytan permanent så att den försvinner från varje webbplats diagram, och den kan inte återställas. Bara anteckningar utan webbplats kan raderas här, använd notes_delete för en webbplatsanteckning. Hämta id (note_...) från workspace_notes_list. Kräver content.write, och en anropare som är begränsad till vissa webbplatser kan inte radera anteckningar för hela arbetsytan. Returnerar den raderade anteckningen.

Behörighet: content.write

Exempel
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 Lista anteckningar i en arbetsyta workspace_notes_list

Listar anteckningarna i en arbetsyta, senaste datum först och med sidindelning. Den returnerar anteckningar för hela arbetsytan (som visas på varje webbplats) plus anteckningarna för varje webbplats som anroparen har åtkomst till, så kontrollera site_id på varje objekt (null betyder hela arbetsytan). Använd notes_list för en webbplats. Filtrera med from och to (YYYY-MM-DD), source (manual, deploy, system, import eller incident) och query (söker i title, body och url). Fälten är id (note_...), site_id, date, end_date, title, body, url, color (neutral, brand, blue, amber, red eller violet), source och created_at. Kräver analytics.read.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/notes.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /workspaces/:workspace_id/notes/:id.json Redigera en arbetsyteanteckning workspace_notes_update

Redigerar en anteckning för hela arbetsytan och ändrar bara de fält du skickar (date, end_date, title, body, url, color). Bara anteckningar utan webbplats kan redigeras här, använd notes_update för en webbplatsanteckning. Hämta id (note_...) från workspace_notes_list. Kräver content.write, och en anropare som är begränsad till vissa webbplatser kan inte redigera anteckningar för hela arbetsytan. Returnerar den uppdaterade anteckningen.

Behörighet: content.write

Exempel
curl -X PATCH https://privatusanalytics.com/workspaces/:workspace_id/notes/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Arbetsytor

GET /workspaces/:workspace_id/white_label.json Hämta white label-varumärket white_label_get

Returnerar arbetsytans white label-profilering. Fälten är workspace_id (ws_...), brand_name, brand_logo_url och brand_color (en hexfärg som #06755b), var och en null när den inte är satt, hide_branding, available (true när planen inkluderar white label, vilket är Business och högre) och active (true när profileringen är satt och gäller). Profileringen ersätter Privatus Analytics på delade instrumentpaneler, inbäddningar, statussidor och e-postrapporter. Kräver workspace.manage.

Behörighet: workspace.manage

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/white_label.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /workspaces/:workspace_id/white_label.json Ange white label-varumärket för delade instrumentpaneler och e-postrapporter (Business) white_label_update

Anger arbetsytans white label-profilering. Endast planen Business, annars misslyckas den med ett planfel. Bara de värden du skickar ändras, och en tom sträng rensar brand_name, brand_logo_url eller brand_color. brand_logo_url måste vara en https-URL till en bild och brand_color en hexfärg som #06755b. hide_branding true tar bort länken till Privatus Analytics från delade instrumentpaneler, inbäddningar och statussidor och logotypen från e-postrapporter. Ändringen gäller direkt för befintliga delningslänkar. Kräver workspace.manage. Returnerar profileringen (se white_label_get).

Behörighet: workspace.manage

Exempel
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 Hämta säkerhetsinställningar för arbetsytan workspace_security_get

Returnerar arbetsytans säkerhetspolicy. Fälten är workspace_id (ws_...), enforce_2fa (medlemmar måste använda tvåfaktorsautentisering), login_methods (de tillåtna bland password, magic_link, passkey, google, github och sso), session_ttl_hours (utloggning efter så många timmar, null för ingen gräns), app_ip_allowlist (IP-adresser eller CIDR-intervall som får använda appen och API:et, tomt betyder var som helst) och support_access_until (ISO 8601-tid fram till vilken supporten på Privatus Analytics får se arbetsytan, null när ingen åtkomst har getts). Kräver workspace.manage.

Behörighet: workspace.manage

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/security.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /workspaces/:workspace_id/security.json Uppdatera säkerhetsinställningar för arbetsytan (2FA, inloggningsmetoder, sessionslängd, IP-tillåtlista, supportåtkomst) workspace_security_update

Ändrar arbetsytans säkerhetspolicy, bara de värden du skickar. enforce_2fa true kräver att varje medlem använder tvåfaktorsautentisering och kräver planen Business. login_methods ersätter listan med tillåtna värden från password, magic_link, passkey, google, github och sso, och att ta bort en metod loggar ut medlemmarnas ihågkomna inloggningar så att de måste logga in igen. session_ttl_hours loggar ut medlemmar efter så många timmar (0 tar bort gränsen). app_ip_allowlist ersätter listan med IP-adresser eller CIDR-intervall som får nå appen och API:et (planen Business, en tom lista betyder var som helst) och nekas om den skulle utesluta anroparens IP, så du kan inte låsa ute dig själv. support_access true låter supporten på Privatus Analytics se arbetsytan i 7 dagar och false drar tillbaka den åtkomsten. Kräver workspace.manage. Returnerar policyn (se workspace_security_get).

Behörighet: workspace.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Skapa en arbetsyta (du blir ägare) workspaces_create

Behörighet: member · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/workspaces.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'
DELETE /workspaces/:id.json Ta bort en arbetsyta och alla dess webbplatser (endast ägaren, avslutar eventuell prenumeration) workspaces_delete

Raderar en arbetsyta tillsammans med alla dess webbplatser. Det är en mjuk radering, allt försvinner direkt och rensas permanent efter 7 dagar, så behandla det som oåterkalleligt. Bara ägaren kan göra det, och confirm måste vara arbetsytans exakta namn (skiftlägeskänsligt). En aktiv betald prenumeration sägs först upp direkt, och om den uppsägningen misslyckas raderas ingenting. Väntande webbplatsöverföringar från arbetsytan avbryts. Medlemmar förlorar åtkomst. Använd workspaces_get för att läsa namnet. Kräver workspace.manage och rollen owner. Returnerar arbetsytan.

Behörighet: workspace.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X DELETE https://privatusanalytics.com/workspaces/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'
GET /workspaces.json Lista dina arbetsytor workspaces_list

Listar arbetsytorna som anroparen tillhör, ordnade efter namn. En API-token eller MCP-anslutning ser bara den arbetsyta den utfärdades för. Varje objekt har id (ws_..., används som workspace_id av de flesta verktyg), name, timezone, currency, plan, plan_events, subscription_status och role (anroparens roll). Anropa sites_list med ett arbetsyte-id härnäst för att hitta webbplats-id. Att skapa en arbetsyta är bara möjligt i appen.

Behörighet: member

Exempel
curl https://privatusanalytics.com/workspaces.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /workspaces/:id.json Hämta en arbetsyta workspaces_get

Returnerar en arbetsyta via dess publika id (ws_..., från workspaces_list). Fälten är id, name, timezone (IANA-namn), currency (ISO 4217), plan (free, pro, business eller enterprise), plan_events (planens månatliga händelsekvot), subscription_status (none, trialing, active, past_due, paused eller canceled), role (anroparens roll i den) och created_at. Använd billing_get för fullständiga faktureringsuppgifter och billing_usage för den här månadens användning. Vilken medlem som helst kan läsa den.

Behörighet: member

Exempel
curl https://privatusanalytics.com/workspaces/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /workspaces/:id.json Uppdatera arbetsytans inställningar workspaces_update

Ändrar en arbetsytas namn, standardtidszon eller standardvaluta, bara de värden du skickar. timezone är ett IANA-namn som Europe/Berlin och currency är en ISO 4217-kod med 3 bokstäver. Detta är standardvärden för nya webbplatser, de ändrar inte befintliga webbplatser (använd sites_update för dem). Kräver workspace.manage. Returnerar arbetsytan (se workspaces_get).

Behörighet: workspace.manage

Exempel
curl -X PATCH https://privatusanalytics.com/workspaces/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Assistent

POST /sites/:site_id/ask.json Ställ en fråga i en ny konversation (räknas mot den månatliga gränsen för AI-frågor) assistant_ask

Startar en ny Fråga-konversation för en webbplats och besvarar den första frågan med hjälp av webbplatsens analysdata. Använd den för en fråga i klartext om en webbplats. Använd assistant_ask_followup för att fortsätta en befintlig konversation och statistikverktygen när du redan känner till den exakta frågan. Svaret skapas av en AI-modell som själv kör skrivskyddade analysfrågor, så anropet kan ta många sekunder. Det räknas som en AI-fråga mot arbetsytans månatliga kvot (5 på Free, 20 på Pro, 100 på Business) och misslyckas med ett gränsfel när kvoten är slut. Frågan får vara högst 2 000 tecken. Konversationer är privata för medlemmen som startade dem och raderas 30 dagar efter sitt senaste meddelande. Returnerar konversationen (id, site_id, title hämtad från frågan, created_at, updated_at, expires_at) med en messages-array. Varje meddelande har role (user eller assistant), content (svarstexten), queries (de exakta analysfrågor assistenten körde), chart (diagramdefinition som kan vara null), goal_draft (föreslaget mål som kan vara null), tokenantal och created_at. Om svaret misslyckas tas konversationen bort och ingen fråga räknas. Kräver analytics.read.

Behörighet: analytics.read

Exempel
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 Ta bort en Fråga-konversation och dess meddelanden assistant_conversations_delete

Raderar en Fråga-konversation och alla dess meddelanden permanent och direkt. Det går inte att ångra. Hämta konversationens id från assistant_conversations_list. Bara medlemmen som startade en konversation kan se och radera den. Kräver analytics.read och ett site_id. Returnerar sammanfattningen av den raderade konversationen (id, site_id, title, tidsstämplar). Den återbetalar inte de AI-frågor som redan räknats för månaden.

Behörighet: analytics.read

Exempel
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 Lista dina Fråga-konversationer för en webbplats assistant_conversations_list

Listar den inloggade medlemmens Fråga-konversationer för en webbplats, senast uppdaterade först. Andra medlemmars konversationer visas aldrig. Använd den för att hitta ett konversations-id för assistant_conversations_get, assistant_ask_followup eller assistant_conversations_delete. Varje objekt har id, site_id, title (den första frågan, avkortad till 80 tecken), created_at, updated_at och expires_at men inga meddelanden. Sidindelad med page och per_page (maximalt 100). Kräver analytics.read.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/ask.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/ask/:id.json En Fråga-konversation: frågor, svar, frågorna bakom dem och diagram assistant_conversations_get

Returnerar en Fråga-konversation med hela meddelandehistoriken. Hämta konversationens id från assistant_conversations_list eller från resultatet av assistant_ask. Fälten är id, site_id, title, created_at, updated_at, expires_at (30 dagar efter det senaste meddelandet, därefter raderas konversationen) och messages. Varje meddelande har role (user eller assistant), content, queries (de analysfrågor assistenten körde), chart (kan vara null), goal_draft (kan vara null) samt input_tokens och output_tokens (heltal som kan vara null). Bara medlemmen som startade konversationen kan läsa den. Kräver analytics.read.

Behörighet: analytics.read

Exempel
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 Ställ en följdfråga i en konversation (räknas mot den månatliga gränsen för AI-frågor). Returnerar svaret. assistant_ask_followup

Ställer en följdfråga i en befintlig Fråga-konversation, så att assistenten behåller de tidigare frågorna och svaren som sammanhang. Använd assistant_ask för att starta en ny konversation i stället. Hämta conversation_id från assistant_conversations_list. Anropet kan ta många sekunder eftersom assistenten kör skrivskyddade analysfrågor. Varje fråga räknas mot arbetsytans månatliga kvot för AI-frågor (5 på Free, 20 på Pro, 100 på Business) och misslyckas med ett gränsfel när den är slut. Frågan får vara högst 2 000 tecken. Returnerar bara det nya assistentmeddelandet (inte hela konversationen) med id, role, content (svaret), queries (de exakta frågor som kördes), chart (kan vara null), goal_draft (kan vara null), input_tokens, output_tokens och created_at. Kräver analytics.read och fungerar bara på dina egna konversationer.

Behörighet: analytics.read

Exempel
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 '{…}'

Aviseringar

POST /alerts/:id/acknowledge.json Kvittera den senaste incidenten alerts_acknowledge

Markerar den senaste obekräftade incidenten för en avisering som sedd av den anropande användaren. Den löser inte incidenten och tystar inte aviseringen, aviseringen löses av sig själv när villkoret upphör. Om aviseringen inte har någon obekräftad incident misslyckas anropet med ett valideringsfel. Returnerar aviseringen. Använd alerts_history för att se incidenter med deras acknowledged_at och acknowledged_by. Kräver bara läsbehörighet till analys, så läsare kan bekräfta.

Behörighet: analytics.read

Exempel
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 Skapa en avisering alerts_create

Skapar en aviseringsregel som bevakar en webbplats (eller hela arbetsytan för kind usage) och meddelar de valda kanalerna när den utlöses. Sökvägen tar workspace_id. name och kind är obligatoriska. kind avgör vad mer som behövs. threshold kräver site_id, metric (visitors, visits, pageviews, bounce_rate eller conversion), operator (gt, gte, lt eller lte) och threshold, och conversion kräver också goal_id. anomaly kräver site_id och metric (visitors, visits eller pageviews), jämför det senaste fönstret med samma fönster under var och en av de 4 föregående veckorna och använder sensitivity (low, medium eller high). operator lt aviserar bara vid fall, gt bara vid toppar och tom vid båda. goal kräver site_id, goal_id och threshold (antal måluppfyllelser i fönstret). no_data kräver site_id och threshold i timmar utan händelser (standard 24). usage kräver ingen webbplats och threshold som procent av den månatliga händelsekvoten (standard 80). uptime kräver site_id och eventuellt uptime_check_id (standard alla kontroller för webbplatsen). ssl kräver site_id och threshold i dagar innan ett certifikat eller en domän går ut (standard 14). vitals kräver site_id, metric (lcp, inp, cls, fcp eller ttfb) och threshold i millisekunder (ett poängvärde för cls). subscriptions kräver site_id, metric (mrr_drop: MRR har sjunkit med mer än threshold procent de senaste 30 dagarna, churn_rate eller mrr_churn_rate: churn de senaste 30 dagarna är högre än threshold procent) och threshold (standard 10), och hoppas över medan webbplatsen inte har någon betalningsleverantör ansluten eller inget att mäta. window_minutes (standard 60, 5 till 10080) anger hur långt tillbaka varje utvärdering tittar. channel_ids kommer från notification_channels_list och sensitivity är som standard medium. Aviseringar utvärderas automatiskt var 5:e minut. Tröskelvärdena för bounce_rate och conversion är procent från 0 till 100. testimonials kräver site_id och metric, som anger vad den bevakar: new (ett nytt kundomdöme kommer in), low_rating (ett betyg på 3 eller lägre kommer in), approved (ett kundomdöme godkänns), allowance (månadens kvot för nya kundomdömen är till 80 % använd, slut eller håller ett kundomdöme som väntande), sync_found (en synkronisering hittar nya recensioner), import_failed (en import misslyckas, eller en källa misslyckas med tre synkroniseringar i rad), removal_requested (någon ber om att få sitt kundomdöme borttaget) eller request_bounced (ett förfrågningsmejl studsar). En testimonials-avisering utvärderas inte var 5:e minut: den utlöses direkt varje gång det inträffar, registrerar en incident som redan är löst, och dess state förblir ok. Med metric allowance bevakar den hela arbetsytan och har ingen webbplats. Returnerar den skapade aviseringen med state ok.

Behörighet: content.write

Exempel
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 Ta bort en avisering alerts_delete

Raderar en aviseringsregel och hela dess incidenthistorik permanent. Det går inte att ångra och notiser upphör direkt. Om du vill pausa en avisering utan att förlora historiken, använd alerts_update med enabled false eller alerts_mute. Id (alr_...) kommer från alerts_list. Returnerar den raderade aviseringen som den var. Kräver behörighet att skriva innehåll.

Behörighet: content.write

Exempel
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 Incidenthistorik för en avisering alerts_history

Listar incidenterna för en avisering, nyaste först och med sidindelning. Varje incident har triggered_at, resolved_at (null medan den fortfarande är öppen), value (det uppmätta talet när den utlöstes, i samma enhet som aviseringens tröskelvärde), message (en läsbar beskrivning), acknowledged_at och acknowledged_by (medlemmens visningsnamn, eller null). Sätt open till true för att bara se olösta incidenter. Använd alerts_acknowledge för att markera den senaste som sedd och alerts_get för regelns aktuella tillstånd.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/alerts/:id/history.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /workspaces/:workspace_id/alerts.json Lista aviseringar alerts_list

Listar en arbetsytas aviseringsregler (sökvägen tar workspace_id), sorterade efter namn och med sidindelning. Returnerar en data-array med aviseringar och sidindelning i meta. Varje avisering har id (alr_...), site_id (pa_..., null för usage-aviseringar som bevakar hela arbetsytan), name, kind, metric, operator, threshold, window_minutes, sensitivity, goal_id, channel_ids (nch_...-id), state (ok eller triggered), enabled, muted_until, last_triggered_at, last_evaluated_at och created_at. Avgränsa med site_id, state (ok eller triggered) eller kind. Använd site_alerts_list för att lista en webbplats aviseringar från en webbplatssökväg, alerts_get för en enskild avisering och alerts_history för dess incidenter. En anropare som är begränsad till vissa webbplatser ser aldrig usage-aviseringar.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/alerts.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /alerts/:id/mute.json Tysta (eller slå på) en aviserings notiser alerts_mute

Tystar notiserna för en avisering under ett antal minuter medan den fortsätter att utvärderas och registrera incidenter i sin historik. minutes är som standard 60, maxvärdet är 43200 (30 dagar) och 0 häver tystningen direkt. Svaret är aviseringen med muted_until satt till tystningens slut (null när den inte är tystad). Använd alerts_update med enabled false för att sluta utvärdera helt och alerts_acknowledge för att markera en incident som sedd utan att tysta.

Behörighet: content.write

Exempel
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 Hämta en avisering alerts_get

Returnerar en aviseringsregel via id (alr_..., från alerts_list eller site_alerts_list). Svaret är aviseringsobjektet med id, site_id (null för usage-aviseringar), name, kind, metric, operator, threshold, window_minutes, sensitivity, goal_id, channel_ids, state (ok eller triggered), enabled, muted_until, last_triggered_at, last_evaluated_at och created_at. Det innehåller inte incidenter, använd alerts_history för dem. threshold är ett tal vars enhet beror på kind (se alerts_create). Kräver läsbehörighet till analys.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/alerts/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /alerts/:id.json Uppdatera en avisering alerts_update

Ändrar en befintlig aviseringsregel (id från alerts_list). Bara de värden du skickar ändras, allt annat behåller sitt värde. Samma regler per kind som för alerts_create gäller för resultatet, så en ändring av kind eller metric kan kräva matchande site_id, goal_id, operator eller threshold. Skicka channel_ids för att ersätta hela listan med notiskanaler och enabled false för att sluta utvärdera utan att radera. Om du vill tysta notiser en stund men fortsätta registrera incidenter, använd alerts_mute i stället. Returnerar den uppdaterade aviseringen.

Behörighet: content.write

Exempel
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 Lista aviseringar för en webbplats site_alerts_list

Listar aviseringsreglerna för en webbplats (sökvägen tar site_id), sorterade efter namn och med sidindelning. Den returnerar samma aviseringsobjekt och accepterar samma state- och kind-filter som alerts_list, men bara för den här webbplatsen, så usage-aviseringar (som saknar webbplats) ingår inte. Välj den här när du redan har ett webbplats-id och alerts_list när du vill ha alla aviseringar i arbetsytan. Varje avisering har id (alr_...), site_id, name, kind, metric, operator, threshold, window_minutes, sensitivity, goal_id, channel_ids, state (ok eller triggered), enabled, muted_until, last_triggered_at, last_evaluated_at och created_at.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/alerts.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"

Aviseringskanaler

DELETE /channels/:id.json Ta bort en aviseringskanal notification_channels_delete

Raderar en notiskanal och tar bort den från varje avisering som använde den, så att de aviseringarna slutar meddela där. Det går inte att ångra och själva aviseringarna behålls. Id (nch_...) kommer från notification_channels_list. Returnerar den raderade kanalen.

Behörighet: content.write

Exempel
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 Lista aviseringskanaler notification_channels_list

Listar en arbetsytas notiskanaler (sökvägen tar workspace_id), sorterade efter namn och med sidindelning. En kanal är en plats dit aviseringar levereras. Varje har id (nch_...), kind (email, slack, teams, discord, webhook, pagerduty, opsgenie eller push), name, target (en maskerad sammanfattning som e-postadresserna eller slutet av en webhook-URL, hemligheter returneras aldrig), last_used_at och created_at. Filtrera efter kind. Använd id:na som channel_ids i alerts_create och alerts_update. Anropare som är begränsade till vissa webbplatser ser bara kanaler som används av aviseringar på deras webbplatser.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/channels.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /channels/:id/send_test.json Skicka ett testmeddelande via en kanal notification_channels_send_test

Skickar ett riktigt testmeddelande via kanalen (ett mejl, ett chattinlägg, ett webhook-anrop och så vidare), så använd den bara när användaren vill det. Anropet misslyckas med ett fel som anger orsaken om leveransen inte fungerar, annars returnerar det kanalen. Testutskick har begränsad frekvens per arbetsyta, och e-postkanaler även per utomstående adress. Använd den efter notification_channels_create eller notification_channels_update för att bekräfta att en URL eller nyckel är rätt.

Behörighet: content.write

Exempel
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 Hämta en aviseringskanal notification_channels_get

Returnerar en notiskanal via id (nch_..., från notification_channels_list). Svaret har kind, name, target (en maskerad sammanfattning, hemligheter som webhook-URL:er och nycklar returneras aldrig), last_used_at och created_at. Använd notification_channels_send_test för att kontrollera att den levererar.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/channels/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /notifications/unsubscribe/:token.json Avregistrera en adress från en aviseringskanal eller drifttidskontroll med token från ett e-postmeddelande notification_unsubscribes_create

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/notifications/unsubscribe/:token.json \
  -H "Content-Type: application/json" -d '{…}'
POST /push_subscription.json Registrera en webbläsare för pushnotiser push_subscriptions_create

Registrerar den aktuella webbläsaren för webbpushaviseringar, med de tre värdena från webbläsarens PushSubscription (endpoint, p256dh och auth). En prenumeration får aviseringar från varje arbetsyta som medlemmen tillhör, för varje webbplats, vilket är anledningen till att en API-token bara får använda detta när den kan läsa hela sin arbetsyta och medlemmen inte har någon annan arbetsyta. Om du anropar den igen med samma endpoint uppdateras nycklarna och prenumerationen flyttas till anroparen. Endpoint måste vara en publik https-URL till en pushtjänst. Detta registrerar bara webbläsaren, så aviseringar behöver fortfarande en notiskanal av typen push (notification_channels_create). Returnerar endpoint_host (pushtjänstens värdnamn, inte hela endpoint) och created_at. Sessioner som öppnats via en arbetsytas identitetsleverantör kan inte använda den.

Behörighet: member

Exempel
curl -X POST https://privatusanalytics.com/push_subscription.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'
DELETE /push_subscription.json Ta bort en webbläsares pushregistrering push_subscriptions_delete

Tar bort en av den inloggade medlemmens webbläsares pushregistreringar så att webbläsaren slutar få aviseringsnotiser. Ange samma endpoint som användes med push_subscriptions_create. Misslyckas med not found när ingen sådan prenumeration finns för medlemmen. Returnerar den borttagna prenumerationen som endpoint_host och created_at. Den raderar ingen notiskanal. Omfattas av samma tokenbegränsningar som push_subscriptions_create.

Behörighet: member

Exempel
curl -X DELETE https://privatusanalytics.com/push_subscription.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Belöningar

POST /sites/:site_id/testimonials/settings/rewards/:id/copy.json Kopiera ett formulärs belöning till andra formulär på samma webbplats testimonial_rewards_copy

Kopierar titeln, texten, koden och på- eller avläget för detta formulärs belöning till varje formulär i form_ids (1 till 100 formulär på samma webbplats, inte i papperskorgen). En belöning som målformuläret redan har ersätts. Servern svarar med 422 och koden unknown_ids när ett id inte är ett formulär på webbplatsen, och då kopieras ingenting.

Behörighet: sites.manage

Exempel
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 Lista belöningen för varje formulär på en webbplats testimonial_rewards_list

En rad per formulär. Ett formulär utan belöning har enabled false.

Behörighet: analytics.read

Exempel
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 Ställ in belöningen som ett formulär visar i sitt tacksteg testimonial_rewards_update

Id:t är formulärets id. Koden är text du anger. Privatus Analytics skapar, kontrollerar eller förfaller den inte.

Behörighet: sites.manage

Exempel
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 '{…}'

Borttagningsförfrågningar

POST /sites/:site_id/testimonials/removal_requests/:id/dismiss.json Avfärda en borttagningsförfrågan testimonial_removal_requests_dismiss

Stänger förfrågan med en anteckning och låter kundomdömet vara kvar där det visas. Inget raderas och inget e-postmeddelande skickas till personen som bad. Anteckningen krävs. En förfrågan som redan är avgjord svarar med 422.

Behörighet: content.write

Exempel
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 Lista en webbplats borttagningsförfrågningar testimonial_removal_requests_list

Öppna förfrågningar om inte en annan status efterfrågas. E-postadressen som avsändaren skrev returneras bara till en anropare som får ändra innehåll.

Behörighet: analytics.read

Exempel
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 Avgör en borttagningsförfrågan testimonial_removal_requests_resolve

trash flyttar kundomdömet till papperskorgen, vilket tar bort det från varje widget, vägg och offentlig sida på en gång och kan ångras i 30 dagar. dismiss låter det visas och kräver en anteckning.

Behörighet: content.write · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Hämta en borttagningsförfrågan testimonial_removal_requests_get

En förfrågan med kundomdömet den gäller, anteckningen personen lämnade, om e-postadressen de skrev stämmer med e-postadressen på kundomdömet, hur många gånger de bad och beslutet när det finns ett. Själva e-postadressen returneras bara till en anropare med content.write.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/removal_requests/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"

Botdetektering

GET /sites/:site_id/bot-detection.json Rapport för avancerad botdetektering: träffar på webbplatsens honeypot-sidor, per sida och efter vad som avslöjade boten bot_detection_report

Rapporterar träffarna på webbplatsens honeypot-sidor. En honeypot-sida är en sida som bara nås via en dold länk och som är inställd som sidan för avancerad botdetektering i appen. Dessa träffar är bottar, så de är aldrig sidvisningar eller besök och visas inte i stats_overview eller stats_breakdown. Välj intervallet med period (7d, 30d (standard), 90d eller 12mo). Träffar sparas i 12 månader. Resultatet har period, from (intervallets början), has_data (false tills den första träffen), totals (hits, distinct pages, automated (träffar där spåraren såg en automatiserad webbläsare) och no_interaction (träffar utan pekar-, tangent- eller beröringsinmatning)), pages (upp till 50 rader med path, hits och last_hit_at), reasons (träffar per resultat av standardfiltret för bottar: known_bot, automation, datacenter, empty_user_agent, referrer_spam, eller undetected för en träff som filtret skulle ha räknat som en person) och recent (de senaste 50 träffarna med occurred_at, path, country, browser, device, bot_reason, automation och interacted). Ingen IP-adress eller User-Agent sparas med en träff, bara nyckelade hashar av dem som inte kan identifiera någon, och de returneras aldrig. Kräver analytics.read och planen Business eller Enterprise (annars 402 plan_limit).

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/bot-detection.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"

Crawlers

DELETE /sites/:site_id/crawlers/connection.json Koppla från Cloudflare och radera de crawler-träffar som importerats därifrån crawlers_cloudflare_disconnect

Kopplar bort Cloudflare från en webbplats. Detta raderar den lagrade API-token och varje genomsökarträff som importerats från Cloudflare, och det går inte att ångra. Träffar som kom från levererade serverloggar finns kvar. Token finns kvar i ditt Cloudflare-konto tills du raderar den där. Misslyckas om webbplatsen saknar anslutning. Returnerar den borttagna anslutningen. Kräver sites.manage.

Behörighet: sites.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Importera crawler-träffar från Cloudflare nu crawlers_cloudflare_sync

Köar en omedelbar Cloudflare-import för en webbplats som redan är ansluten, i stället för att vänta på det vanliga schemat. Den returnerar direkt (HTTP 202) med anslutningen, och importen körs i bakgrunden. Fråga crawlers_report upprepade gånger och bevaka cloudflare.last_synced_at för att se när den blev klar. Misslyckas om webbplatsen saknar Cloudflare-anslutning. Kräver sites.manage.

Behörighet: sites.manage

Exempel
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 Rapport om AI-crawlers: träffar per crawler över tid, toppsökvägar per crawler, per kategori crawlers_report

Rapporterar vilka AI-, sök- och SEO-genomsökare som hämtar webbplatsen, hur ofta och vilka sökvägar, utifrån levererade serverloggar och Cloudflare-importen. Detta är genomsökartrafik, inte besökartrafik, så den visas inte i stats_breakdown. category är ai (standard), search, seo, other eller all, och crawler avgränsar till en namngiven bot som GPTBot eller ClaudeBot. Välj intervallet med period (standard 30d) eller anpassat from och to. Resultatet har period (from och to som datum), category, crawler, totals (träffar, distinkta sökvägar, distinkta genomsökare), categories (träffar per kategori, utan hänsyn till kategorifiltret), crawlers (upp till 50 rader med crawler, category, hits, paths), series (etiketter per dag och dagliga träffar för de 8 största genomsökarna), top_paths (de 10 mest hämtade sökvägarna för var och en av de 8 största genomsökarna), has_data (false tills några träffar finns) och cloudflare (anslutningen med zone, status och last_synced_at, eller null). Resultaten cachas i upp till 30 minuter utom direkt efter en Cloudflare-ändring. Kräver analytics.read.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/crawlers.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"

Datalagersynkning

POST /workspaces/:workspace_id/warehouses.json Lägg till en datalagerdestination warehouse_destinations_create

Lägger till ett lagermål som tar emot varje dags råa händelser (endast planen Business). Dagligen kl. 02:00 UTC laddas föregående UTC-dag upp, den första körningen är vid nästa 02:00 UTC och en misslyckad körning görs om en timme senare. kind måste anges och avgör vilka inställningar som krävs. s3 (även GCS, R2 och MinIO via endpoint) kräver bucket, access_key_id och secret_access_key, med valfria region, prefix och endpoint (endast https och publika värdar). bigquery kräver service_account_json, dataset och table, med valfritt project_id. snowflake kräver account, user, private_key (PEM RSA), database, schema och table, med valfria warehouse och role. azure kräver sas_url (en https-SAS-länk till en blobcontainer med skrivbehörighet), med valfritt prefix. Hemligheter (secret_access_key, service_account_json, private_key, sas_url) är endast skrivbara och returneras aldrig. site_ids begränsar webbplatserna (pa_...-id), tomt betyder varje webbplats, och en medlem eller token som är begränsad till vissa webbplatser måste ange dem. Händelseegenskaper skickas bara när de är markerade som säkra att exportera (se event_properties_list). Kräver behörigheten workspace.manage. Returnerar målet med id (whd_...), ett maskerat mål och configured (namnen på de ifyllda inställningarna).

Behörighet: workspace.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Ta bort en datalagerdestination warehouse_destinations_delete

Raderar ett lagermål så att inget mer skickas. Data som redan laddats upp finns kvar i din bucket eller ditt lager, och det går inte att ångra, men du kan lägga till målet igen (historiken skickas inte om automatiskt). En manuell synkronisering som fortfarande är köad återkallas inte. Id kommer från warehouse_destinations_list. Kräver behörigheten workspace.manage. Returnerar det raderade målet.

Behörighet: workspace.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Lista datalagerdestinationer warehouse_destinations_list

Listar en arbetsytas lagermål sorterade efter namn, valfritt bara en typ (s3, bigquery, snowflake eller azure). En medlem eller token som är begränsad till vissa webbplatser ser bara mål vars webbplatser alla finns bland deras, och mål som skickar varje webbplats döljs för dem. Sidindelad med page och per_page (upp till 100). Varje objekt har de fält som beskrivs i warehouse_destinations_get. Kräver workspace_id från workspaces_list och behörigheten workspace.manage.

Behörighet: workspace.manage

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/warehouses.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /warehouses/:id.json Hämta en datalagerdestination (inga hemligheter) warehouse_destinations_get

Returnerar ett lagermål utan inloggningsuppgifter. Fälten är id (whd_...), kind (s3, bigquery, snowflake eller azure), name, target (en maskerad sammanfattning som s3://bucket/prefix), configured (namn på inställningar som är ifyllda, hemligheter visas bara med namn), site_ids (tomt betyder varje webbplats), schedule (daily), schema_version (radlayouten som skickas), last_run_at, next_run_at, last_error (null när den senaste körningen fungerade) och created_at. Id kommer från warehouse_destinations_list. Kontrollera last_error efter warehouse_destinations_sync för att se hur en synkronisering gick.

Behörighet: workspace.manage

Exempel
curl https://privatusanalytics.com/warehouses/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /warehouses/:id/sync.json Köa en synkning av en dag nu warehouse_destinations_sync

Köar en omedelbar uppladdning av en UTC-dags råa händelser till ett mål, utanför det dagliga schemat. Endast planen Business. date (YYYY-MM-DD) måste vara före idag i UTC och är som standard igår. Den laddar upp den dagen för varje webbplats i målet, så undvik att synkronisera en dag som redan skickats, och manuella synkroniseringar har en frekvensgräns på 30 per timme och arbetsyta. Anropet returnerar 202 med målet direkt och uppladdningen körs i bakgrunden. Fråga warehouse_destinations_get upprepade gånger och läs last_run_at och last_error för att se resultatet. Id kommer från warehouse_destinations_list. Kräver behörigheten workspace.manage.

Behörighet: workspace.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Uppdatera en datalagerdestination (tomma hemligheter behålls) warehouse_destinations_update

Ändrar ett lagermål (endast planen Business). Bara de värden du skickar ändras och kind kan inte ändras. En tom hemlighet behåller det lagrade värdet, så du kan redigera andra inställningar utan att skicka inloggningsuppgifter igen. Inställningarna valideras för målets kind som i warehouse_destinations_create. Om du skickar site_ids ersätts listan med webbplatser. När målet ändras (en annan bucket, dataset, tabell, databas eller liknande) börjar förloppet för oavslutade dagar om, så de dagarna skickas igen till den nya platsen. Id kommer från warehouse_destinations_list. Kräver behörigheten workspace.manage. Returnerar det uppdaterade målet.

Behörighet: workspace.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X PATCH https://privatusanalytics.com/warehouses/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Delning

GET /badge/:site_id.json Besöksräknarmärke (SVG) för en publik webbplats badges_get

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl https://privatusanalytics.com/badge/:site_id.json
GET /share/:token/breakdown/:dimension.json Toppvärden för en delad dimension shares_breakdown

Toppvärden i en dimension bakom en delningslänk, den delade motsvarigheten till stats_breakdown. Sökvägen tar token (sista delen av delnings-URL:en) och dimension, som måste tillhöra en sektion som länken delar, till exempel sources delar channel, referrer och referrer_url, pages delar page, entry_page, exit_page och hostname, campaigns delar utm_-dimensionerna, locations delar country och language, technology delar device, browser, os och screen, conversions delar goal och events delar event. En dimension utanför länkens sektioner nekas med ett valideringsfel. limit är 1 till 100 rader (standard 10). Raderna har samma fält och enheter som stats_breakdown för den dimensionen. Länkens låsta period och filter går före period, from, to och filters, och filter från anroparen ignoreras när länken inte tillåter dem. En lösenordslänk kräver huvudet X-Share-Password.

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl https://privatusanalytics.com/share/:token/breakdown/:dimension.json
GET /share/:token.json Översikt av delad instrumentpanel för en delningstoken shares_overview

Läser instrumentpanelen bakom en delningslänk för personer som saknar konto. Sökvägens token är sista delen av en delnings-URL (/share/<token>) och är den enda inloggningsuppgiften, en lösenordslänk kräver också huvudet X-Share-Password och en sso-länk kräver en inloggad medlem. Den accepterar också ett webbplats-id (pa_...) när webbplatsen har sin publika instrumentpanel påslagen. Returnerar samma data som stats_overview, begränsad till det länken delar. Det är period, metrics (visitors, visits, pageviews, views_per_visit, bounce_rate som procent, visit_duration i millisekunder, revenue i minsta valutaenhet), diagramserien för interval, jämförelsedata när compare är satt och panels med toppvärden endast för de delade sektionerna. Den lägger till site (id, name, domain, timezone), sections och locked_period. live_visitors visas bara när länken delar live. En låst period och låsta filter på länken går före period, from, to och filters. Använd shares_breakdown för fler rader i en dimension. För dina egna webbplatser använd stats_overview.

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl https://privatusanalytics.com/share/:token.json

Dokumentation

GET /docs/api.json Lista alla API-operationer och MCP-verktyg docs_api

Returnerar hela katalogen över alla API-operationer, som också är alla MCP-verktyg. Använd den för att upptäcka vilket verktyg eller vilken endpoint som finns och exakt vad den tar emot. Varje objekt har tool_name, summary, description (kan vara null), group, verb (HTTP-metod), path (mall med platshållare), permission (behörigheten som en medlem eller token behöver, null för publika verktyg), input_schema (JSON Schema för indata) och response_schema (JSON Schema för svaret). Svaret är stort. För ett verktyg du redan känner till, föredra dokumentationssidorna (docs_search). docs_openapi returnerar samma information som ett OpenAPI-dokument. Publik, ingen autentisering behövs.

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl https://privatusanalytics.com/docs/api.json
GET /docs.json Lista dokumentationssidor docs_list

Listar varje dokumentationssida med title, description, path (som /docs/api/authentication), section och ingen brödtext. Använd den för att bläddra bland det som finns. För att hitta en sida efter ämne använd docs_search, och för att läsa en använd docs_get med dess section och page. Sidindelad med page och per_page (maximalt 100). Publik, ingen autentisering behövs.

Behörighet: public

Exempel
curl https://privatusanalytics.com/docs.json
GET /openapi.json OpenAPI 3.1-dokument för hela API:et docs_openapi

Returnerar OpenAPI 3-dokumentet som beskriver hela det publika API:et som rå JSON (inte inpackat i ett data-fält). Använd den när du behöver en maskinläsbar specifikation för kodgenerering. För en bläddringsbar lista över operationer med deras indata- och svarsscheman är docs_api lättare att läsa. Den beskriver samma operationer som exponeras som MCP-verktyg. Publik, ingen autentisering behövs.

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl https://privatusanalytics.com/openapi.json
GET /docs/:section/:page.json Läs en dokumentationssida (Markdown och HTML) docs_get

section och page kommer från sidans sökväg /docs/<section>/<page>. Använd sidan "index" för en översikt av ett avsnitt.

Behörighet: public

Exempel
curl https://privatusanalytics.com/docs/:section/:page.json

Domain Rating

GET /sites/:site_id/domain-rating.json Domain Rating-rapport: senaste betyget, inkommande och utgående länkar, förändringen sedan föregående utgåva och historiken per månad domain_rating_report

Returnerar webbplatsens Domain Rating, en uppskattning från 0 till 100 av hur starka länkarna som pekar mot dess domän är, plus antal inkommande och utgående länkar och deras historik. Detta är Privatus Analytics egen poäng, inte ett mått från Google. Betygen uppdateras en gång i månaden per utgåva, så förändringar visas månadsvis. months (1 till 120, standard 12) anger hur många månatliga historikpunkter som ska ingå. Resultatet har domain, checked_at (när webbplatsen senast kontrollerades, null om aldrig), release (månaden för de senaste data som YYYY-MM), rating, inbound_links, outbound_links (var och en null om den ännu inte är känd), changes (samma tre mått som skillnaden mot föregående utgåva, null när något av dem är okänt) och history (en rad per månad med month, rating, inbound_links, outbound_links, äldst först). En ny webbplats kan vara utan betyg i några minuter. Kräver analytics.read.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/domain-rating.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"

Drifttid

POST /sites/:site_id/uptime.json Lägg till en drifttidskontroll för en webbplats uptime_checks_create

Lägger till en drifttidskontroll kopplad till en webbplats. Använd workspace_uptime_checks_create för en kontroll som inte tillhör någon webbplats. kind avgör målet. http kontrollerar statuskoden för url, keyword kontrollerar att svarets innehåll från url innehåller keyword, tcp ansluter till host och port, och dns kontrollerar att host kan slås upp. Fält för andra typer ignoreras. url är som standard webbplatsens startsida för http-kontroller. expected_status (100 till 599, standard 200), http_method (GET eller HEAD) och timeout_seconds (1 till 30, standard 20) gäller för http- och keyword-kontroller. interval_seconds är tiden mellan kontroller, den måste vara minst planens minimum (Free 300, Pro 60, Business 30) och är som standard 300 eller minimum om det är högre. public true låter kontrollen visas på en statussida. Privata och interna adresser nekas, och planen begränsar antalet kontroller per arbetsyta (Free 3, Pro 20, Business 100). Den första kontrollen körs inom några ögonblick, status börjar som pending. Kräver behörigheten uptime.manage. Returnerar kontrollen med id (upc_...).

Behörighet: uptime.manage

Exempel
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 Ta bort en drifttidskontroll och dess historik uptime_checks_delete

Raderar en drifttidskontroll permanent med dess resultat och incidenthistorik, och tar bort den från varje statussida som visar den. Det går inte att ångra. Använd uptime_checks_pause för att sluta kontrollera men behålla historiken. Id kommer från uptime_checks_list. Kräver behörigheten uptime.manage. Returnerar den raderade kontrollen.

Behörighet: uptime.manage

Exempel
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 Lista en webbplats drifttidskontroller uptime_checks_list

Listar en webbplats drifttidskontroller, inklusive kontroller för hela arbetsytan som kontrollerar webbplatsens domän eller en underdomän till den. Sorterade efter namn. Använd workspace_uptime_checks_list för varje kontroll i arbetsytan. Filtrera med status (up, down, pending eller paused) eller query (del av name, url eller host). Sidindelad med page och per_page (upp till 100). Varje kontroll har id (upc_...), workspace_id, site_id (null för kontroller för hela arbetsytan), name, kind, url, host, port, keyword, expected_status, http_method, interval_seconds, timeout_seconds, status (up, down, pending eller paused), enabled, public, last_checked_at, next_check_at, last_response_ms (millisekunder), ssl_expires_at, ssl_issuer, domain_expires_at och created_at. Använd uptime_checks_get för drifttidsprocent och incidenter.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/uptime.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /uptime/checks/:id/pause.json Pausa en drifttidskontroll uptime_checks_pause

Pausar en drifttidskontroll så att den inte längre kontrolleras. En öppen incident stängs direkt och inga aviseringar om down eller up skickas medan den är pausad. Historiken behålls och dess status visas som paused. Återuppta den med uptime_checks_resume. Id kommer från uptime_checks_list. Kräver behörigheten uptime.manage. Returnerar kontrollen.

Behörighet: uptime.manage

Exempel
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 Återuppta en pausad drifttidskontroll uptime_checks_resume

Återupptar en pausad drifttidskontroll. Den kontrolleras vid nästa schemaläggartick och dess status är pending tills det första resultatet kommer in. Id kommer från uptime_checks_list. Kräver behörigheten uptime.manage. Returnerar kontrollen.

Behörighet: uptime.manage

Exempel
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 Hämta en drifttidskontroll: drifttid 24 h/7 d/30 d, svarstider och incidenter uptime_checks_get

Returnerar en drifttidskontroll med dess historik, inte bara dess inställningar. Välj range (24h standard, 7d eller 30d) för svarstidsdiagrammet. Svaret har check (inställningar och live-tillstånd, se uptime_checks_list), uptime (procent för 24h, 7d och 30d, null tills den första kontrollen har körts), range, response_times (enhet hour eller day, etiketter som ISO 8601-tider och series med genomsnittlig svarstid i millisekunder per plats med null för luckor) och incidents (de 50 senaste med started_at, resolved_at som är null medan den fortfarande är öppen, duration_seconds, cause och failed_locations). Bara lyckade kontroller räknas mot svarstider. Id kommer från uptime_checks_list.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/uptime/checks/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /uptime/checks/:id.json Ändra en drifttidskontroll uptime_checks_update

Ändrar en drifttidskontroll. Bara de värden du skickar ändras. Regler och gränser är desamma som i uptime_checks_create (intervallet måste vara minst planens minimum, privata adresser nekas). Att ändra kind rensar målfälten som inte längre gäller. Att ändra interval_seconds schemalägger nästa kontroll direkt. Id kommer från uptime_checks_list. Kräver behörigheten uptime.manage. Returnerar den uppdaterade kontrollen.

Behörighet: uptime.manage

Exempel
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 Probens datacenter, User-Agent och IP-intervall för utgående trafik (för att tillåtlista våra drifttidsprober) uptime_probes_list

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl https://privatusanalytics.com/uptime/probes.json
POST /uptime/probes/results.json Skicka in resultat från en extern probe-agent (Bearer-token för uptime probe) uptime_probes_results

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/uptime/probes/results.json \
  -H "Content-Type: application/json" -d '{…}'
POST /workspaces/:workspace_id/uptime.json Lägg till en drifttidskontroll för arbetsytan (inte kopplad till en webbplats) workspace_uptime_checks_create

Lägger till en drifttidskontroll som tillhör hela arbetsytan i stället för en webbplats. Använd uptime_checks_create för att koppla en kontroll till en webbplats. Indata, plangränser och regler är desamma, se uptime_checks_create. kind är http, keyword, tcp eller dns och avgör vilka av url, keyword, host och port som gäller. Eftersom det inte finns någon webbplats behöver en http-kontroll en uttrycklig url. Anropare som är begränsade till vissa webbplatser kan inte skapa kontroller för hela arbetsytan. Kräver workspace_id från workspaces_list och behörigheten uptime.manage. Returnerar kontrollen med id (upc_...) och site_id null.

Behörighet: uptime.manage

Exempel
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 Lista alla drifttidskontroller i en arbetsyta workspace_uptime_checks_list

Listar varje drifttidskontroll i en arbetsyta, inklusive kontroller som inte är kopplade till någon webbplats, sorterade efter namn. En anropare som är begränsad till vissa webbplatser ser bara kontroller för de webbplatserna. Använd uptime_checks_list för kontrollerna för en webbplats. Filtrera med status (up, down, pending eller paused) eller query (del av name, url eller host). Sidindelad med page och per_page (upp till 100). Varje objekt har de fält som beskrivs i uptime_checks_list. Kräver workspace_id från workspaces_list.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/uptime.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"

Dubbletter av omdömen

POST /sites/:site_id/testimonials/duplicates/dismiss.json Säg att en grupp inte är dubbletter. Den återkommer aldrig i kön testimonial_duplicates_dismiss

testimonial_ids måste vara varje kopia i en öppen grupp i dubblettkön som inte ligger i papperskorgen, som testimonial_duplicates_list returnerar dem. Inget slås ihop eller ändras på kundomdömena, och de grupperas aldrig ihop igen. För att dela en grupp om tre, slå först ihop de två som är samma. Servern svarar med 422 när id:na inte är exakt en öppen grupp.

Behörighet: content.write

Exempel
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 Lista grupperna av kundomdömen som troligen är samma omdöme två gånger testimonial_duplicates_list

Exakta träffar kommer först. Varje grupp innehåller sina kopior i sin helhet och keeper_id, kopian som skulle behållas. meta.exact_groups är hur många grupper testimonial_duplicates_merge_exact skulle slå ihop.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/duplicates.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/testimonials/:id/merge.json Slå ihop kopior av ett kundomdöme med det i sökvägen testimonials_merge

Behållaren behåller sin status och verifierade status, och sina ord om inte body_from namnger en annan kopia. Den får de taggar, manuella samlingar, placeringar och egna egenskaper den saknar. Kopiorna går till papperskorgen märkta som sammanslagna, och att återställa en ångrar sammanslagningen för den kopian. En kopia som kom denna månad räknas inte längre som ett nytt kundomdöme. Svaret innehåller meta.undo_id.

Behörighet: content.write

Exempel
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 Slå ihop varje exakt träff i kön på en gång testimonial_duplicates_merge_exact

Skicka först dry_run för antalen, sedan confirm_count med totalen den gav. Upp till 100 grupper slås ihop per anrop. Svaret innehåller meta.undo_id, och en ångring tar tillbaka hela körningen.

Behörighet: content.write

Exempel
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 '{…}'

E-postinställningar

POST /email/preferences/:token/unsubscribe.json Stoppa all e-post till en adress som går att stänga av, med token från dess länk till e-postinställningar email_preferences_unsubscribe_all

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/email/preferences/:token/unsubscribe.json \
  -H "Content-Type: application/json" -d '{…}'
POST /email/preferences/:token.json Stäng av eller slå på e-post till en adress med token från dess länk till e-postinställningar email_preferences_update

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/email/preferences/:token.json \
  -H "Content-Type: application/json" -d '{…}'

E-postrapporter

DELETE /recipients/:id.json Ta bort en mottagare från en e-postrapport email_report_recipients_delete

Tar bort en adress från en e-postrapport (id för mottagaren, från email_report_recipients_list). Adressen slutar få rapporter och dess rad raderas. Om adressen hade avprenumererat på egen hand finns avståndet kvar i registret, så att ta bort den gör det inte möjligt för någon att bjuda in den igen. För att ändra många adresser på en gång skicka hela listan via email_reports_update i stället. Returnerar den borttagna mottagaren.

Behörighet: content.write

Exempel
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 Lista mottagarna av en e-postrapport med deras status email_report_recipients_list

Statusar: active (får rapporter), pending (inbjuden, har inte accepterat ännu), declined eller unsubscribed. Lägg till eller ta bort adresser via rapportens mottagarlista.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/reports/:report_id/recipients.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /recipients/:id/resend.json Skicka en väntande rapportinbjudan igen email_report_recipients_resend

Skickar inbjudan igen med nya länkar. Tillåts en gång var 7:e dag per adress och rapport.

Behörighet: content.write

Exempel
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 Skapa en e-postrapport email_reports_create

Skapar en schemalagd e-postrapport med analysdata för en eller flera webbplatser (sökvägen tar workspace_id). Obligatoriska är name och site_ids (pa_...-id). frequency är daily, weekly (standard, skickas en vardag) eller monthly (den 1:a i månaden), hour är timmen på dygnet 0 till 23 i arbetsytans tidszon (standard 8) och weekday är 0 för söndag till 6 för lördag (standard 1, används bara av veckorapporter). blocks väljer innehållet bland kpis, chart, pages, sources, goals, campaigns, vitals, uptime, testimonials och subscriptions (standard kpis, chart, pages, sources, goals, testimonials, subscriptions). subscriptions visar MRR och vad som flyttade den under perioden, för en webbplats med en betalningsleverantör ansluten. recipients är en lista med e-postadresser (upp till 50). Arbetsytans medlemmar är aktiva direkt, alla andra adresser är pending och får ett inbjudningsmejl, och får rapporter först efter att de har accepterat det. Adresser som har avstått nekas. Om recipients utelämnas läggs den anropande användaren till. En aktiverad rapport behöver minst en mottagare. Planen Free tillåter 3 rapporter, betalda planer är obegränsade. Returnerar rapporten med next_run_at. Använd email_reports_send_test för att förhandsgranska den.

Behörighet: content.write

Exempel
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 Leveranslogg för en e-postrapport email_reports_deliveries

Listar sändningsloggen för en e-postrapport, nyaste först och med sidindelning. Varje post har status (sent för ett schemalagt utskick, test, failed eller skipped), recipients_count, error (orsaken till ett fel, annars null) och sent_at. Filtrera med status. Använd den för att bekräfta att en schemalagd rapport gick iväg eller för att se varför den misslyckades. Använd email_reports_send_test för att utlösa ett testmejl.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/reports/:id/deliveries.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
DELETE /reports/:id.json Ta bort en e-postrapport email_reports_delete

Raderar en e-postrapport permanent tillsammans med dess mottagare och leveranslogg. Det går inte att ångra och inga fler mejl skickas. För att sluta skicka men behålla rapporten använd email_reports_update med enabled false. Id (rep_...) kommer från email_reports_list. Returnerar den raderade rapporten.

Behörighet: content.write

Exempel
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 Lista e-postrapporter email_reports_list

Listar en arbetsytas schemalagda e-postrapporter (sökvägen tar workspace_id), sorterade efter namn och med sidindelning. Varje rapport har id (rep_...), name, site_ids, frequency, hour, weekday, recipients (varje adress på rapporten), recipient_details (id, email, status, invited_at, expires_at, confirmed_at för var och en), blocks, attach_pdf, intro, enabled, last_sent_at, next_run_at och created_at. Filtrera efter frequency (daily, weekly eller monthly). En anropare som är begränsad till vissa webbplatser ser bara rapporter där alla webbplatser är deras egna. Endast mottagare med status active får faktiskt rapporter. Använd email_reports_deliveries för sändningsloggen.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/reports.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /reports/:id/send_test.json Skicka en e-postrapport nu som ett test email_reports_send_test

Skickar rapporten till en adress direkt som ett test, utan att ändra dess schema eller last_sent_at. Skickar ett riktigt mejl, så använd den bara när användaren vill det. recipient är som standard den anropande användaren och får bara vara anroparen, en annan medlem i arbetsytan eller en aktiv mottagare av rapporten. För vilken annan adress som helst går testet till anroparen i stället. Testutskick har begränsad frekvens per arbetsyta och per utomstående adress, och ett nekat utskick returnerar ett frekvensgränsfel. Returnerar leveransen med status (test, eller failed med orsaken i error), recipients_count och sent_at. Använd email_reports_deliveries för hela loggen.

Behörighet: content.write

Exempel
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 Hämta en e-postrapport email_reports_get

Returnerar en e-postrapport via id (rep_..., från email_reports_list). Svaret har name, site_ids, frequency, hour, weekday, recipients, recipient_details med varje adress och dess status för medgivande, blocks, attach_pdf, intro, enabled, last_sent_at och next_run_at (UTC-tidsstämplar). recipients listar varje adress inklusive väntande, bara adresser med status active i recipient_details får rapporter. Använd email_reports_deliveries för vad som skickats.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/reports/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /reports/:id.json Uppdatera en e-postrapport email_reports_update

Ändrar en e-postrapport (id från email_reports_list). Bara de värden du skickar ändras. Om du skickar recipients ersätts hela listan. Adresser du tar bort tas bort, nya följer samma medgivanderegler som email_reports_create (medlemmar är aktiva direkt, andra får ett inbjudningsmejl) och adresser som redan finns på rapporten behåller sin status. En ändring av frequency, hour, weekday eller enabled räknar om next_run_at. Sätt enabled false för att pausa. Använd email_report_recipients_list för att se status för medgivande och email_report_recipients_resend eller email_report_recipients_delete för att hantera enskilda adresser.

Behörighet: content.write

Exempel
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 Acceptera en rapportinbjudan report_invites_accept

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/reports/invites/:token/accept.json \
  -H "Content-Type: application/json" -d '{…}'
POST /reports/invites/:token/decline.json Tacka nej till en rapportinbjudan report_invites_decline

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/reports/invites/:token/decline.json \
  -H "Content-Type: application/json" -d '{…}'
POST /reports/resubscribe/:token.json Få rapporter igen efter avregistrering report_resubscribes_confirm

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/reports/resubscribe/:token.json \
  -H "Content-Type: application/json" -d '{…}'
POST /reports/unsubscribe/:token/resubscribe.json Mejla en adress en länk för att få rapporter igen report_resubscribes_create

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/reports/unsubscribe/:token/resubscribe.json \
  -H "Content-Type: application/json" -d '{…}'
POST /reports/unsubscribe/:token.json Avsluta prenumerationen på en e-postrapport för en adress report_unsubscribes_create

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/reports/unsubscribe/:token.json \
  -H "Content-Type: application/json" -d '{…}'

Egna egenskaper för omdömen

POST /sites/:site_id/testimonials/settings/properties.json Lägg till en egen egenskap på en webbplats testimonial_properties_create

En webbplats har upp till 20 aktiva egenskaper. Nyckeln är fast när den skapats, eftersom formulärlänkar, regler och API:t använder den. Utelämna den så föreslås den från etiketten.

Behörighet: sites.manage

Exempel
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 Radera en egen egenskap och dess värden för gott testimonial_properties_destroy

Detta kan inte ångras. Det tar bort egenskapen och dess värde från varje kundomdöme. confirm är nyckeln. En egenskap som används av en smart samling eller en regel för automatisk taggning kan inte raderas medan de använder den. Arkivering är det vanliga sättet att avveckla en.

Behörighet: sites.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Lista en webbplats egna egenskaper, i visningsordning testimonial_properties_list

Varje säger sin nyckel, typ och alternativ, hur många kundomdömen som har ett värde (filled), om dess typ fortfarande kan ändras, och vilka smarta samlingar och regler för automatisk taggning som använder den.

Behörighet: analytics.read

Exempel
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 Ändra, sortera om, arkivera eller återta en egen egenskap testimonial_properties_update

Bara de indata du skickar ändrar något. Att byta namn på ett alternativ byter namn på det på varje kundomdöme som har det. En egenskap som används av en smart samling eller en regel för automatisk taggning kan inte arkiveras medan de använder den.

Behörighet: sites.manage

Exempel
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 '{…}'

Enkäter

POST /sites/:site_id/surveys.json Skapa en enkät surveys_create

Skapar en cookiefri enkät på webbplatsen. Den samlar in ingenting förrän dess status är active, så skapa den som draft först eller ange status active för att starta direkt. Obligatoriska är name (internt, besökare ser det aldrig, max 120 tecken) och questions (1 till 5 rader i ordning). Varje fråga är ett objekt med key (valfri, ett stabilt id med gemener, siffror och understreck, genereras när det utelämnas), kind (text, choice, multi, rating, nps eller yes_no), prompt (obligatorisk, max 200 tecken), required (boolesk), choices (en lista med upp till 10 alternativ, endast för choice och multi) och scale (3, 5, 7 eller 10, endast för rating, standard 5). NPS använder alltid 0 till 10. Målgruppen styrs av trigger_kind (immediate, delay, scroll, exit eller manual) med delay_seconds (0 till 600, standard 10, endast för delay) och scroll_percent (1 till 100, standard 50, endast för scroll), paths (rader med match_type exact, prefix eller glob och pattern, tomt betyder varje sida), devices (desktop, mobile, tablet, tomt betyder alla), position (bottom_right, bottom_left eller center), sample_rate (1 till 100 procent av besökarna), thank_you (max 200 tecken), starts_on och ends_on (YYYY-MM-DD). Enkäter kan inte be om en e-postadress och skrivna svar rensas från personuppgifter. Planen Free tillåter 1 enkät per arbetsyta och ett begränsat antal svar i månaden, betalda planer är obegränsade. Kräver behörigheten content.write. Returnerar enkäten med id (svy_...). Läs svaren med surveys_get.

Behörighet: content.write

Exempel
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 Ta bort en enkät med dess svar surveys_delete

Raderar en enkät permanent tillsammans med alla dess svarsomgångar och svar. Det går inte att ångra och resultaten går förlorade. Använd surveys_pause i stället om du bara vill sluta samla in. Id kommer från surveys_list och site_id krävs. Kräver behörigheten content.write. Returnerar den raderade enkäten.

Behörighet: content.write · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Lista en webbplats enkäter med antal svar surveys_list

Listar en webbplats enkäter, nyaste först, med deras inställningar och svarsantal. Filtrera med status (draft, active, paused eller all, standard all). Sidindelad med page och per_page (standard 25, upp till 100). Varje enkät har id (svy_...), name, status, questions, inställningar för målgrupp, starts_on, ends_on, created_at, updated_at och stats (antal för responses, completed och this_month). Använd surveys_get för svaren och resultaten för en enkät.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/surveys.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/surveys/:id/pause.json Sluta samla in svar och behåll de som redan getts surveys_pause

Pausar en enkät så att den direkt slutar erbjudas besökare. Svar som redan samlats in behålls och visas i surveys_get, och surveys_start återupptar den. Använd den i stället för surveys_delete när du bara vill sluta samla in. Id kommer från surveys_list och site_id krävs. Kräver behörigheten content.write. Returnerar enkäten med status paused.

Behörighet: content.write

Exempel
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 Enkätresultat för en period, uppdelade per fråga surveys_get

Returnerar resultatrapporten för en enkät över en period, inte bara dess inställningar (använd surveys_list för inställningar och antal). Välj period som förinställning (standard 30d) eller period custom med from och to. Svaret har survey (dess inställningar), period (from och to som ISO 8601-tider), responses (personer som besvarade minst en fråga), completed (personer som besvarade den sista frågan), questions (en post per fråga med key, kind, prompt och antal answers, plus detaljer efter kind) och pages, devices och countries (upp till 10 rader vardera med value och count). Detaljer efter kind är texts (upp till 100 nyaste skrivna svar med text och at) för text, choices (value, count, share som procent med en decimal, offered) för choice, multi och yes_no, average (null utan svar), scale och distribution för rating, samt score (NPS från -100 till 100, null utan svar), promoters (9 och 10), passives (7 och 8), detractors (0 till 6) och distribution för nps. Använd surveys_themes för att sammanfatta skrivna svar.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/surveys/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/surveys/:id/start.json Börja samla in svar surveys_start

Sätter en enkät som active så att besökare kan erbjudas den. Den visas bara när dagens datum ligger inom starts_on och ends_on (när de är satta), sidan matchar dess paths och devices, och planens månatliga svarskvot inte är slut. Använd den för en enkät som är draft eller paused. Id kommer från surveys_list och site_id krävs. Kräver behörigheten content.write. Returnerar enkäten med status active. Stoppa den igen med surveys_pause.

Behörighet: content.write

Exempel
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 Gruppera de fritextsvar som getts på en fråga i teman (Business-planen) surveys_themes

Använder AI för att gruppera de skrivna svaren på en fritextfråga i teman. Endast planen Business. Välj den efter att surveys_get visar en textfråga med tillräckligt många svar, och ange question_key (nyckeln för en fråga av kind text från surveys_get). Den kräver minst 5 skrivna svar och använder de 300 senaste. Resultatet listar upp till 12 teman, vart och ett med label, count, sentiment (positive, neutral eller negative) och example (ett representativt svar, kan vara null), plus answers (hur många svar som sammanfattades) och generated_at. Varje ny generering använder en fråga från arbetsytans månatliga AI-kvot, som ges tillbaka om den misslyckas. Resultatet cachas mot svaren, så att anropa igen utan nya svar kostar ingenting. Den misslyckas med ett valideringsfel när planen inte inkluderar den, kvoten är slut, AI inte är konfigurerat eller det finns för få svar.

Behörighet: analytics.read

Exempel
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 Uppdatera en enkät surveys_update

Ändrar en enkät. Bara de värden du skickar ändras. Indata och gränser är desamma som i surveys_create, med status draft, active eller paused. När du skickar questions ersätts hela listan, så ta med varje fråga du vill behålla och behåll varje befintlig key för att behålla de insamlade svaren (att formulera om en prompt med samma key delar inte upp resultaten). Frågor som du utelämnar slutar visas i resultaten. Ändringar av målgruppen gäller för besökare direkt. Id kommer från surveys_list och site_id krävs. Kräver behörigheten content.write. Returnerar den uppdaterade enkäten.

Behörighet: content.write

Exempel
curl -X PATCH https://privatusanalytics.com/sites/:site_id/surveys/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Experiment

POST /sites/:site_id/experiments.json Skapa ett experiment som utkast experiments_create

Skapar ett A/B-test eller ett test med delad URL för en webbplats. Det sparas som ett utkast och skickar ingen besökare någonstans förrän en person startar det i appen. Obligatoriska är name, path (originalsidan, till exempel /pricing), goal_id (från goals_list) och variants: en lista med { name, path, weight } där första raden är originalsidan (dess path ignoreras) och varje annan rad är en sida på samma webbplats. Utelämna alla weight för en jämn fördelning, eller skicka weight som summerar till 100. Planen Free tillåter ett experiment åt gången med originalet och en variant. Pro och uppåt lägger till fler varianter, automatisk fördelning, målgruppsstyrning, en * i sökvägen, sekundära mål, schemalagd start och exklusiva grupper. Kräver content.write. Returnerar experimentet.

Behörighet: content.write

Exempel
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 Radera ett experiment med dess resultat experiments_delete

Raderar ett experiment permanent med dess varianter och resultat. Det kan inte ångras. Använd experiments_pause för att stoppa det och behålla resultaten. MCP-verktyget kör det inte och svarar med human_only och sidan där en person raderar det. Kräver content.write.

Behörighet: content.write · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Kopiera ett experiment som nytt utkast experiments_duplicate

Skapar ett utkast med samma sidor, andelar, mål och regler som ett befintligt experiment och inga av dess resultat. Använd det för att ändra ett test som redan har startat. Räknas mot plangränsen som ett nytt experiment. Kräver content.write. Returnerar det nya experimentet.

Behörighet: content.write

Exempel
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 Avsluta ett experiment för gott experiments_end

Avslutar ett pågående eller pausat experiment. Det kan inte startas igen, dess resultat behålls och det räknas inte längre mot plangränsen. MCP-verktyget kör det inte och svarar med human_only och sidan där en person avslutar det. API:et kör det. Kräver content.write.

Behörighet: content.write · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Lista en webbplats experiment experiments_list

Listar en webbplats A/B-tester och tester med delad URL, nyaste först. Filtrera med status (draft, scheduled, running, paused, ended eller all, standard all). Sidindelad med page och per_page (standard 25, upp till 100). Varje experiment har id (exp_...), name, status, path (originalsidan), goal_id, variants (id, name, path, weight, control), reglerna för när det avslutas och locked (true när planen inte längre omfattar det). Kräver analytics.read.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/experiments.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/experiments/:id/pause.json Pausa ett experiment och behåll resultaten experiments_pause

Pausar ett pågående eller schemalagt experiment. Alla besökare får originalsidan igen direkt och resultaten hittills behålls. experiments_start återupptar det. Kräver content.write. Returnerar experimentet.

Behörighet: content.write

Exempel
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 Hämta ett experiment med resultat experiments_get

Returnerar ett experiment med id (exp_..., från experiments_list) och dess resultat: per variant besök, konverteringar och konverteringsfrekvens för målet, och jämfört med originalet uplift, det sannolika intervallet för skillnaden, p-värdet, om den är signifikant vid vald konfidensnivå och sannolikheten att varianten slår originalet. results.progress anger hur långt det är kvar tills en vinnare kan utses, och results.mismatch.found true betyder att besöken inte fördelas som andelarna säger, så resultatet bör inte litas på. split bryter ned resultaten efter enhet, kanal eller land (Pro och uppåt) och humans_only behåller besök som botpoängen bedömer som sannolikt mänskliga (Business). Ett besök räknas för en variant när det såg den varianten, och en konvertering räknas först därefter. Kräver analytics.read.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/experiments/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/experiments/:id/start.json Starta ett experiment experiments_start

Startar ett utkast eller ett pausat experiment, så att besökare på originalsidan börjar skickas till varianterna. Med starts_at i framtiden väntar det till den tidpunkten. Eftersom det omdirigerar riktiga besökare kör MCP-verktyget det inte och svarar med human_only och sidan där en person startar det. API:et kör det. Kräver content.write.

Behörighet: content.write · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Uppdatera ett experiment experiments_update

Ändrar ett experiment. Bara de indata du skickar ändras, och variants ersätter hela listan. När ett experiment har startat kan bara name och send_to_winner ändras, eftersom nya sidor, andelar eller mål mitt under testet skulle förstöra resultatet: använd experiments_duplicate och redigera kopian. Kräver content.write. Returnerar experimentet.

Behörighet: content.write

Exempel
curl -X PATCH https://privatusanalytics.com/sites/:site_id/experiments/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Exporter

POST /workspaces/:workspace_id/exports.json Köa en export (skapas i bakgrunden) exports_create

Köar en dataexport som byggs i bakgrunden och returnerar den direkt med status queued. Välj den när du behöver en fil (CSV, JSON, XLSX, NDJSON eller en ZIP med instrumentpanelens paneler), och använd exports_preview först för att kontrollera kolumner och storlek utan att skapa något. För lättviktiga siffror använd statistikverktygen i stället. Obligatoriska indata är workspace_id (sökväg), site_id, from och to (YYYY-MM-DD, inklusive, i exportens tidszon). kind avgör vad som exporteras och vilka alternativ som gäller. aggregated (standard) ger besöksmätvärden per tidsintervall och använder grouping, dimensions (upp till 6), metrics, filters och segment_id. pageviews, events och raw ger en rad per träff och använder fields, filters och segment_id, kräver planen Pro eller högre och är begränsade till 400 dagar (raw till 93 dagar). imported ger importerad daglig statistik och använder bara dimensions. dashboard ger en ZIP med översiktspanelerna (endast formatet zip). Tillåtet file_format per kind är csv, json eller xlsx för aggregated, pageviews, events och imported, csv eller ndjson för raw och zip för dashboard. Alternativ som inte gäller för vald kind ignoreras. En arbetsyta kan ha högst 5 exporter köade eller igång samtidigt. Svaret är exporten med id (exp_...), status, row_count och expires_at (null tills den är byggd). Fråga exports_get upprepade gånger tills status är complete och anropa sedan exports_download. Användaren som begärde den får ett mejl när den är klar, en webhook export.ready skickas och åtgärden skrivs till granskningsloggen. Händelseegenskaper i kolumnen props innehåller bara egenskaper som markerats som säkra att exportera (se event_properties_list).

Behörighet: analytics.export

Exempel
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 Ta bort en export och dess fil exports_delete

Raderar en export och dess genererade fil permanent. Nedladdningslänken slutar fungera direkt och det går inte att ångra, men du kan skapa exporten igen. Använd den för att ta bort en klar eller misslyckad export som du inte längre behöver, eftersom filer också raderas automatiskt 7 dagar efter att de har byggts. Id kommer från exports_list. Returnerar det raderade exportobjektet som det var före raderingen.

Behörighet: analytics.export · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Hämta en signerad länk till filen (giltig i 10 minuter) exports_download

Returnerar en kortlivad nedladdningslänk för en färdig export. Välj den efter att exports_get visar status complete. Svaret har url (en signerad länk som gäller i 10 minuter, hämta den direkt), expires_at (när länken slutar fungera, ISO 8601), filename och byte_size (byte). Den misslyckas med felkoden expired (inte hittad) när exporten är äldre än 7 dagar, och med ett valideringsfel när exporten fortfarande är köad eller igång eller när den misslyckades (felmeddelandet säger varför). Anropa den igen för att få en ny länk så länge exporten själv inte har gått ut. Id kommer från exports_list.

Behörighet: analytics.export

Exempel
curl https://privatusanalytics.com/exports/:id/download.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /workspaces/:workspace_id/exports.json Lista exporter (jobbkön) exports_list

Listar en arbetsytas exporter för de webbplatser du har åtkomst till, nyaste först. Använd den för att hitta ett export-id, kontrollera vilka exporter som fortfarande pågår eller se vad som har gått ut. Filtrera med site_id, status (queued, running, complete, failed eller expired) och kind (aggregated, pageviews, events, imported, raw eller dashboard). Sidindelad med page och per_page (upp till 100), och returnerar data (en lista med exporter, se exports_get för fälten) plus sidindelning i meta. Kräver workspace_id från workspaces_list.

Behörighet: analytics.export

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/exports.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /workspaces/:workspace_id/exports/preview.json Förhandsgranska en export: de första 20 raderna och det uppskattade antalet rader exports_preview

Torrkörning av en export som inte skapar något. Den tar samma indata som exports_create och returnerar kind, file_format, columns (kolumnnamnen i ordning), rows (upp till 20 exempelrader som objekt med kolumnerna som nycklar) och estimated_rows (ett ungefärligt radantal för hela filen). För kind dashboard listar exempelraderna varje filnamn med dess radantal. Använd den för att validera dimensioner, fält, filter och datumintervall, och för att se hur stor exporten skulle bli innan du anropar exports_create. Den körs synkront, så håll datumintervallet rimligt. Valideringsfelen är desamma som för exports_create, inklusive kravet på planen Pro för typer på radnivå. Inget lagras och inget mejl skickas.

Behörighet: analytics.export

Exempel
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 Hämta en export och dess status exports_get

Returnerar en export, inklusive dess förlopp. Använd den för att fråga upprepade gånger efter en export som startats med exports_create tills status är complete eller failed. Statusarna är queued, running, complete, failed och expired. Fälten omfattar id (exp_...), site_id (pa_...), kind, format, status, params (exportens lagrade definition), row_count (null tills klar), error (sätts vid failed), completed_at, expires_at (filer sparas 7 dagar efter slutförandet), download_url (sätts bara medan filen kan laddas ned, använd exports_download för att få en signerad länk) och created_at. Id kommer från exports_create eller exports_list.

Behörighet: analytics.export

Exempel
curl https://privatusanalytics.com/exports/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"

Fakturering

POST /workspaces/:workspace_id/billing/badge.json Anmäl dig till eller av från märkesbonusen (gratisplanen) billing_badge

Anmäler en Free-arbetsyta till eller från bonusen för Privatus Analytics-märket, som höjer den månatliga händelsekvoten. Sätt enabled till true för att anmäla. En bakgrundskontroll letar sedan efter märket på arbetsytans webbplatser och verifierar det, vilket kan ta en stund, så läs billing_get efteråt och titta på badge.verified_at. Sätt enabled till false för att avanmäla, vilket rensar kontroll- och verifieringsdatum och tar bort bonusen. Att anmäla en Pro- eller Business-arbetsyta nekas eftersom betalda planer inte har någon bonus. Returnerar arbetsytans faktureringsobjekt som billing_get. Kräver billing.manage.

Behörighet: billing.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Avsluta vid slutet av faktureringsperioden billing_cancel

Avslutar den betalda prenumerationen i slutet av den aktuella betalda perioden. Inget återbetalas och planen förblir aktiv till current_period_ends_at, varefter arbetsytan flyttas till planen Free. Använd billing_resume för att ångra det före dess. Misslyckas när arbetsytan saknar prenumeration eller en uppsägning redan är schemalagd. Den valfria reason (ett av enum-värdena) och comment är en avslutsenkät. En comment, om den anges, mejlas till teamet på Privatus Analytics som ett återkopplingsmeddelande från medlemmen och sparas inte. Returnerar faktureringsobjektet med cancel_at_period_end true. Kräver billing.manage.

Behörighet: billing.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Byt plan, nivå eller intervall (proportionerligt) billing_change_plan

Flyttar den befintliga prenumerationen till en annan plan, händelsenivå eller faktureringsintervall. Detta kostar pengar. Ändringen träder i kraft direkt och Paddle beräknar den proportionellt, så en debitering eller ett tillgodohavande tillämpas på den registrerade betalningsmetoden direkt. Kör billing_preview först med samma indata för att se de exakta beloppen. Misslyckas om arbetsytan saknar prenumeration (använd billing_checkout för det), om målet är den nuvarande planen, nivån och intervallet, eller om det inte finns något pris för kombinationen av plan och händelser. Värdet för events måste vara en av nivåerna från plans_list. Returnerar det uppdaterade faktureringsobjektet. Kräver billing.manage.

Behörighet: billing.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Starta en Paddle-kassa för en betald plan billing_checkout

Startar en Paddle-kassa för en arbetsyta som ännu inte har någon prenumeration och returnerar en värdbaserad kassa-URL. Inget debiteras förrän en person slutför kassan i en webbläsare, så ge url till personen. Använd billing_change_plan i stället när arbetsytan redan har en prenumeration. Indata är plan (pro eller business), events (en nivå för händelser per månad från plans_list) och interval (month eller year, standard month). Priserna inkluderar moms eller försäljningsskatt. Ett godkänt rabattprogram tillämpas automatiskt och rapporteras i discount_id. Returnerar transaction_id, url (kan vara null), price_id, plan, events, interval, amount (hela USD för intervallet), client_token och environment (sandbox eller production, används av Paddle-overlayen), custom_data och discount_id (kan vara null). Misslyckas om arbetsytan redan har en prenumeration. Kräver billing.manage.

Behörighet: billing.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Ansök om rabatt för ideella organisationer, utbildning eller öppen källkod billing_discount

Ansöker om ett rabattprogram för arbetsytan. Detta skickar in en ansökan för granskning av personalen och mejlar teamet på Privatus Analytics, det beviljar inte någon rabatt i sig. Programmen är nonprofit, education, open_source (50 procent rabatt), open_source_free (gratis Pro upp till 1 M händelser i månaden) och agency (20 procent rabatt på varje arbetsyta du äger). Endast en öppen ansökan (pending, approved eller active) tillåts per arbetsyta, och du kan ansöka igen efter ett avslag eller en återkallelse. license sparas bara för de två öppen källkod-programmen. Returnerar ansökan med program, status, percent, comp_events (kan vara null), organization_name, website, proof_url, license, note, rejection_reason, created_at, reviewed_at, applied_at och revoked_at (tidsstämplar som kan vara null). Följ förloppet senare i fältet discount i billing_get. Kräver billing.manage.

Behörighet: billing.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Hämta en länk för att uppdatera betalningsmetoden billing_payment_method

Returnerar en Paddle-länk där en person kan uppdatera prenumerationens betalningsmetod. Själva anropet ändrar ingenting. Ge url till personen så att den öppnas i en webbläsare. Resultatet har kind (payment_method) och url. Misslyckas när arbetsytan inte har någon aktiv prenumeration. För fakturor, adresser och alla andra faktureringsuppgifter använd billing_portal. Kräver billing.manage.

Behörighet: billing.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Hämta en länk till Paddles kundportal billing_portal

Returnerar en länk till Paddles kundportal, där en person kan se fakturor, betalningsmetoder och adresser. Själva anropet ändrar ingenting. Ge url till personen så att den öppnas i en webbläsare. Resultatet har kind (portal) och url. Misslyckas om arbetsytan ännu inte har någon Paddle-kund (den har aldrig gått till kassan) eller när kunden delas med andra arbetsytor som anroparen inte har åtkomst till, eftersom portalen visar all kundens data. Använd billing_payment_method för bara kortet. Kräver billing.manage.

Behörighet: billing.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Förhandsgranska ett planbyte med proportionering billing_preview

Visar vad det skulle kosta just nu att flytta prenumerationen till en annan plan, nivå eller ett annat intervall, utan att ändra något. Kör den alltid före billing_change_plan med samma indata för plan, events och interval. Misslyckas om arbetsytan saknar prenumeration eller om målet är samma som nuvarande pris. Returnerar plan, events, interval, price_id, amount (hela USD i listpris för intervallet), currency, charge_minor (vad som skulle debiteras nu), credit_minor (tillgodohavande för oanvänd tid) och result_minor (nettobelopp), alla i minsta valutaenhet, result_action (charge eller credit, kan vara null), next_billed_at (kan vara null) och warnings (strängar, till exempel att förra månadens användning överstiger den nya nivån eller planbegränsningar som webbplatser eller medlemmar som den nya planen skulle bryta mot). Kräver billing.manage.

Behörighet: billing.manage

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/billing/preview.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /workspaces/:workspace_id/billing/resume.json Ångra en schemalagd uppsägning eller återuppta en paus billing_resume

Ångrar en schemalagd uppsägning, eller återupptar en pausad prenumeration, så att planen fortsätter förnyas. Använd den efter billing_cancel och före current_period_ends_at. En pausad prenumeration återupptas direkt. Misslyckas när det inte finns någon schemalagd uppsägning och prenumerationen inte är pausad. Returnerar det uppdaterade faktureringsobjektet. Kräver billing.manage.

Behörighet: billing.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Hämta planen, prenumerationen och användningen billing_get

Returnerar arbetsytans plan och faktureringsstatus. Använd den innan du ändrar något i faktureringen, och för att ta reda på om prenumerationen är aktiv eller håller på att sägas upp. Fälten omfattar workspace_id, plan (free, pro, business eller enterprise), plan_events (den sålda nivån för händelser per månad), allowance (händelser per månad som faktiskt tillåts, inklusive eventuell märkesbonus), billing_interval (month eller year, kan vara null), price (hela USD för intervallet, kan vara null), subscription_status, current_period_ends_at, cancel_at_period_end (true när en uppsägning är schemalagd), canceled_at, auto_upgrade, discount (den senaste rabattansökan, kan vara null), discount_percent, billing_emails (array), tax_id, badge (opted_in, verified_at, checked_at och bonusens storlek) och usage (samma objekt som billing_usage returnerar). Kräver billing.manage. Fakturor finns i billing_invoices_list och en månad för månad-vy av användningen är billing_usage.

Behörighet: billing.manage

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/billing.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /workspaces/:workspace_id/billing.json Uppdatera faktureringsmejl, momsnummer och automatisk uppgradering billing_update

Uppdaterar arbetsytans faktureringsinställningar. Bara de värden du skickar ändras. billing_emails är en array med upp till 5 extra adresser för fakturor och faktureringsmeddelanden och ersätter hela listan. tax_id sparas på arbetsytan och läggs inte till på fakturor, så det måste också anges i kassan. auto_upgrade är false som standard. När det är true flyttar arbetsytan till nästa nivå och debiterar mellanskillnaden när den månatliga händelsegränsen nås, i stället för att pausa insamlingen. Att slå på det medan insamlingen redan är pausad vid gränsen uppgraderar och debiterar direkt och skickar ett bekräftelsemejl, och om Paddle nekar uppgraderingen sparas ingenting. Returnerar faktureringsobjektet som billing_get. Kräver billing.manage.

Behörighet: billing.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Hämta den här månadens användning, prognos och fördelning per webbplats billing_usage

Returnerar arbetsytans händelseanvändning för en månad. Använd den för att se hur nära arbetsytan är sin hårda månadsgräns. Indata är month (vilken dag som helst i månaden, standard den aktuella månaden). Endast sidvisningar och egna händelser räknas. Fälten är month, events, bots (sammanlagt antal bottar, faktureras inte), allowance, percent (0 till 100 och över, en decimal), forecast och forecast_percent (rak prognos till månadens slut, null för tidigare månader), days_left, status (ok, warning vid 80 procent, over vid 100 procent, paused eller locked), sites (per webbplats site_id, domain, name, events och share i procent, största först), history (tidigare månader som month och events), access_locked_at, collection_paused (true när nya händelser släpps), pause_reason (limit eller staff, kan vara null), collection_paused_at och resumes_at (den 1:a nästa månad när den pausats av gränsen). Kräver billing.manage.

Behörighet: billing.manage

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/billing/usage.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /workspaces/:workspace_id/billing/invoices.json Lista fakturor billing_invoices_list

Listar arbetsytans faktureringstransaktioner, nyaste först. Varje objekt har id (använd det med billing_invoices_get), invoice_number (kan vara null), status, amount_minor (heltal i minsta valutaenhet, så 900 betyder 9,00), currency (ISO-kod som USD) och billed_at (ISO 8601, kan vara null). Sidindelad med page och per_page (maximalt 100). Den listar bara transaktioner. För att få PDF:en anropa billing_invoices_get, och för att uppdatera kortet använd billing_payment_method. Kräver billing.manage.

Behörighet: billing.manage

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/billing/invoices.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /workspaces/:workspace_id/billing/invoices/:id.json Hämta PDF-länken för en faktura billing_invoices_get

Returnerar en länk till PDF-fakturan för en fakturerad transaktion. Hämta fakturans id från billing_invoices_list (fältet id, ett Paddle-transaktions-id). Resultatet har kind (invoice) och url, som är en länk till PDF:en från Paddle, så hämta eller dela den kort efter anropet. Misslyckas om id:t inte tillhör den här arbetsytan eller Paddle saknar faktura för det. Kräver billing.manage.

Behörighet: billing.manage

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/billing/invoices/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"

Formulär

POST /sites/:site_id/testimonials/forms.json Skapa ett formulär testimonial_forms_create

Ett anrop bär hela formuläret: steg, frågor, hopplogik, samtyckestext och språk. Allt som utelämnas börjar från ett vettigt standardvärde på formulärets språk, och sluggen kommer från namnet. Länken är https://privatus.page/f/<slug>. Routning av låga betyg och egen CSS kräver Business-planen (402 plan_limit utan). Video- och ljudsvar erbjuds avsändaren på Pro och uppåt.

Behörighet: content.write

Exempel
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 Radera ett formulär för gott testimonial_forms_delete

Raderar formuläret, dess inskicksposter, dess belöning och dess privata feedback. Kundomdömena det samlade in behålls. Det kan inte ångras, så det görs av en person på sidan. API:t tar confirm (formulärets namn eller id).

Behörighet: sites.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Flytta ett formulär till papperskorgen testimonial_forms_trash

Dess länk svarar att formuläret är stängt tills det återställs. Papperskorgen töms efter 30 dagar. Över MCP ändrar verktyget ingenting och svarar med sidan i appen där en person gör det.

Behörighet: content.write · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Kopiera ett formulär, valfritt till ett annat språk testimonial_forms_duplicate

Kopierar varje inställning utom sluggen, statistiken och belöningen.

Behörighet: content.write

Exempel
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 Lista en webbplats formulär testimonial_forms_list

Formulär i papperskorgen listas med trashed true och utelämnas annars. Varje formulär innehåller sina inställningar, sin belöning och hur många inskick det har haft.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/forms.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/testimonials/forms/:id/qr.json Hämta ett formulärs QR-kod som SVG eller PNG testimonial_forms_qr

Koden innehåller formulärets länk med ?src=qr, så att skanningar räknas som en egen kanal. En ändrad slug låter en tryckt kod fortsätta fungera.

Behörighet: analytics.read

Exempel
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 Återställ ett formulär från papperskorgen. Dess länk fungerar igen testimonial_forms_restore

Tar ett formulär ur papperskorgen som det var, med dess frågor, inskick och privat feedback. Dess länk (/f/<slug>) och dess inbäddningar tar emot svar igen. Servern svarar med 422 och koden not_in_trash för ett formulär som inte ligger i papperskorgen.

Behörighet: content.write

Exempel
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 Hämta ett formulärs länk, QR-kodlänkar och inbäddningskoder testimonial_forms_share

Returnerar länken, koden för inbäddning i sidan och koden för inbäddning som popup. Popup-indata (trigger, label, position, accent) ändrar popup-koden.

Behörighet: analytics.read

Exempel
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 Hämta ett formulär med varje steg, fråga, regel och inställning testimonial_forms_get

Returnerar hela formuläret som testimonial_forms_create och testimonial_forms_update tar emot det, med dess slug, dess länk, dess belöning och hur många inskick det har. Ett formulär i papperskorgen hittas inte här: återställ det först.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/forms/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/testimonials/forms/:id.json Ändra ett formulär. Bara de skickade indata ändras testimonial_forms_update

En ändring av ett steg, en fråga eller samtyckestexten höjer formulärets version, som varje samtyckespost lagrar. En ändrad slug låter den gamla länken omdirigera. Skicka questions som hela listan.

Behörighet: content.write

Exempel
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/forms/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Företag bakom omdömen

GET /sites/:site_id/testimonials/companies.json Lista en webbplats företag med deras personer, kundomdömen och genomsnittliga betyg testimonial_companies_list

En rad per företag, grupperad från företagsnamnet och webbplatsen för webbplatsens personer. En person utan företag finns i inget. query matchar en del av ett företagsnamn eller av dess webbplatsvärd. sort är name (standard), people_desc, testimonials_desc eller received_desc.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/companies.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/testimonials/companies/:id/merge.json Slå ihop ett företag med ett annat, för två stavningar av samma företag testimonial_companies_merge

Varje person i företaget i sökvägen tar namnet och URL:en från företaget som anges av into.

Behörighet: content.write

Exempel
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 Hämta ett företag med dess personer testimonial_companies_get

Id:t är företagets nyckel, en webbplatsvärd eller ett normaliserat namn, som testimonial_companies_list returnerar det. Dess kundomdömen är testimonials_list med company.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/companies/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/testimonials/companies/:id.json Rätta ett företags namn och URL för alla dess personer på en gång testimonial_companies_update

Ett företags id kommer från dess URL eller namn, så svaret kan innehålla ett nytt id.

Behörighet: content.write

Exempel
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/companies/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Förfrågningar om egen domän för omdömen

POST /sites/:site_id/testimonials/settings/custom_domain.json Be om en egen domän för en vägg eller formulär testimonial_custom_domain_requests_create

Egna domäner för kundomdömen ställs in för hand av teamet på Privatus Analytics. Detta lagrar förfrågan och talar om det för teamet, som mejlar DNS-posten att lägga till. Värdnamnet fungerar inte förrän förfrågans status är active. Business och uppåt: andra planer får 402 plan_limit.

Behörighet: sites.manage

Exempel
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 Dra tillbaka en förfrågan om egen domän, med dess värdnamn testimonial_custom_domain_requests_delete

Bara en förfrågan som teamet inte har påbörjat (status requested) kan dras tillbaka. En som pågår svarar med wrong_state. Över MCP ändrar verktyget ingenting och svarar med sidan i appen där en person gör det.

Behörighet: sites.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Lista en webbplats förfrågningar om egen domän testimonial_custom_domain_requests_list

Varje förfrågan om ett värdnamn för en vägg eller formulär, nyaste först, med dess status. Värdnamnet fungerar först när status är active. Fungerar på varje plan, så tidigare förfrågningar kan fortfarande läsas.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/settings/custom_domain.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"

Granskningslogg

GET /workspaces/:workspace_id/audit_log.json Lista poster i granskningsloggen (lägg till .csv för att exportera) audit_logs_get

Returnerar arbetsytans granskningslogg, en post över vem som ändrade vad (inställningar, medlemmar, webbplatser, mål, tokens och så vidare), nyaste först och med sidindelning. Den kräver behörigheten workspace.manage och en plan med granskningshistorik. Free har ingen och anropet misslyckas med ett plangränsfel, Pro sparar 30 dagar, Business 365 dagar och Enterprise har ingen gräns. Poster äldre än lagringsfönstret returneras aldrig. Filtrera med actor (en medlems e-postadress, exakt matchning), item_type (typen av post, till exempel Site, Goal eller Membership), event (create, update eller destroy) samt from och to (YYYY-MM-DD, inklusive, i UTC). Varje post har id, created_at, event, item_type, item_id, target (en läsbar etikett som Site: example.com), actor_email (null när ändringen gjordes av systemet eller av en raderad användare), actor_name, token_name (den API-token som användes, null för en webbläsarsession), changes (ett objekt som mappar varje ändrat fält till ett [före, efter]-par, med hemligheter borttagna) och ip (adressen som medlemmen eller API-klienten använde, null när den är okänd). En CSV-export av samma logg finns bara i appen.

Behörighet: workspace.manage

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/audit_log.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"

Hjälp och feedback

POST /help.json Skicka en fråga eller feedback till teamet på Privatus Analytics support_message_send

Meddelandet mejlas till teamet med uppgifter om ditt konto, din arbetsyta och din plan bifogade. Svaret och ett kvitto skickas till ditt kontos e-postadress. Högst 10 meddelanden per dag.

Behörighet: member

Exempel
curl -X POST https://privatusanalytics.com/help.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Händelser

GET /sites/:site_id/events/properties.json Lista nycklar för händelseegenskaper som setts de senaste 30 dagarna event_properties_list

Listar egenskapsnycklarna som egna händelser hade under de senaste 30 dagarna, med visningsinställningar. Returnerar en lista med {key, events, display_name, hidden, export_safe}. events är hur många egna händelser som hade nyckeln (0 för en nyckel som har inställningar men inte setts nyligen), display_name är namnbytet (null när inget finns), hidden anger att nyckeln är dold i rapporter och export_safe anger att den är markerad som utan personuppgifter. Högst 200 nycklar returneras, mest använda först. Ange event för att bara se nycklar som setts på ett rått händelsenamn. Egenskapsvärden returneras aldrig här, använd stats_breakdown med dimension prop:<key> eller events_get för värden. Ändra inställningar med event_properties_update.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/events/properties.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/events/properties.json Byt namn på eller dölj en nyckel för en händelseegenskap event_properties_update

Byter namn på, döljer eller markerar som exportsäker en händelseegenskapsnyckel, för hela webbplatsen. Bara de värden du skickar ändras. key måste vara nyckeln som den lagras (gemener, siffror och understreck, upp till 64 tecken, till exempel plan). display_name är en etikett på upp till 64 tecken (skicka den tom för att ta bort namnbytet). hidden tar bort nyckeln från rapporter och händelsedetaljens pivot medan data behålls. export_safe förklarar att nyckeln aldrig innehåller personuppgifter, vilket tar med dess värden i råexporter och lagersynkroniseringar, så sätt det bara när det stämmer. Namnbyten och döljande gäller när rapporter läses och skriver inte om någon lagrad data. Returnerar {key, display_name, hidden, export_safe}. Kräver behörigheten sites.manage. Lista nycklarna med event_properties_list.

Behörighet: sites.manage

Exempel
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 Ta bort en händelse och dess historik (körs i bakgrunden, bekräfta genom att skriva namnet) events_delete

Raderar en egen händelse och hela dess historik permanent. Det går inte att ångra. Det råa händelsenamnet måste skickas två gånger, i name och igen i confirm, som en säkerhetskontroll. Returnerar {name, status: queued} med HTTP 202 eftersom raderna tas bort i bakgrunden i omgångar, så siffrorna fortsätter ändras tills det är klart. Händelsen döljs också direkt, och raderingen registreras i granskningsloggen. Sidvisningar påverkas inte. Om du bara vill sluta visa en händelse använd events_update med hidden true, vilket behåller data. Kräver behörigheten sites.manage. Namn kommer från events_list (använd fältet raw_names om händelsen fått nytt namn eller slagits ihop).

Behörighet: sites.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Lista händelser med slutföranden, besök, konverteringsgrad och första/sista gången de sågs events_list

Händelseutforskaren: varje egen händelse under perioden. Returnerar period, events och hidden. Varje händelse har name (visningsnamnet efter namnbyten och sammanslagningar), raw_names (namnen som spåraren skickade), completions, visits, conversion_rate (procent av besök, 0 till 100), revenue (minsta valutaenhet, cent), first_seen och last_seen (ISO 8601-tidsstämplar inom perioden) och currency (intäktsvalutan, null när den inte är satt). hidden listar händelser du dolt som {name, display_name}. Använd search för att behålla händelser vars namn innehåller viss text. Sidvisningar är inte händelser här. Använd events_get för en enskild händelse på djupet och stats_breakdown med dimension event för en rangordnad, sidindelad lista. Tar de gemensamma indata period, compare, filters och segment.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/events.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/events/merge.json Slå ihop flera händelser under ett visningsnamn events_merge

Slår ihop flera råa händelsenamn till ett visningsnamn, till exempel signup_click och signup_button till Signup. Rapporterna visar då en enda händelse med de sammanlagda antalen. Det fungerar när rapporter läses och de lagrade händelserna ändras eller raderas inte. Ange names (de råa namnen, minst ett) och into (visningsnamnet). Returnerar ett inställningsobjekt per hopslaget namn, var och ett {name, display_name, hidden, currency, updated_at}. För att ångra, anropa events_update för ett namn med ett tomt display_name. Kräver behörigheten sites.manage. Namn kommer från events_list (raw_names).

Behörighet: sites.manage

Exempel
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 En händelse: diagram, egenskapspivot, aggregat för numeriska egenskaper, sidor och källor events_get

Detaljer om en egen händelse. Ange name exakt som det visas i events_list (visningsnamnet efter namnbyten och sammanslagningar). Returnerar period, name, raw_names (de lagrade namnen bakom det), interval, totals, setting, series, property_keys, pivot, numeric, pages, channels och referrers. totals har completions, visits (besök som utlöste den), revenue (minsta valutaenhet, cent) och conversion_rate (procent av alla besök under perioden). series är antal per tidsintervall. setting har display_name, hidden och currency. property_keys listar de egenskapsnycklar som setts. Skicka properties (upp till 3 nycklar) för att få pivot, rader med {values, completions, visits} för varje värdekombination, de 100 främsta. numeric ger summa, medelvärde och andra siffror för egenskaper som innehåller tal. pages, channels och referrers är de 10 främsta platserna där händelsen utlöstes, som {value, completions, visits}. Använd events_list för alla händelser, stats_breakdown med dimension prop:<key> för en egenskap över hela webbplatsen och events_update för att byta namn på den.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/events/detail.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/events/settings.json Byt namn på, dölj eller visa en händelse, eller ange dess valuta events_update

Ändrar hur en egen händelse visas: byt namn på den med display_name, dölj eller visa den med hidden, eller ange intäktsvalutan. name är det råa händelsenamnet som spåraren skickade (se raw_names i events_list). Bara de värden du skickar ändras. Ett tomt display_name tar bort namnbytet. hidden tar bort händelsen från listor och rapporter medan dess data behålls. currency är en ISO 4217-kod med tre bokstäver som USD, lagrad med versaler. Det fungerar när rapporter läses och inga lagrade händelser skrivs om. Returnerar {name, display_name, hidden, currency, updated_at}. För att kombinera flera händelser använd events_merge, och för att radera data använd events_delete. Kräver behörigheten sites.manage.

Behörighet: sites.manage

Exempel
curl -X PATCH https://privatusanalytics.com/sites/:site_id/events/settings.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Importer

DELETE /sites/:site_id/imports/google/connection.json Koppla från ditt Google Analytics-konto och radera dess lagrade åtkomsttoken imports_google_disconnect

Tar bort den anropande medlemmens lagrade Google Analytics-anslutning för den här webbplatsens arbetsyta, så att GA4-importer inte längre kan läsa från Google förrän den ansluts igen i appen. Data som redan importerats finns kvar och tas bara bort genom att radera dess import med imports_delete. Behörigheten återkallas inte på Googles sida. Den misslyckas med ett valideringsfel när det inte finns någon anslutning, eller medan en av medlemmens GA4-importer är köad eller igång. Returnerar ett objekt med disconnected true. Anslutningen görs i appen (Google-inloggningsskärmen), det finns inget verktyg för det.

Behörighet: sites.manage

Exempel
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 Lista Google Analytics 4-egenskaper att importera imports_google_properties

Listar de Google Analytics 4-egenskaper som den anropande medlemmens anslutna Google-konto kan läsa. Anropa den före imports_create med source ga4 för att få det property_id som ska användas. Returnerar en lista med objekt med id (som properties/123456789, skicka det som property_id), name och account. Den misslyckas med ett valideringsfel när medlemmen inte har anslutit Google för den här arbetsytan (görs i appen, det finns inget verktyg för det) eller när Google nekar förfrågan. Den gör ett live-anrop till Google och ändrar ingenting.

Behörighet: sites.manage

Exempel
curl https://privatusanalytics.com/sites/:site_id/imports/google/properties.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/imports.json Starta en import (GA4-egenskap eller CSV-uppladdning) imports_create

Startar en import av historisk data från ett annat analysverktyg till en webbplats, som bearbetas i bakgrunden, och returnerar importen med status queued. Välj source ga4 för att hämta från Google Analytics 4 API, vilket kräver en Google-anslutning som gjorts i appen, property_id (från imports_google_properties) och date_from. date_to är som standard dagen före webbplatsens första spårade händelse, eller igår. Andra källor (universal_analytics, fathom, simple_analytics, plausible, matomo, umami, clicky) tar en CSV-export som laddas upp som indata file (multipart-formuläruppladdning, upp till 50 MB), vilket gör dem opraktiska att starta över MCP och bäst att göra i appen. dimension behövs bara för att åsidosätta identifieringen av vad CSV-raderna delas upp på, till exempel Matomo Label-exporter. Importerade rader räknas aldrig mot händelsekvoten och visas i statistiken bara när du anger include_imported true. En arbetsyta kan ha högst 5 importer köade eller igång samtidigt. Fråga imports_get upprepade gånger tills status är complete eller failed. Kräver behörigheten sites.manage.

Behörighet: sites.manage

Exempel
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 Ta bort en import och alla dess importerade data imports_delete

Raderar en import permanent tillsammans med varje rad den tog in och dess uppladdade fil. Statistik som inkluderade den importerade datan ändras direkt när include_imported är på, och det går inte att ångra, men du kan importera igen. Id kommer från imports_list och kräver site_id. Returnerar den raderade importen. Kräver behörigheten sites.manage. Data som samlats in av spåraren berörs inte.

Behörighet: sites.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Lista importer för en webbplats imports_list

Listar en webbplats importer, nyaste först. Använd den för att hitta ett import-id eller kontrollera om en fortfarande pågår. Filtrera valfritt efter status (queued, running, complete eller failed). Sidindelad med page och per_page (upp till 100). Varje objekt har id, site_id, source, status, date_from, date_to, rows_imported, error, completed_at och created_at. Se imports_get för detaljer och imports_create för att starta en.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/imports.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/imports/:id.json Hämta en import och dess status imports_get

Returnerar en import för en webbplats, som används för att fråga upprepade gånger efter en import som startats med imports_create. Fälten är id (imp_...), site_id, source, status (queued, running, complete eller failed), date_from och date_to (YYYY-MM-DD, null när okänt), rows_imported (antal importerade dagliga rader), error (sätts vid failed), completed_at och created_at. Id kommer från imports_create eller imports_list. Importerade rader visas bara i statistiken när statistikanropet anger include_imported true.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/imports/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"

Importkällor för omdömen

POST /sites/:site_id/testimonials/imports/sources.json Lägg till en importkälla från en länk och starta dess första körning testimonial_import_sources_create

Plattformen identifieras från länken. Vad körningen hittar väntar i granskningssteget (testimonial_import_sources_review) och inget lagras förrän testimonial_import_sources_keep. Inget importerat räknas mot de månatliga kundomdömena. Free-planen hämtar 1 import i månaden från en recensionssajt eller en sida. Därefter är svaret 402 plan_limit.

Behörighet: content.write

Exempel
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 Radera en källa. Kundomdömena den tog in finns kvar testimonial_import_sources_delete

Raderar källan med dess körhistorik, det som väntar i dess granskningssteg och dess uppladdade fil. Kundomdömen som redan behållits från den finns kvar på webbplatsen. En person gör detta på källans sida, så verktyget kör ingenting och returnerar den sidan.

Behörighet: content.write · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Förkasta hittade poster testimonial_import_sources_discard

Ange item_ids (id från testimonial_import_sources_review) eller all true för allt som fortfarande väntar, aldrig båda. En förkastad post lämnar granskningssteget och det som lästs om personen raderas. Inget kundomdöme raderas. Servern svarar annars med 422 och koden selection eller unknown_ids.

Behörighet: content.write

Exempel
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 Hitta kundomdömen på webbplatsens egen webbplats testimonial_import_sources_find

Läser webbplatsens domän och sidorna den länkar till som ser ut att innehålla kundomdömen, en gång per webbplats. Det är gratis: det är inte en av Free-planens hämtade importer. Vad den hittar väntar i granskningssteget för källan den returnerar.

Behörighet: content.write

Exempel
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 Lista en webbplats importkällor testimonial_import_sources_list

meta innehåller fetched_imports (used, limit och resets_on för månaden, limit null betyder obegränsat) och sync (takten som planen tillåter).

Behörighet: analytics.read

Exempel
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 Behåll hittade poster som kundomdömen testimonial_import_sources_keep

Ange item_ids (upp till 100) eller all. Varje behållen post lagras via samma väg som alla andra kundomdömen, så dubbletter lagras aldrig två gånger. Inget behållet räknas mot de månatliga kundomdömena. meta säger hur många som behölls.

Behörighet: content.write

Exempel
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 Lista plattformarna som en import kan läsa testimonial_import_platforms_list

Registret över testade källor. En plattform listas först när dess import har bevisats mot en riktig sida. Varje post säger vilken länk som ska klistras in.

Behörighet: analytics.read

Exempel
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 Lista vad en källa hittade och som ännu inte avgjorts testimonial_import_sources_review

meta innehåller antalen per märke (new, already_here, likely_duplicate).

Behörighet: analytics.read

Exempel
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 Läs en källa igen nu testimonial_import_sources_run

En körning för hand är en hämtad import och räknas som en av månadens på Free-planen (402 plan_limit därefter). Nekas medan en körning pågår (422 in_progress) och efter 3 körningar av källan på 24 timmar på vilken plan som helst (422 too_many_runs). På en källa med fel nollställer den antalet misslyckanden.

Behörighet: content.write

Exempel
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 Hämta en importkälla med dess status och antal testimonial_import_sources_get

Returnerar plattformen, namnet, den lästa adressen, hur ofta den läses igen, statusen, hur många poster som väntar i granskningssteget, hur många som behållits, misslyckandena i rad och när den senast kördes och körs nästa gång.

Behörighet: analytics.read

Exempel
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 Ändra en källas länk, namn, synkronisering och automatiskt godkännande, eller pausa den testimonial_import_sources_update

En synkronisering över planen (någon på Free, veckovis på Pro) nekas med 402 plan_limit.

Behörighet: content.write

Exempel
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 '{…}'

Importkörningar för omdömen

GET /sites/:site_id/testimonials/imports/sources/:import_source_id/runs.json Lista en källas körningar, nyaste först testimonial_import_runs_list

Varje körning har sitt nummer, vad som startade den, sin status, de lästa sidorna och hur många kundomdömen den hittade, hur många som var nya, dubbletter, misslyckade och behållna, med tiderna den startade och slutade.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/imports/sources/:import_source_id/runs.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"

Insamling

POST /embed/ads/e.json Registrera att ett annonsmaterial visades, sågs eller klickades, anropas av annonsladdaren ad_serving_event

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/embed/ads/e.json \
  -H "Content-Type: application/json" -d '{…}'
GET /embed/ads/:site.json En webbplatsens annonsplatser och det annonsmaterial var och en visar, anropas av annonsladdaren ad_serving_slots

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl https://privatusanalytics.com/embed/ads/:site.json
POST /api/overlay.json Klicken på en sida för klicklagret, anropas av pa.overlay.js med dess pass click_overlays_read

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/api/overlay.json \
  -H "Content-Type: application/json" -d '{…}'
POST /api/logs.json Skicka serverns åtkomstloggar för rapportering om AI-crawlers (JSON {lines: [...]} eller loggtext i combined-format, med webbplatsens nyckel för crawlerloggar som Bearer-token) crawler_logs_create

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/api/logs.json \
  -H "Content-Type: application/json" -d '{…}'
POST /api/event.json Samla in ett webbläsartreff (används av /js/pa.js) ingest_event

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/api/event.json \
  -H "Content-Type: application/json" -d '{…}'
GET /api/experiment.json Om ett experiment skickar den här besökaren till en variantsida, anropas av experimentens head-skript ingest_experiment

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl https://privatusanalytics.com/api/experiment.json
GET /js/exp/:site.json Skriptet som den valfria head-taggen för experiment läser in för en webbplats ingest_experiment_script

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl https://privatusanalytics.com/js/exp/:site.json
POST /api/survey.json Registrera att ett enkätkort visades, stängdes eller besvarades ingest_survey

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/api/survey.json \
  -H "Content-Type: application/json" -d '{…}'
GET /api/surveys.json Vilken enkät som ska visas på en sida, anropas av trackerns ask-modul ingest_surveys

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl https://privatusanalytics.com/api/surveys.json

Instrumentpaneler

GET /workspaces/:workspace_id/dashboards/:id/cards/:index.json Data för ett kort i en egen instrumentpanel dashboards_card

Returnerar live-data för ett kort i en egen instrumentpanel. Instrumentpaneler är listor med kort (se dashboards_get för kortlistan) och varje kort läses in separat, så anropa den en gång per kort med dess position i index, räknat från 0. Returnerar index, type, title, site_id, site_name, params, status och data. status är ok, not_available (kortet har inget att visa, till exempel ett trattkort på en webbplats utan trattar eller ett drifttidskort utan kontroller) eller no_access (kortet tillhör en webbplats som din token eller roll inte kan öppna, och då är title, params och data tomma). Formen på data beror på type. metric ger {metric, value, previous, change, period} jämfört med föregående period. chart ger {metric, interval, period, series: [{date, value}]}. breakdown ger {dimension, label, rows}. goal ger {rows} med måluppfyllelser. live ger {visitors}. funnel ger {funnel_id, name, overall_conversion_rate, steps}. uptime ger {checks: [{name, status, uptime}]}. vitals ger {scorecard}. subscriptions ger {currency, mrr_minor, previous_mrr_minor (för 30 dagar sedan), change (procent, null utan MRR för 30 dagar sedan), active_subscriptions, subscription_churn_rate (senaste 30 dagarna)} och är not_available medan webbplatsen inte har någon betalningsleverantör ansluten. Kortparametrar är som standard period 30d, metric visitors, dimension page och 5 rader (limit begränsas till 10). Ett index utanför listan returnerar 404. Använd dashboards_get först för att se hur många kort det finns.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/dashboards/:id/cards/:index.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /workspaces/:workspace_id/dashboards.json Skapa en egen instrumentpanel dashboards_create

Skapar en egen instrumentpanel i en arbetsyta. En egen instrumentpanel är en namngiven, ordnad lista med upp till 40 kort, och korten kan komma från olika webbplatser i arbetsytan. Ange name (upp till 100 tecken) och cards, en lista med objekt med type (metric, chart, breakdown, goal, live, funnel, uptime, vitals eller subscriptions), site_id (pa_..., från sites_list) och eventuellt title (upp till 80 tecken) och params. Parametrar som används per typ är metric (period, metric), chart (period, metric, interval), breakdown (period, dimension, limit), goal (period, limit), funnel (period, funnel_id), uptime (limit) och vitals (period). live och subscriptions tar inga. Andra parametrar tas bort. Perioden måste vara en förinställning som 30d (inte custom) och metric ett av visitors, visits, pageviews, views_per_visit, bounce_rate eller visit_duration. Varje kort måste peka på en webbplats som din token har åtkomst till, och en token som är begränsad till vissa webbplatser måste ha minst ett kort. Returnerar instrumentpanelen med id (dash_...), name, cards och tidsstämplar. Läs den med dashboards_get och läs in varje korts siffror med dashboards_card. Kräver behörigheten content.write. Planen avgör hur många instrumentpaneler en arbetsyta har: 1 på Free, 3 på Pro, obegränsat på Business. En över antalet nekas med ett valideringsfel.

Behörighet: content.write

Exempel
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 Ta bort en egen instrumentpanel dashboards_delete

Raderar en egen instrumentpanel permanent. Bara instrumentpanelens layout tas bort, ingen analysdata berörs, och det går inte att ångra. Du behöver åtkomst till varje webbplats som har ett kort på instrumentpanelen, och instrumentpanelen behöver minst ett kort från en webbplats som du har åtkomst till. Returnerar den raderade instrumentpanelen. Använd dashboards_update för att ändra en instrumentpanel i stället. Id (dash_...) kommer från dashboards_list. Kräver behörigheten content.write.

Behörighet: content.write

Exempel
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 Lista egna instrumentpaneler dashboards_list

Listar en arbetsytas egna instrumentpaneler, ordnade efter namn. Varje objekt har id (dash_...), name, cards och tidsstämplar, samma form som dashboards_get. En token som är begränsad till vissa webbplatser ser bara instrumentpaneler som innehåller ett kort från någon av dess webbplatser, och kort från andra webbplatser blankas till {type, status: no_access}. Sidindelad med page och per_page (max 100). Använd dashboards_card för att läsa in ett korts data och dashboards_create för att lägga till en instrumentpanel. För en enskild webbplats ger stats_overview samma typ av siffror utan en instrumentpanel.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/dashboards.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /workspaces/:workspace_id/dashboards/:id.json Hämta en egen instrumentpanel och dess kort dashboards_get

Returnerar en egen instrumentpanel: id (dash_...), name, cards samt created_at och updated_at. Varje kort är {type, site_id, title, params} (type är metric, chart, breakdown, goal, live, funnel, uptime, vitals eller subscriptions). Ett kort på en webbplats som du inte har åtkomst till returneras som {type, status: no_access} utan andra fält. Detta returnerar bara layouten, inte siffrorna. Läs in ett korts siffror med dashboards_card, med kortets position räknad från 0. Id kommer från dashboards_list. En instrumentpanel utöver planens antal (1 på Free, 3 på Pro) behålls och låses: den svarar 402 plan_limit tills arbetsytan uppgraderar eller raderar en annan.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/dashboards/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /workspaces/:workspace_id/dashboards/:id.json Byt namn på en egen instrumentpanel eller ersätt dess kort dashboards_update

Byter namn på en egen instrumentpanel och/eller ersätter hela dess lista med kort. Bara de fält du skickar ändras, och name lämnas orört när det är tomt. Om du skickar cards ersätts varje kort, så skicka hela listan i den ordning du vill ha, hämtad från dashboards_get och redigerad. Kortformat och parametrar per typ är desamma som i dashboards_create (max 40 kort). Ett kort som visas som {type, status: no_access} tillhör en webbplats som du inte kan öppna. Skicka tillbaka det oförändrat för att behålla det, det kan inte redigeras och det sista kortet för en sådan webbplats kan inte tas bort. En token som är begränsad till vissa webbplatser kan inte lämna instrumentpanelen tom. Returnerar den uppdaterade instrumentpanelen. Kräver behörigheten content.write.

Behörighet: content.write

Exempel
curl -X PATCH https://privatusanalytics.com/workspaces/:workspace_id/dashboards/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Kalkylbladsimporter för omdömen

POST /sites/:site_id/testimonials/imports/spreadsheet.json Ladda upp ett kalkylblad (eller skicka CSV-text) och läs dess kolumner testimonial_spreadsheet_imports_create

Steg 1 i en kalkylbladsimport. Skicka file (CSV, TSV eller XLSX, högst 10 MB och 5 000 rader, rubriker på första raden) eller content (CSV-text upp till 1 MB). Svaret har kolumnerna, tre exempelvärden för varje och en första gissning om vart varje kolumn går. Inget importeras ännu: fortsätt med testimonial_spreadsheet_imports_update och testimonial_spreadsheet_imports_run. Ett kalkylblad räknas aldrig mot de månatliga kundomdömena eller de hämtade importerna.

Behörighet: content.write

Exempel
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 Läs den matchade filen in i granskningssteget testimonial_spreadsheet_imports_run

Rader som kan användas väntar med en kryssruta. Rader som inte kan det listas med sitt radnummer och orsaken. Behåll dem med testimonial_import_sources_keep och använd kalkylbladets id som källans id.

Behörighet: content.write

Exempel
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 Hämta ett kalkylblads kolumner, exempel, matchning, alternativ och antal testimonial_spreadsheet_imports_get

Returnerar filens kolumner med exempelvärden, vilket fält varje kolumn går till, alternativen (standardstatus, taggar, samling, datumformat, vad som händer med dubbletter) och, när det har körts, hur många rader som väntar i granskningssteget och hur många som behållits.

Behörighet: analytics.read

Exempel
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 Spara vilken kolumn som går vart, och alternativen för filen testimonial_spreadsheet_imports_update

Steg 2 och 3 i en kalkylbladsimport. mapping är ett objekt med kolumnnamn till fält, med ett tomt värde för en kolumn som ska utelämnas, och två kolumner kan inte gå till ett fält. Alternativen är default_status (pending eller approved), tags, collection_id (en manuell samling), default_source_name, date_format (auto, ymd, dmy eller mdy) och duplicates (skip eller queue). Bara det som skickas ändras, och inget importeras förrän testimonial_spreadsheet_imports_run.

Behörighet: content.write

Exempel
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 '{…}'

Kampanjer

POST /sites/:site_id/campaigns/costs.json Ange kostnaden för en kampanj under en månad campaign_costs_create

Registrerar annonskostnad för en kampanj under en månad, så att campaigns_list kan visa kostnad per förvärv och avkastning på annonsutgifter. Om en post för samma kampanj och månad redan finns ersätts den, den dupliceras inte, så det är också säkert att anropa två gånger. campaign är värdet för utm_campaign som det står i dina spårade länkar, month är YYYY-MM (ett fullständigt datum som 2026-09-15 accepteras och avrundas till månadens första dag) och amount är i huvudenheter som ett tal (1250.50, inte minsta enhet). currency är en valfri ISO-kod med 3 bokstäver och är som standard webbplatsens valuta. Svaret returnerar den lagrade posten med amount_minor i minsta enhet. För många rader på en gång använd campaign_costs_import. Kräver content.write. Kräver planen Business eller Enterprise (annars 402 plan_limit).

Behörighet: content.write

Exempel
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 Ta bort en kampanjkostnad campaign_costs_delete

Raderar en kostnadspost permanent, som hittas via dess id från campaign_costs_list. Det går inte att ångra, och CPA och ROAS för den kampanjen och månaden slutar räkna med kostnaden direkt. Andra månader och kampanjer berörs inte. Returnerar den raderade posten. Kräver content.write. Kräver planen Business eller Enterprise (annars 402 plan_limit).

Behörighet: content.write

Exempel
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 Importera kampanjkostnader från CSV (campaign,month,amount[,currency]) campaign_costs_import

Massimporterar annonskostnader från CSV, det snabba sättet att läsa in många kampanjer och månader. Skicka CSV-texten i csv (bäst för verktyg och API-anrop) eller ladda upp en fil i file (endast multipart). Första raden måste vara en rubrikrad som innehåller campaign, month och amount, med en valfri kolumn currency, till exempel campaign,month,amount,currency och sedan spring_sale,2026-09,1250.50,USD. Month är YYYY-MM, amount är i huvudenheter och currency är som standard webbplatsens valuta. Rader läggs in eller uppdateras per kampanj och månad, så en ny import av samma fil skapar inga dubbletter. Gränserna är 1 MB och 5 000 rader. En felaktig rad stoppar inte importen. Svaret har imported (antal sparade), failed (antal avvisade) och errors (de första 50 meddelandena, vart och ett med sin rad, där rad 2 är den första datarden). En saknad rubrikkolumn, en för stor fil eller felformaterad CSV får hela förfrågan att misslyckas. Kräver content.write. Kräver planen Business eller Enterprise (annars 402 plan_limit).

Behörighet: content.write

Exempel
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 Lista kampanjkostnader campaign_costs_list

Listar annonskostnadsposterna som registrerats för en webbplats, senaste månaden först och därefter efter kampanjnamn. Varje rad är en kampanj under en månad med amount_minor (ett heltal i minsta valutaenhet, så 125050 betyder 1 250,50), currency (ISO 4217, versaler), month som YYYY-MM och postens id (ett UUID, använd det för campaign_costs_update och campaign_costs_delete). Ange campaign för att bara se en kampanj (matchning utan skiftlägeskänslighet på värdet för utm_campaign). Sidindelad med page och per_page (max 100). Kostnaderna matar CPA och ROAS i campaigns_list, så här kontrollerar du vilka kostnader en kampanj har. Kräver analytics.read. Kräver planen Business eller Enterprise (annars 402 plan_limit).

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/campaigns/costs.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/campaigns/costs/:id.json Ändra en kampanjkostnad campaign_costs_update

Ändrar en befintlig kostnadspost, som hittas via dess id från campaign_costs_list. Bara de värden du skickar ändras, så skicka bara amount för att rätta ett tal. amount är i huvudenheter (1250.50) och lagras som minsta enhet, month är YYYY-MM, currency är en ISO-kod med 3 bokstäver. Om du ändrar campaign eller month till en kombination som en annan post redan har misslyckas det med ett valideringsfel i stället för att slå ihop dem. För att rätta kostnaden för en kampanj och månad utan att känna till id:t, anropa campaign_costs_create, som ersätter den befintliga posten. Kräver content.write. Kräver planen Business eller Enterprise (annars 402 plan_limit).

Behörighet: content.write

Exempel
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 Bygg och validera en UTM-taggad URL campaigns_builder

Bygger en UTM-märkt URL för en landningssida och kontrollerar värdena. Inget sparas och ingen data läses, så det är säkert att anropa upprepade gånger. Ange destination (en fullständig https://-URL) plus utm_source, utm_medium, utm_campaign, utm_content och utm_term efter behov, eller välj en förinställning (newsletter, social, paid_search och så vidare) för att fylla i utm_source och utm_medium när du lämnar dem tomma. Returnerar url (null när det finns ett fel), valid, destination, preset, de rensade utm_*-värdena, issues (en lista med {field, level, message}, där nivån error blockerar URL:en och warning bara föreslår en åtgärd som att använda gemener) och presets (de tillgängliga förinställningsvärdena). Värden rensas till gemener utan mellanslag. Använd campaigns_hygiene för att hitta röriga UTM-värden som redan finns i din trafik och campaigns_list för att rapportera om kampanjer som har körts. För att behålla en märkt länk med en kort URL och klickräkning, använd links_create i stället.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/campaigns/builder.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/campaigns/hygiene.json UTM-hygien: nästan dubbla värden, stilproblem och okända källor campaigns_hygiene

Hittar röriga UTM-värden i en periods trafik så att du kan rätta märkningen. Returnerar period, duplicates, style_issues och unknown_sources. duplicates grupperar värden för utm_source, utm_medium eller utm_campaign som bara skiljer sig åt i skiftläge, mellanslag eller skiljetecken (Facebook, facebook och face-book), var och en som {field, suggestion, variants: [{value, visits}]} där den stavning som fått flest besök föreslås. style_issues listar värden som bryter mot konventionen med gemener och utan mellanslag som {field, value, visits, suggestion} (upp till 50). unknown_sources listar värden för utm_source som inte är en känd kanal som {value, visits} (upp till 50). Bara de 500 vanligaste värdena per fält genomsöks. Antalen är besök. Förslagen är endast råd och ingenting ändras. För att slå ihop varianter till en kanal använd channel_rules_create. Tar de gemensamma indata period och filters. Använd campaigns_list för resultat och campaigns_builder för att skapa rena märkta URL:er.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/campaigns/hygiene.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/campaigns.json Kampanjsammanställning med konverteringar, intäkter, kostnad, CPA och ROAS campaigns_list

Kampanjrapport byggd på utm_campaign, med kostnad och avkastning på annonsutgifter. Returnerar period, currency (webbplatsens valuta), goal_id och goal_name (målet vars konverteringar räknas), campaigns, totals och unconverted_costs. Varje kampanj har visitors, visits, conversions, conversion_rate (procent från 0 till 100, konverteringar delat med besök), revenue och sources (rader per källa och medium med samma mätvärden). När kostnader finns (från campaign_costs_list) har en kampanj också cost, cpa (kostnad per konvertering, null när det inte finns några konverteringar) och roas (intäkter delat med kostnad, ett förhållande som 2.5, null när det inte finns någon kostnad). Pengar (revenue, cost, cpa) är ett heltal i minsta valutaenhet (cent) för webbplatsens valuta. Kostnader matchas mot kampanjnamn utan skiftlägeskänslighet och fördelas proportionellt över dagarna i varje månad inom perioden. En kampanj med kostnad men utan trafik listas ändå. Högst 100 kampanjer, mest trafik först. Bara besök med en utm_campaign ingår. goal_id är som standard det första aktiva målet, så ange det uttryckligen för att mäta ett specifikt mål (id kommer från goals_list). Använd campaigns_hygiene för att städa upp namn och stats_breakdown med dimension utm_campaign för en enkel trafikfördelning.

Behörighet: analytics.read

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

Kanalregler

POST /sites/:site_id/channel_rules.json Lägg till en kanalregel channel_rules_create

Lägger till en egen kanalregel sist i listan, så den körs efter alla befintliga regler och den inbyggda taxonomin gäller bara när ingen regel matchar. channel är namnet som tilldelas (upp till 32 tecken, t.ex. Partners). conditions är en icke-tom lista med objekt med field (referrer_host, utm_source, utm_medium, utm_campaign, ref eller path), operator (is, contains, starts_with eller regex) och value. Alla villkor måste matcha för att regeln ska gälla, och matchningen är skiftlägesokänslig. Ett villkor med tomt värde tas bort, och en regel som blir utan villkor avvisas. Ett reguljärt uttryck som inte kompilerar avvisas. Regeln gäller för nya besök inom några minuter och ändrar inte historiken. Använd channel_rules_move för att ändra ordning och channel_rules_preview för att testa den. Kräver sites.manage.

Behörighet: sites.manage

Exempel
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 Ta bort en kanalregel channel_rules_delete

Raderar en egen kanalregel, som hittas via dess id från channel_rules_list. Besök som den redan klassificerat behåller sin kanal, och nya besök faller vidare till nästa matchande regel eller den inbyggda taxonomin. Återstående regler behåller sin ordning. Returnerar den raderade regeln. Kräver sites.manage.

Behörighet: sites.manage

Exempel
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 Lista kanalregler i ordning channel_rules_list

Listar en webbplats egna kanalregler i utvärderingsordning (position 1 först). Reglerna körs uppifrån och ned mot varje nytt besök och den första regel vars villkor alla matchar avgör kanalen. Ett besök som inte matchar någon regel får den inbyggda kanalen (direct, organic_search, paid_search, email och så vidare). Varje regel har id (ett UUID), channel (namnet den tilldelar), position (1-baserad), conditions (en lista med objekt med field, operator och value, som alla måste matcha) och created_at. Regler påverkar bara besök som registrerats efter att regeln finns och skriver aldrig om gamla data. Använd channel_rules_preview för att testa ett exempelbesök. Kräver analytics.read.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/channel_rules.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/channel_rules/:id/move.json Flytta en kanalregel upp eller ned channel_rules_move

Flyttar en kanalregel inom utvärderingsordningen, eftersom den första matchande regeln vinner och ordningen avgör vilken kanal ett besök får. direction är up eller down (ett steg), eller top eller bottom (till ändarna). En regel som redan ligger vid kanten stannar kvar utan fel. Positionerna numreras om från 1 till n och den uppdaterade regeln returneras med sin nya position. Använd channel_rules_list först för att se den nuvarande ordningen. Kräver sites.manage.

Behörighet: sites.manage

Exempel
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 Förhandsgranska kanalen för en exempelhänvisare och UTM-taggar channel_rules_preview

Torrkörning som talar om vilken kanal ett exempelbesök skulle få med webbplatsens nuvarande regler. Ingenting lagras. Skicka något av referrer (en URL eller ett enbart värdnamn, prefixen www och m ignoreras), utm_source, utm_medium, utm_campaign, ref, path (landningssökväg som /pricing) och paid_click (true om URL:en hade ett klick-id som gclid). Resultatet har channel (den vinnande kanalens namn), custom_rule (true när en egen regel avgjorde, false när den inbyggda taxonomin gjorde det) och referrer_host (det rensade värdnamnet som användes för matchningen). En hänvisare på webbplatsens egna domäner räknas som intern. Använd den efter channel_rules_create eller channel_rules_move för att bekräfta effekten. Kräver analytics.read.

Behörighet: analytics.read

Exempel
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 Ändra en kanalregel channel_rules_update

Ändrar en egen kanalregel, som hittas via dess id från channel_rules_list. Skicka channel för att byta namn på kanalen den tilldelar och conditions för att ersätta hela villkorslistan (listan ersätts, den slås inte ihop, så skicka varje villkor du vill behålla). Utelämnade indata lämnas orörda. Villkorsfält, operatorer och giltigheten hos reguljära uttryck kontrolleras på samma sätt som i channel_rules_create. Ändringen gäller bara nya besök. För att ändra ordningen använd channel_rules_move. Kräver sites.manage.

Behörighet: sites.manage

Exempel
curl -X PATCH https://privatusanalytics.com/sites/:site_id/channel_rules/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Konto

GET /account.json Hämta din profil och dina inställningar account_get

Returnerar den inloggade medlemmens egen profil och inställningar. Använd den för att läsa inställningar innan du ändrar dem med account_update. Det gäller personen, inte en arbetsyta. Arbetsytans plan och fakturor finns under billing_get. Fälten är email, unconfirmed_email (sätts medan en e-poständring väntar på bekräftelse, annars null), name (kan vara null), theme (system, light eller dark), default_landing (sites eller last_site), locale (språkkod för den inloggade appen), timezone (IANA-namn, kan vara null), shortcuts_enabled, reduce_motion, product_emails, site_audit_emails, marketing_emails, newsletter (alla booleska där true betyder prenumererar), two_factor (boolesk), passkeys (antal registrerade passkeys) och created_at (ISO 8601). En session som bara öppnats via en arbetsytas identitetsleverantör ser endast email och visningsinställningarna.

Behörighet: member

Exempel
curl https://privatusanalytics.com/account.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /account.json Uppdatera din profil och dina inställningar account_update

Uppdaterar den inloggade medlemmens egen profil, visningsinställningar och e-postprenumerationer. Bara de värden du skickar ändras, allt annat förblir som det är. En ändring av email träder inte i kraft direkt. Ett bekräftelsemejl skickas till den nya adressen (med begränsad frekvens) och unconfirmed_email visar den väntande adressen tills den är bekräftad. API-tokens kan inte ändra e-postadressen och kan inte slå på marketing_emails igen efter en avprenumeration, båda kräver en inloggad webbläsare. Att stänga av marketing_emails är tillåtet. Sessioner som öppnats av en arbetsytas identitetsleverantör får bara ändra visningsinställningarna (theme, default_landing, locale, timezone, shortcuts_enabled, reduce_motion). Returnerar det uppdaterade kontot i samma form som account_get. Detta raderar inte kontot och kan inte ändra arbetsytans inställningar.

Behörighet: member

Exempel
curl -X PATCH https://privatusanalytics.com/account.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Kundomdömen

GET /sites/:site_id/testimonials/overview.json Läs en webbplats tal, vad som behöver uppmärksamhet och vad som hänt på sistone testimonials_overview

stats innehåller de fem talen på översiktssidan: godkända kundomdömen, väntande, nya denna månad, genomsnittligt betyg och i bruk. attention listar vad som behöver ett beslut med sitt antal. activity är de 10 senaste händelserna och latest_approved de tre senast godkända kundomdömena.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/overview.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/testimonials/setup.json Hämta en webbplats checklista för installation testimonials_setup_get

Returnerar posterna import, testimonials, approve, ask, widget och teammate, var och en med done och dismissed. En post är klar utifrån vad webbplatsen innehåller, aldrig genom ett klick. hidden är true när varje post är klar eller avfärdad, vilket är när inkorgen slutar visa kortet.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/setup.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/testimonials/setup.json Avfärda en post i checklistan, eller hela kortet testimonials_setup_update

dismiss är en postnyckel (import, testimonials, approve, ask, widget eller teammate) eller all för hela kortet. Att avfärda döljer posten och markerar den aldrig som klar, och det kan inte tas tillbaka via API:t.

Behörighet: content.write

Exempel
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 Godkänn ett kundomdöme så att det får visas testimonials_approve

Ett kundomdöme som väntar på kvot kan inte godkännas: servern svarar med 422 och koden waiting_for_allowance. Svaret innehåller meta.undo_id.

Behörighet: content.write

Exempel
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 Kör en åtgärd över ett urval kundomdömen, eller över allt som ett filter matchar testimonials_bulk

Skicka ids (upp till 100, körs på en gång, alla eller inga) eller filter med confirm_count (hela resultatet). Fler än 100 körs i bakgrunden och svaret har state running. Åtgärder: approve, reject, mark_pending, pin, unpin, add_tags, remove_tags, add_to_collection, remove_from_collection, set_property, trash, restore. Var och en svarar med ett ångra-id som testimonials_bulk_undo tar emot i 7 dagar. delete_permanently är den enda åtgärden som inte kan ångras: den kräver sites.manage och dess svar säger undoable false. Över MCP körs inte de två åtgärder som raderar, trash och delete_permanently: verktyget svarar med human_only och sidan i appen där en person gör det, och varje annan åtgärd körs. Över API:t ändrar åtgärden export (med ids eller filter och ett valfritt format av csv, json, ndjson eller xlsx) ingenting: den kräver analytics.export och svarar med 202 och exporten att ladda ner.

Behörighet: content.write · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Ångra en massåtgärd inom 7 dagar testimonials_bulk_undo

Sätter tillbaka det tidigare värdet på varje kundomdöme som körningen ändrade. Ett som ändrats igen sedan dess lämnas orört och räknas i left. Över MCP körs inte en ångring som skulle radera eller flytta till papperskorgen (ångra av en återställning, av en översättningskörning och av en bildskapandekörning): verktyget svarar med human_only och sidan i appen där en person gör det.

Behörighet: content.write

Exempel
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 Lägg till ett kundomdöme för hand eller via API:t testimonials_create

Lagras genom den enda ingång som alla vägar använder. Det räknas mot planens månadskvot för nya kundomdömen, och vid kvoten svarar servern med 422 och koden allowance_reached (bara ett kundens formulärinskick hålls i stället som väntande). Samma person som säger samma ord igen nekas med koden duplicate om inte allow_duplicate är true. Samma external_id igen returnerar det som redan är lagrat.

Behörighet: content.write

Exempel
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 Radera ett kundomdöme permanent, med dess historik, samtyckespost och filer testimonials_delete

Detta kan inte ångras. Det fungerar på ett kundomdöme i papperskorgen eller utanför den, kräver confirm och behörigheten sites.manage. Över MCP raderar verktyget ingenting och svarar med sidan där en person gör det.

Behörighet: sites.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Flytta ett kundomdöme till papperskorgen i 30 dagar testimonials_trash

Kundomdömet behåller sin status, taggar, samlingar och filer, visas ingenstans och raderas permanent efter 30 dagar. testimonials_restore sätter tillbaka det exakt som det var. Svaret innehåller meta.undo_id. Att flytta ett som redan ligger i papperskorgen ändrar ingenting. Över MCP ändrar verktyget ingenting och svarar med sidan i appen där en person gör det.

Behörighet: content.write · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Räkna kundomdömena bakom varje filtervärde, för samma indata som listan testimonials_facets

Bibliotekets form utan att läsa något kundomdöme. Varje facett räknar sina värden med sitt eget val utelämnat och alla andra filter tillämpade. meta innehåller totalen och filtret i ord.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/facets.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/testimonials/:id/highlight.json Markera den bästa meningen i ett kundomdöme, eller rensa den testimonials_highlight

highlight måste vara en exakt del av kundomdömets ord, annars svarar servern med 422. En tom highlight rensar den. Varje ändring är en version i historiken.

Behörighet: content.write

Exempel
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 Lista varje version av ett kundomdömes ord, titel, betyg och höjdpunkt testimonials_history

Nyaste först. Version 1 är kundomdömet som det mottogs och har ingen författare. Varje senare version har medlemmen som gjorde den, när, anteckningen de lämnade och, för en återställning, versionen som sattes tillbaka. Sidindelad med page och per_page.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/:id/history.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/testimonials.json Lista en webbplats kundomdömen, filtrerade och sorterade testimonials_list

Tre sätt att säga vilka, och de läggs ihop: facettindata (status, tag_id, has_video och resten), q (sökrutan med dess operatorer, till exempel rating:5 has:video tag:onboarding "saved us") och conditions med match (strukturerade rader). Skicka facets som true för det levande antalet bakom varje facettvärde i meta.facets. Inget i papperskorgen listas om inte trashed är true, vilket listar enbart papperskorgen.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/testimonials/:id/pend.json Sätt tillbaka ett kundomdöme till väntande testimonials_pend

Tar ett godkänt eller avvisat kundomdöme tillbaka till väntande, så att det visas ingenstans förrän det avgörs igen. Svaret innehåller meta.undo_id. Ett kundomdöme i papperskorgen nekas med koden in_trash.

Behörighet: content.write

Exempel
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 Fäst ett kundomdöme så att det visas först, eller lossa det testimonials_pin

Ett fäst kundomdöme visas först överallt där det visas. Skicka pinned false för att lossa det. Svaret innehåller meta.undo_id när något ändrats.

Behörighet: content.write

Exempel
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 Avvisa ett kundomdöme. Det sparas och visas ingenstans testimonials_reject

Kundomdömet behåller allt det har och visas ingenstans. Att avvisa ett som redan är avvisat ändrar ingenting. Svaret innehåller meta.undo_id, som testimonials_bulk_undo tar emot i 7 dagar. Ett kundomdöme i papperskorgen nekas med koden in_trash.

Behörighet: content.write

Exempel
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 Återställ ett kundomdöme från papperskorgen, exakt som det var testimonials_restore

Återför ett kundomdöme i papperskorgen till dess status, taggar, samlingar och de platser som visade det. Det räknas aldrig som ett nytt kundomdöme. Ett som inte ligger i papperskorgen nekas med koden not_in_trash.

Behörighet: content.write

Exempel
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 Sätt tillbaka orden, titeln, betyget och höjdpunkten från en tidigare version testimonials_restore_version

Inget tas bort från historiken. Återställningen är en ny version som säger vilken den kom från. version 1 återför kundomdömet till orden som mottagna. Ett okänt versionsnummer ger 422.

Behörighet: content.write

Exempel
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 Hämta ett kundomdöme med dess person, filer, samtyckespost, taggar och var det används testimonials_get

Returnerar ett av webbplatsens kundomdömen med dess id (tm_...), i papperskorgen eller inte. person.email är null om inte anroparen har content.write, och has_email säger om en finns registrerad. media listar filerna med deras bearbetningsstatus. used_in listar varje widget, vägg och bild som visar det.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/testimonials/showable.json Lista kundomdömena som allmänheten får se, som allmänheten får se dem testimonials_showable

De nyaste godkända kundomdömena på en webbplats som får visas offentligt, för en egen visning utanför widgets och väggar. Varje innehåller bara det dess samtyckespost tillåter: en person vars namn inte får visas läses som A customer, och ett foto eller en inspelning utelämnas om det inte tilläts. Ett väntande, avvisat eller kasserat kundomdöme, eller ett som väntar på kvoten, listas aldrig. Det finns ingen e-postadress i svaret.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/showable.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/testimonials/triage.json Hämta nästa kundomdöme i en sorteringskö testimonials_triage

Utan filter är kön Väntande, inte väntande på kvot, äldst mottagna först. Med inkorgens filter är den det resultatet i dess sortering. Skicka after med id:t som just hanterats för att få det som följer. data är null när kön är klar. meta innehåller remaining och total.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/triage.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/testimonials/:id.json Redigera ett kundomdöme. Ändringar av orden, titeln, betyget och höjdpunkten sparas i dess historik testimonials_update

Bara de skickade indata ändras. En ändring av body, title, rating eller highlight lägger till en version i historiken med edit_note och ändrar aldrig verifieringsmärket. rating null rensar det. highlight måste vara en exakt del av orden, och en tom rensar den. properties ändrar bara de skickade nycklarna. add_tags och remove_tags tar namn eller id. Status, fästning och papperskorg har egna verktyg. Ett kundomdöme i papperskorgen kan inte redigeras.

Behörighet: content.write

Exempel
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Köpkopplingar för omdömen

DELETE /sites/:site_id/testimonials/settings/purchase_connections/:id.json Koppla bort ett betalkonto testimonial_purchase_connections_delete

Raderar kopplingen och dess nyckel. Köpare som fortfarande väntar på sitt första e-postmeddelande tillfrågas inte. Den stående förfrågan finns kvar som register över vad som skickats.

Behörighet: sites.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Lista en webbplats köpkopplingar testimonial_purchase_connections_list

Var och en med sin regel, sin status och sin stående förfrågan. Nyckeln returneras aldrig. paused är true på en plan utan förfrågningar efter ett köp: kopplingen sparas, läser inga betalningar och frågar ingen.

Behörighet: sites.manage

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/settings/purchase_connections.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"

Live

GET /sites/:site_id/live.json Live-besökare, aktivitetsström och vad som är populärt just nu (senaste 30 minuterna) live_get

Vad som händer på webbplatsen just nu. Returnerar live_visitors (besökare under de senaste 5 minuterna), window_minutes (30), sparkline (besök per minut under de senaste 30 minuterna, äldst först, var och en {minute, visits}), feed (den senaste aktiviteten), top_pages, top_referrers, top_countries (var och en upp till 8 rader med {value, visits}) och top_events (upp till 8 med {value, completions}) för de senaste 30 minuterna. Poster i feed har occurred_at, kind, name, path, channel, referrer_host, country, device och browser. De är anonyma, utan IP, stad eller besökarspår. feed visar som standard alla träffar, eller bara sidvisningar eller händelser, med limit poster (standard 50, upp till buffertstorleken 100). Siffrorna cachas inte och tar ingen period. Skicka filters (samma format som stats_aggregate) för att begränsa alla siffror och aktivitetsströmmen till träffar som matchar. Använd live_wallboard för en kompakt vy över flera webbplatser och stats_overview för en hel period.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/live.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/live/wallboard.json Wallboard-kort (live och idag) för en eller flera webbplatser live_wallboard

Kompakta kort med stora siffror för en eller flera webbplatser, byggda för en kontorsskärm. Returnerar rotate_seconds, generated_at och sites. Varje webbplatskort har id (pa_...), name, domain, live_visitors (senaste 5 minuterna), sparkline (per minut, senaste 30 minuterna), visitors_today, pageviews_today, bounce_rate_today (procent, 0 till 100), top_pages, top_countries och top_referrers (5 rader vardera). Idag avser webbplatsens egen tidszon och siffrorna läses från live-data. site_ids listar webbplatserna som ska ingå (upp till 12, bara webbplatser som din token kan öppna), annars används webbplatsen i sökvägen. rotate_seconds begränsas till mellan 5 och 300 och talar bara om för en skärm hur länge varje kort ska visas. För en delbar publik skärm använd wallboard_links_create. Använd live_get för hela live-vyn för en webbplats.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/live/wallboard.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /wallboard/:token.json Wallboard för en wallboard-token (ingen inloggning krävs) live_public_wallboard

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl https://privatusanalytics.com/wallboard/:token.json

Medlemmar

POST /workspaces/:workspace_id/invitations.json Bjud in personer via e-post invitations_create

Bjuder in en eller flera personer till en arbetsyta via e-post och skickar var och en ett inbjudningsmejl med en länk som gäller i 14 dagar. emails är en lista med upp till 50 adresser (en sträng åtskild med komma, mellanslag eller semikolon fungerar också i appens formulär) och adresser som redan är medlemmar hoppas över, men det är ett fel när alla är medlemmar. Att bjuda in en adress som redan har en väntande inbjudan ersätter den inbjudan och skickar ett nytt mejl. role är en av rollerna i members_list (standard viewer, owner kan inte bjudas in). Använd role custom tillsammans med custom_role_id (id från roles_list, planen Business). Som standard omfattar åtkomsten alla webbplatser inklusive framtida. För att begränsa åtkomsten sätt all_sites till false och lista site_ids som publika webbplats-id (pa_...). Väntande inbjudningar räknas mot planens medlemsgräns (Free tillåter 3 medlemmar) och anropet misslyckas när gränsen skulle överskridas. Inbjudningsmejl har begränsad frekvens. Du kan inte ge en roll med fler behörigheter eller webbplatser än dina egna. Kräver members.manage. Returnerar de skapade inbjudningarna (se invitations_list för fälten).

Behörighet: members.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Återkalla en väntande inbjudan invitations_delete

Återkallar en väntande inbjudan så att dess länk inte längre fungerar, och frigör platsen den höll. Raderingen går inte att ångra, bjud in personen igen med invitations_create. Hämta id (ett uuid) från invitations_list. En anropare som är begränsad till vissa webbplatser kan bara återkalla inbjudningar som inte ger fler webbplatser än de egna. Kräver members.manage. Returnerar den återkallade inbjudan.

Behörighet: members.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Lista väntande inbjudningar invitations_list

Listar en arbetsytas väntande teaminbjudningar, nyaste först och med sidindelning. Accepterade och återkallade inbjudningar listas inte (använd members_list för personer som har gått med), och utgångna finns kvar tills de ersätts eller återkallas. Kräver members.manage. En anropare som är begränsad till vissa webbplatser ser bara inbjudningar inom sin räckvidd. Varje objekt har id (uuid, används av invitations_delete), email, role, custom_role (den egna rollens namn när role är custom, annars null), all_sites, site_ids (publika webbplats-id pa_..., tom när all_sites är true), invited_by (inbjudarens e-postadress), expires_at och created_at.

Behörighet: members.manage

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/invitations.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
DELETE /workspaces/:workspace_id/members/:id.json Ta bort en medlem (eller lämna arbetsytan) members_delete

Tar bort en medlem från en arbetsyta, eller låter anroparen lämna den när id är den egna medlemskapen. Det sker direkt och går inte att ångra, personen förlorar åtkomst, personens API-tokens för den här arbetsytan återkallas och eventuell SCIM-koppling tas bort. Personens anteckningar och tidigare granskningsposter finns kvar. Ägaren kan inte tas bort eller lämna, överför ägarskapet först med ownership_transfers_create. Att ta bort någon annan kräver members.manage, och du kan inte ta bort någon med fler behörigheter eller webbplatser än du har. Att lämna kräver ingen behörighet, men en token som är begränsad i behörigheter eller webbplatser kan inte användas för att lämna. Personen kan bjudas in igen senare med invitations_create. Hämta id (medlemskapets uuid) från members_list. Returnerar den borttagna medlemmen.

Behörighet: member · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Lista arbetsytans medlemmar members_list

Listar en arbetsytas medlemmar i den ordning de gick med, med sidindelning. Använd query för att söka efter namn eller e-post (delvis, skiftlägesokänsligt) och role för att filtrera efter roll. Väntande inbjudningar ingår inte (använd invitations_list). Varje medlem har id (medlemskapets uuid, används av members_update, members_delete och ownership_transfers_create), email, name (kan vara null), role, custom_role (namn, null om inte role är custom), custom_role_id, all_sites, include_future_sites, site_ids (publika webbplats-id pa_..., tom när all_sites är true), two_factor (om medlemmen har en autentiseringsapp eller en passkey), last_active_at (kan vara null) och created_at. Anropare som är begränsade till vissa webbplatser ser bara medlemmar inom sin räckvidd.

Behörighet: member

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/members.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /workspaces/:workspace_id/members/:id.json Ändra en medlems roll eller webbplatsåtkomst members_update

Ändrar en medlems roll och/eller webbplatsåtkomst i en arbetsyta. Bara de värden du skickar ändras. För att ändra rollen skicka role (admin, editor, analyst, viewer eller billing, och custom med custom_role_id från roles_list på planen Business). Ägarens roll kan inte ändras här, använd ownership_transfers_create i stället, och du kan inte redigera ditt eget medlemskap eller någon som har högre rang än du. För att begränsa webbplatser skicka all_sites false tillsammans med site_ids (publika webbplats-id pa_...), och lägg till include_future_sites true för att också ge åtkomst till webbplatser som skapas senare. Skicka all_sites true för att ge åtkomst till varje webbplats. En lista med site_ids som skickas utan all_sites false är ett fel för en medlem som just nu har alla webbplatser. Du kan inte ge fler behörigheter eller webbplatser än du har. Kräver members.manage. Hämta id från members_list. Returnerar den uppdaterade medlemmen.

Behörighet: members.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Överför ägandet av arbetsytan till en annan medlem (endast ägaren, du blir administratör) ownership_transfers_create

Överför ägarskapet av en arbetsyta till en annan medlem och sänker anroparen till admin, vilket är svårt att ångra eftersom bara den nya ägaren kan överföra det tillbaka. Bara den nuvarande ägaren kan anropa den, och en token får inte vara begränsad till vissa webbplatser eller behörigheter. membership_id är den nya ägarens medlemskaps-uuid från members_list (inte ett användar-id eller en e-postadress) och personen måste redan vara medlem, bjud in dem först om de inte är det. Den nya ägaren får rollen owner med åtkomst till alla webbplatser, och rollen owner kan inte ges via members_update. En Free-arbetsyta kan inte ges till någon som redan äger en annan Free-arbetsyta. Faktureringen stannar kvar hos arbetsytan. En token som anropar detta behöver members.manage. Returnerar den nya ägarens medlemspost.

Behörighet: member · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/workspaces/:workspace_id/ownership_transfer.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Migreringar av omdömen

POST /sites/:site_id/testimonials/imports/migrations/:id/discard.json Förkasta vad en migrering läste testimonial_migrations_discard

Ange item_ids (id från testimonial_migrations_review) eller all true för allt som fortfarande väntar, aldrig båda. En förkastad post lämnar granskningssteget och det som lästs om personen raderas. Inget kundomdöme raderas. Servern svarar annars med 422 och koden selection eller unknown_ids.

Behörighet: content.write

Exempel
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 Lista en webbplats migreringar testimonial_migrations_list

Nyaste först. En migrering är en exportfil från ett annat omdömesverktyg. Varje har verktyget den kom från, sin status och hur många kundomdömen som hittades, behölls, var dubbletter och misslyckades.

Behörighet: analytics.read

Exempel
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 Behåll vad en migrering läste som kundomdömen testimonial_migrations_keep

Ange item_ids (upp till 100 per anrop, från testimonial_migrations_review) eller all true, aldrig båda. Varje behållen post blir ett kundomdöme med status pending eller approved, och keep_approval true behåller det godkännande det hade i det andra verktyget. Med all utelämnas troliga dubbletter om inte include_likely_duplicates är true. Inget behållet räknas mot de månatliga kundomdömena. Det som inte behålls ligger kvar i granskningssteget i 30 dagar.

Behörighet: content.write

Exempel
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 Lista vad en migrering läste och som ännu inte avgjorts testimonial_migrations_review

Listar posterna som fortfarande väntar på beslut, nyaste körningen först. show är new, duplicates eller all (standard), och rating behåller bara de listade stjärnbetygen. Skicka post-id:n till testimonial_migrations_keep eller testimonial_migrations_discard.

Behörighet: analytics.read

Exempel
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 Hämta en migrerings förlopp och antal testimonial_migrations_get

Returnerar verktyget som filen kom från, statusen, hur många kundomdömen som hittades, behölls, var dubbletter och misslyckades, hur många mediafiler den tar med och när den startade och slutade. Fråga om den medan statusen säger att filen fortfarande läses.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/imports/migrations/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"

Mobilapp

GET /workspaces/:workspace_id/app.json Hämta det mobilappen behöver för att öppna en arbetsyta mobile_bootstraps_get

Returnerar, för en arbetsyta (sökvägen tar workspace_id), anroparens roll och behörigheter där, features (vilka begränsade rapporter planen omfattar: traffic_quality, bot_detection, external_experiments, campaign_costs, status_pages, traffic_rules, experiment_advanced (de avancerade inställningarna för ett experiment) och survey_ai_themes (teman för de skrivna svaren i en enkät) som true eller false, och retention_months som ett antal månader eller null för ingen gräns), sites_count (webbplatserna som anroparen kan öppna) och min_app_version (den äldsta versionen av mobilappen som API:et fortfarande hanterar). Mobilappen läser den en gång när den öppnar en arbetsyta, så att den kan visa en rapport som planen saknar som ej inkluderad i stället för att be om den. Kräver analytics.read.

Behörighet: analytics.read · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/app.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
DELETE /account/device.json Sluta skicka pushnotiser till mobilappen mobile_devices_delete

Tar bort pushregistreringen för den anropande mobilappsinloggningen, så att enheten inte får fler pushnotiser. Själva inloggningen finns kvar, och appen kan registrera sig igen. Att logga ut (POST /oauth/revoke med refresh token) tar också bort den. Bara en token från mobilappen kan anropa den.

Behörighet: member · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X DELETE https://privatusanalytics.com/account/device.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'
GET /account/device.json Hämta mobilappens pushregistrering mobile_devices_get

Returnerar enheten för den mobilappsinloggning som anropar: registered (false tills appen har registrerat en pushtoken), platform, locale, timezone, app_version, kinds (alla typer av push som finns), muted_kinds och muted_site_ids (det personen har stängt av). Bara en token från mobilappen kan anropa den.

Behörighet: member · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl https://privatusanalytics.com/account/device.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /account/device.json Registrera mobilappen för pushnotiser mobile_devices_update

Registrerar enheten för den anropande mobilappsinloggningen för pushnotiser, eller ändrar vad den får. Bara de värden du skickar ändras. Det första anropet kräver platform och push_token. En enhet får en push för uptime (en kontroll gick ner eller kom tillbaka), alert (ett larm utlöstes eller löstes), site_audit (en webbplatsgranskning blev klar), experiment (ett experiment har fått ett resultat eller avslutats) och usage (den månatliga kvoten är nästan eller helt förbrukad), för varje webbplats som medlemmen kan öppna, på alla planer. muted_kinds och muted_site_ids stänger av typer och webbplatser, och var och en ersätter hela sin lista. Om du registrerar en pushtoken som en annan inloggning i appen har flyttas den till den här. Bara en token från mobilappen kan anropa den. Det är en av de två skrivoperationer en sådan token får göra.

Behörighet: member · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X PATCH https://privatusanalytics.com/account/device.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Mottagare av omdömesförfrågningar

POST /sites/:site_id/testimonials/requests/:request_id/recipients.json Lägg till personer i en förfrågan testimonial_request_recipients_create

Upp till 500 i ett anrop. Tillagda i ett utkast väntar de på testimonial_requests_send. Tillagda i en pågående förfrågan får de sitt första e-postmeddelande direkt. Svaret säger hur många som köades och hur många som hoppades över, efter orsak. Att lägga till i en pågående förfrågan mejlar personer utanför arbetsytan, så medlemmen får ett e-postmeddelande.

Behörighet: content.write

Exempel
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 Ta bort valda personer från en förfrågan testimonial_request_recipients_delete

Bara personer som inget skickats till (köade eller överhoppade). Tar upp till 100 adresser i bodyn. Över MCP ändrar verktyget ingenting och svarar med sidan i appen där en person gör det.

Behörighet: content.write · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Lägg till personer i en förfrågan från en CSV-fil testimonial_request_recipients_import

Två anrop. Skicka filen (eller dess text som csv) för att få kolumnerna, deras första rader och en upload_token. Skicka sedan mappningen från kolumnnummer till fält. Upp till 5 MB och 10 000 rader. Att lägga till i en pågående förfrågan mejlar personer utanför arbetsytan, så medlemmen får ett e-postmeddelande.

Behörighet: content.write

Exempel
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 Lista personerna i en förfrågan testimonial_request_recipients_list

Filtrera efter var en person står nu: status opened är "öppnade och klickade eller svarade inte". E-postadressen är null om inte anroparen får redigera innehåll.

Behörighet: analytics.read

Exempel
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 Återuppta valda personer i en förfrågan testimonial_request_recipients_resume

De fortsätter där de stannade. Tar upp till 100 adresser i bodyn. Detta mejlar personer utanför arbetsytan, så medlemmen får ett e-postmeddelande.

Behörighet: content.write

Exempel
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 Stoppa valda personer i en förfrågan testimonial_request_recipients_stop

De får inga fler e-postmeddelanden. Var och en behåller sin status och får "stopped". Tar upp till 100 adresser i bodyn.

Behörighet: content.write

Exempel
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 '{…}'

Mål

POST /sites/:site_id/goals/:id/archive.json Arkivera ett mål (dolt i rapporter) goals_archive

Arkiverar ett mål. Ett arkiverat mål döljs i rapporter, räknas inte mot planens målgräns och behåller sin definition, så det kan återställas senare med goals_unarchive. Ingen data raderas. Returnerar målet med archived true och archived_at satt. Att arkivera ett redan arkiverat mål gör ingenting. Använd goals_delete för att ta bort det för gott. Kräver behörigheten content.write.

Behörighet: content.write

Exempel
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 Skapa ett mål goals_create

Skapar ett konverteringsmål. Mål är definitioner som tillämpas när rapporter läses, så ett nytt mål räknar direkt matchande händelser i all befintlig historik. Obligatoriska är name och kind. kind avgör vilka andra indata som gäller. page kräver pattern (en sökväg, till exempel /thank-you, med match_type exact, prefix, glob eller regex) och kan använda hostname. event kräver event_name och kan använda conditions (egenskapstester som {key: plan, operator: is, value: pro}, alla måste matcha, operatorer is, is_not, contains, gt, lt). engagement kräver pattern plus scroll_threshold (procent 1 till 100) och/eller time_threshold_seconds (uppnås när något av dem uppfylls). outbound matchar länkdomänen med pattern (till exempel stripe.com) och download matchar filen med pattern (till exempel *.pdf). value_mode är none (standard), fixed (använder fixed_value, ett decimalbelopp i webbplatsens valuta som 49.5, lagrat som fixed_value_minor i cent) eller revenue (händelsens egen intäkt). count_mode är once_per_visit (standard) eller every. Free-arbetsytor tillåter 10 aktiva mål per webbplats, betalda planer är obegränsade. Returnerar målet med id (goal_...). Kräver behörigheten content.write.

Behörighet: content.write

Exempel
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 Ta bort ett mål (data behålls) goals_delete

Raderar en måldefinition permanent. Ingen händelsedata raderas, men målet försvinner från rapporter, och trattsteg, resor och experiment som pekar på det slutar fungera. Det går inte att ångra. För att dölja ett mål och behålla det använd goals_archive. Returnerar det raderade målet. Id (goal_...) kommer från goals_list. Kräver behörigheten content.write.

Behörighet: content.write

Exempel
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 Kopiera ett mål goals_duplicate

Kopierar ett måls definition till ett nytt aktivt mål. Kopian får namnet name om du skickar det, annars det ursprungliga namnet följt av (copy). Den räknas mot planens målgräns (10 aktiva mål per webbplats på Free). Returnerar det nya målet med ett nytt id. Använd den för att starta en variant av ett mål och ändra det sedan med goals_update. Kräver behörigheten content.write.

Behörighet: content.write

Exempel
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 Lista mål med slutföranden, konverteringar, andel och värde för en period goals_list

Listar en webbplats mål med deras resultat för perioden. Varje mål är definitionen (id goal_..., name, kind, match_type, pattern, hostname, event_name, conditions, scroll_threshold, time_threshold_seconds, value_mode, fixed_value_minor i cent, count_mode, archived, archived_at) plus stats {completions, conversions, conversion_rate, value, change}. conversion_rate är en procentsats (0 till 100), value är i minsta valutaenhet (cent) och change är den procentuella förändringen av konverteringar jämfört med föregående period (null när det tidigare antalet var 0). status filtrerar till active (standard), archived eller all. Sidindelad med page och per_page (max 100, standard 25). Använd goals_get för hela rapporten för ett mål. Tar de gemensamma indata period, compare och filters.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/goals.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/goals/:id.json Målrapport: mätvärden, diagram, uppdelningar och vägen till konvertering goals_get

Ett mål på djupet under en period. Returnerar period, goal_id, goal (definitionen), metrics, interval, series, breakdowns, journey och, med compare, comparison_period, comparison och change. metrics har completions (varje matchande händelse), conversions (besök med minst en måluppfyllelse), conversion_rate (procent från 0 till 100) och value (minsta valutaenhet, cent). conversion_rate delar med besök, eller med besökare när webbplatsen är inställd så. series är en lista med {date, completions, conversions, conversion_rate} per tidsintervall (sätt interval för att ändra det). breakdowns innehåller de 10 främsta efter konverteringar för channel, utm_campaign, entry_page, country och device, var och en som {value, completions, conversions, conversion_rate}. journey visar converting_visits, median_seconds_to_convert, median_pages_before och pages_before (de 10 främsta sidorna som setts före konverteringen, med visits och share). Använd goals_list för alla mål på en gång och funnels_get för flöden i flera steg. Tar de gemensamma indata period, compare, filters och segment.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/goals/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/goals/:id/unarchive.json Återställ ett arkiverat mål goals_unarchive

Återställer ett arkiverat mål så att det visas i rapporter igen. Det räknas mot planens målgräns igen (10 aktiva mål per webbplats på Free), så anropet misslyckas med ett plangränsfel när webbplatsen redan är full. Att återställa ett mål som inte är arkiverat gör ingenting. Returnerar målet med archived false. Id kommer från goals_list med status archived. Kräver behörigheten content.write.

Behörighet: content.write

Exempel
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 Uppdatera ett mål goals_update

Ändrar ett måls definition. Bara de värden du skickar ändras. Den nya definitionen gäller hela historiken direkt, så tidigare konverteringssiffror kommer att ändras. Indata är desamma som i goals_create, och samma kombinationer gäller, till exempel spelar event_name och conditions bara roll för händelsemål och scroll_threshold och time_threshold_seconds bara för engagemangsmål. fixed_value är ett decimalbelopp i webbplatsens valuta (lagras i cent). Om du skickar conditions ersätts alla befintliga villkor. Returnerar målet. Id kommer från goals_list. Kräver behörigheten content.write.

Behörighet: content.write

Exempel
curl -X PATCH https://privatusanalytics.com/sites/:site_id/goals/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Omdömesbilder

POST /sites/:site_id/testimonials/images/bulk.json Gör bilder för varje godkänt kundomdöme i en samling testimonial_images_bulk_create

Upp till 200 kundomdömen per körning, en bild per storlek för varje. En text som är för lång för bilden ritas från sin höjdpunkt, eller annars från sina inledande meningar (excerpted säger hur många). Svaret listar de påbörjade bilderna, kundomdömena som utelämnats med orsaken, och export_id: en zip med PNG-filerna visas på sidan Exporter när de är ritade.

Behörighet: content.write

Exempel
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 Gör bilder av ett godkänt kundomdöme, en per storlek testimonial_images_create

Bara ett godkänt kundomdöme kan ritas, eftersom PNG-filen får en offentlig adress: alla andra nekas med not_approved. Varje bild börjar som rendering och ritas i bakgrunden. Svaret är listan över påbörjade bilder. Fråga testimonial_images_get efter file_url. En 422 med text_too_long betyder att orden inte ryms: använd text_mode highlight eller excerpt, eller en högre storlek.

Behörighet: content.write

Exempel
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 Radera en bild och dess fil testimonial_images_delete

PNG-filen raderas från mediavärden och dess adress slutar fungera. En bild har ingen papperskorg. Den kan göras igen från sitt kundomdöme med testimonial_images_create. Över MCP ändrar verktyget ingenting och svarar med sidan i appen där en person gör det.

Behörighet: content.write · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Lista en webbplats bilder testimonial_images_list

Bilder gjorda av godkända kundomdömen, nyaste först, 25 per sida. Filtrera efter status, template, size eller testimonial_id. Varje innehåller file_url när den är klar.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/images.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/testimonials/images/:id.json Hämta en bild, med dess status och adressen till dess PNG testimonial_images_get

status är rendering, ready eller failed. file_url sätts när den är klar. Fråga detta efter testimonial_images_create tills status inte längre är rendering.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/images/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/testimonials/images/:id.json Ändra hur en bild ritas och rendera den igen testimonial_images_update

Skicka bara det som ändras. Utan något skickat renderas samma bild igen från kundomdömet som det är nu, vilket också är sättet att försöka igen med en som misslyckats. En ny rendering har en ny file_url, och den gamla filen raderas.

Behörighet: content.write

Exempel
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/images/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Omdömesförfrågningar

POST /requests/resubscribe/:token.json Bekräfta att ta emot omdömesförfrågningar igen testimonial_request_resubscribes_confirm

POST bakom knappen på bekräftelsesidan. Den hävar avregistreringen, så att adressen kan tillfrågas igen.

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/requests/resubscribe/:token.json \
  -H "Content-Type: application/json" -d '{…}'
POST /requests/resubscribe.json Be om e-postmeddelandet som låter en adress ta emot förfrågningar igen testimonial_request_resubscribes_create

Skickar ett bekräftelsemejl till själva adressen, när den hade avregistrerats. Svaret är detsamma oavsett om den hade det eller inte.

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/requests/resubscribe.json \
  -H "Content-Type: application/json" -d '{…}'
POST /requests/unsubscribe/:token.json Avregistrera en adress från omdömesförfrågningar testimonial_request_unsubscribes_create

POST bakom avregistreringssidans knapp, och vad en e-postapps egen avregistreringsknapp anropar. Token kommer från länken i e-postmeddelandet.

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/requests/unsubscribe/:token.json \
  -H "Content-Type: application/json" -d '{…}'
POST /sites/:site_id/testimonials/requests.json Starta en förfrågan som utkast testimonial_requests_create

Skapar ett utkast med dess e-postmeddelande och dess mottagare. Inget skickas förrän testimonial_requests_send. Allt som utelämnas börjar från ett standardvärde: e-postmeddelandet, en uppföljning efter 5 dagar, webbplatsens namn som avsändare och du som svarsadress. Varje mottagare lagras som köad, eller som överhoppad med orsaken.

Behörighet: content.write

Exempel
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 Radera ett utkast testimonial_requests_delete

Bara en förfrågan som aldrig skickats kan raderas. En skickad förfrågan sparas som register över post som skickats. Över MCP ändrar verktyget ingenting och svarar med sidan i appen där en person gör det.

Behörighet: content.write · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Kopiera en förfrågan till ett nytt utkast testimonial_requests_duplicate

Kopian har samma formulär och e-postmeddelande, och inga mottagare ännu.

Behörighet: content.write

Exempel
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 Lista en webbplats förfrågningar testimonial_requests_list

Nyaste först, var och en med sitt e-postmeddelande och sina trattantal. Filtrera efter status, formulär eller period.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/requests.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/testimonials/requests/:id/preview.json Se ett e-postmeddelande i en förfrågan som dess första mottagare får det testimonial_requests_preview

Avsändaren, ämnet och texten med sammanfogningsfälten ifyllda. Inget skickas. step 0 är det första e-postmeddelandet, 1 till 3 uppföljningarna.

Behörighet: analytics.read

Exempel
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 Återuppta en stoppad förfrågan testimonial_requests_resume

Fortsätter där den stannade. En uppföljning som blev aktuell medan den var stoppad tidsätts på nytt från nu, så att inget går ut i en klump. Detta mejlar personer utanför arbetsytan, så medlemmen får ett e-postmeddelande om att en assistent återupptog den.

Behörighet: content.write

Exempel
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 Skicka en förfrågan, nu eller vid en tidpunkt testimonial_requests_send

Kräver confirm_relationship: true. De köade mottagarna kontrolleras en gång till, sedan går de första e-postmeddelandena ut (eller väntar på send_at). Uppföljningar går till de som inte har svarat. Förfrågningsmejl skickas genom webbplatsens egen e-postleverantör (Inställningar > E-postutskick, Business och uppåt), så en webbplats utan fungerande koppling får 422 no_email_connection eller email_connection_paused, och en annan plan får 402 plan_limit. Varje e-postmeddelande räknas mot webbplatsens månatliga tak för förfrågningsmejl (10 000 om vi inte anger ett annat). Vid taket tappas inget: personerna förblir köade och utskicket fortsätter den 1:a. Detta mejlar personer utanför arbetsytan, så medlemmen får ett e-postmeddelande om att en assistent skickade det.

Behörighet: content.write

Exempel
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 Skicka ett e-postmeddelande i en förfrågan till din egen adress testimonial_requests_send_test

Går bara till anroparens egen adress, genom webbplatsens egen e-postleverantör som de riktiga (422 no_email_connection utan en). Det har ingen personlig länk och ingen öppningsräknare, och räknas inte mot webbplatsens månatliga tak.

Behörighet: content.write

Exempel
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 Hämta en förfrågan med dess e-postmeddelande, uppföljningar och trattantal testimonial_requests_get

Returnerar e-postmeddelandet, uppföljningarna, statusen och trattantalen (sent, opened, clicked, submitted, bounced, unsubscribed) för en förfrågan.

Behörighet: analytics.read

Exempel
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 Stoppa en förfrågan testimonial_requests_stop

Avbryter varje e-postmeddelande som ännu inte skickats, direkt. Inget som redan skickats påverkas, och testimonial_requests_resume fortsätter där den stannade.

Behörighet: content.write

Exempel
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 Ändra en förfrågans namn, formulär eller e-postmeddelande testimonial_requests_update

Tillåtet när som helst. En ändring gäller varje e-postmeddelande som ännu inte skickats. Att ändra en uppföljnings fördröjning tidsätter om de uppföljningar som väntar.

Behörighet: content.write

Exempel
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/requests/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Omdömesmedia

POST /sites/:site_id/testimonials/media/uploads.json Starta en uppladdning, eller lägg till en fil från en webbadress testimonial_media_uploads_create

Två sätt. För att ladda upp, skicka filename, content_type och byte_size: svaret innehåller upload, med url att PUT:a filen till, rubrikerna att skicka med den och, för en stor fil, parts som kan skickas en och en. Anropa sedan testimonial_media_uploads_finish. Eller skicka source_url så laddas filen ner och bearbetas åt dig: fråga testimonial_media_get tills dess state är ready. Gränser: video och ljud upp till 500 MB och så långa som planen tillåter (2 minuter på Pro, 10 minuter på Business, inget på Free, där servern svarar med 402 plan_limit), bilder upp till 10 MB, en logotyp upp till 2 MB.

Behörighet: content.write

Exempel
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 Radera en fil som inget kundomdöme behåller testimonial_media_delete

En fil som tillhör ett kundomdöme raderas med kundomdömet, via papperskorgen. De lagrade filerna raderas och deras adresser rensas från cachen.

Behörighet: content.write · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Säg att en uppladdning är klar, så att filen kontrolleras och bearbetas testimonial_media_uploads_finish

Anropa det när filen har skickats. Filen måste finnas i uppladdningslagret och ha exakt den storlek som utlovats. Att anropa det två gånger är säkert.

Behörighet: content.write

Exempel
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 Försök igen med en misslyckad fil testimonial_media_retry

Bearbetar filen igen från uppladdningen som sparats. Uppladdningen sparas i 24 timmar efter ett misslyckande. Därefter svarar servern med not_retryable och filen måste laddas upp igen.

Behörighet: content.write

Exempel
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 Hämta en fil med dess status och var den laddas testimonial_media_get

url är den bestående adressen till den färdiga filen på mediavärden, och den är null tills state är ready. Adressen är densamma för alla och är inte signerad, så skicka bara vidare adressen till en fil vars fält shareable är true.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/media/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"

Omnämnanden i omdömen

GET /sites/:site_id/testimonials/mentions.json Lista orden och fraserna som återkommer i en webbplats kundomdömen testimonial_mentions_list

Varje term kommer med hur många kundomdömen som innehåller den, dess andel, det genomsnittliga betyget för dem, och de senaste 90 dagarna mot de 90 före. Sortera efter rating_asc för att läsa vad folk klagar på, eller efter rising för vad som är nytt. meta.refreshed_at säger när termerna senast byggdes om. Skicka en term till testimonials_list som mention för att läsa kundomdömena.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/mentions.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/testimonials/mentions/tag.json Tagga varje kundomdöme som nämner ett ord eller en fras testimonial_mentions_tag

En massåtgärd på hela resultatet, med ångra. Termen är vilket ord eller vilken tvåordsfras som helst, matchad med stamning på samma sätt som omnämnanden räknas. En tagg som namnges för första gången skapas. Svarar med ett ångra-id som testimonials_bulk_undo tar emot i 7 dagar. Fler än 100 körs i bakgrunden.

Behörighet: content.write

Exempel
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 Dölj en term som bara är brus, eller visa den igen testimonial_mentions_update

En dold term lämnar listan Omnämnanden och inkorgens facett Omnämnanden, och förblir dold när termerna byggs om.

Behörighet: content.write

Exempel
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/mentions.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Papperskorg för omdömen

DELETE /sites/:site_id/testimonials/trash/permanent.json Radera upp till 100 poster i papperskorgen för gott testimonial_trash_delete_permanently

Detta kan inte ångras. confirm är postens namn (personens namn för ett kundomdöme) eller dess id för en post, och webbplatsens namn för flera. Bara poster i papperskorgen godtas.

Behörighet: sites.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Radera allt i papperskorgen för gott testimonial_trash_empty

Detta kan inte ångras. confirm är webbplatsens namn. Upp till 100 poster raderas på en gång. En större papperskorg töms i bakgrunden och svaret har state running.

Behörighet: sites.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Lista vad som finns i papperskorgen, en sort i taget testimonial_trash_list

Svarar med posterna av en sort (testimonial som standard) och, i meta.counts, hur många av varje sort som finns i papperskorgen. Varje post säger vad den återgår till, vad som visade den, vem som kasserade den och när den lämnar.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/trash.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/testimonials/trash/restore.json Återställ upp till 100 poster från papperskorgen, exakt som de var testimonial_trash_restore

Id:na måste vara av en sort. Att återställa kundomdömen svarar med ett ångra-id (data.id och meta.undo_id) som testimonial_undo_records_undo tar emot i 7 dagar. En återställning räknas aldrig som ett nytt kundomdöme.

Behörighet: content.write

Exempel
curl -X POST https://privatusanalytics.com/sites/:site_id/testimonials/trash/restore.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Personer bakom omdömen

POST /sites/:site_id/testimonials/people/:id/ask_again.json Starta en förfrågan med denna person som enda mottagare testimonial_people_ask_again

Den använder formuläret de senast använde, eller startformuläret. Inget skickas förrän förfrågan skickas. Servern svarar med 422 och koden no_email, bounced eller unsubscribed när personen inte kan frågas, och requests_unavailable medan förfrågningar inte är tillgängliga.

Behörighet: content.write

Exempel
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 Lägg till en person på en webbplats testimonial_people_create

name krävs (upp till 120 tecken). email visas aldrig offentligt: den grupperar senare kundomdömen under denna person och låter webbplatsen fråga dem igen, och en adress som en annan person på webbplatsen redan har nekas. avatar_media_id är id:t (med_...) för en bild som redan laddats upp till webbplatsen. Att lägga till en person lägger inte till något kundomdöme.

Behörighet: content.write

Exempel
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 Radera en person för gott, med allt de sagt, filerna och förfrågningshistoriken testimonial_people_delete_permanently

För en begäran om radering. Detta kan inte ångras. Det kräver confirm, personens namn eller id, och lämnar en granskningspost som varken innehåller namnet eller orden.

Behörighet: sites.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Lista en webbplats personer, filtrerade och sorterade testimonial_people_list

Varje person kommer med sitt antal kundomdömen, hur många som är godkända, sitt genomsnittliga betyg och senaste förfrågan med dess utfall. E-postadressen är null om inte anroparen har content.write, och has_email säger fortfarande om en finns registrerad.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/people.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/testimonials/people/:id/merge.json Slå ihop andra poster för samma person med denna testimonial_people_merge

Personen i sökvägen finns kvar. Allt de andra sagt och varje förfrågan skickad till dem flyttas över, och de andra tas bort. Ett fält som denna person har tomt fylls från de andra, äldst först, och use namnger vilkas värde som vinner för ett fält. Svaret innehåller meta.undo_id, som testimonial_undo_records_undo tar emot i 7 dagar.

Behörighet: content.write

Exempel
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 Hämta en person med vad som frågats av dem och personerna som ser ut som samma person testimonial_people_get

Deras kundomdömen är testimonials_list med person_id. can_ask och cannot_ask_reason säger om testimonial_people_ask_again skulle gå igenom.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/people/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/testimonials/people/:id.json Redigera en person. Bara de skickade fälten ändras testimonial_people_update

Ett tomt värde rensar ett fält, utom namnet. En e-postadress som en annan person på webbplatsen redan har nekas. Företagssidan som en person listas på följer företagsnamnet och webbplatsen.

Behörighet: content.write

Exempel
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/people/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Planer

GET /plans.json Lista planer, priser och gränser plans_list

Listar de publika planerna (free, pro, business och enterprise) med deras gränser och prisnivåer, så att du kan välja giltiga värden för billing_checkout, billing_preview och billing_change_plan. Varje plan har name, events (inkluderade händelser per månad, null för nivåindelade eller anpassade planer), badge_bonus (extra månatliga händelser från märket, endast Free, annars null), limits (ett objekt med plangränser som webbplatser, medlemsplatser, historikens längd i månader, mål per webbplats, AI-frågor och API-förfrågningar per timme), tiers (var och en med händelser per månad samt månads- och årspris i hela USD, inklusive moms eller försäljningsskatt) och contact_sales (true för anpassade planer). Objektet meta lägger till currency, en not om årspriser, counted (vad som räknas som en debiterbar händelse) och not_counted. För en enskild arbetsytas egen plan använd billing_get. Publik, ingen autentisering behövs.

Behörighet: public

Exempel
curl https://privatusanalytics.com/plans.json

Prenumerationer

DELETE /sites/:site_id/subscriptions/connections/:provider.json Koppla från en betalningsleverantör och radera dess nyckel och prenumerationsdata subscriptions_disconnect

Kopplar bort en betalningsleverantör (stripe, paddle, lemon_squeezy, chargebee eller polar) från en webbplats och raderar den lagrade API-nyckeln och varje prenumerationsrad som lästs från den permanent. Det går inte att ångra, och siffrorna för MRR, churn och kohorter tappar den leverantörens prenumerationer direkt. Misslyckas om leverantören inte är ansluten. Returnerar den borttagna anslutningen. Kräver sites.manage.

Behörighet: sites.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Läs prenumerationer från en betalningsleverantör nu subscriptions_sync

Köar en omedelbar synkronisering av prenumerationer från en ansluten leverantör (stripe, paddle, lemon_squeezy, chargebee eller polar) i stället för att vänta på det vanliga schemat. Den returnerar direkt (HTTP 202) med anslutningen och synkroniseringen körs i bakgrunden. Fråga subscriptions_report upprepade gånger eller kontrollera last_synced_at och last_error på anslutningen. Rapporter cachas i upp till 15 minuter. Misslyckas om leverantören inte är ansluten. Kräver sites.manage.

Behörighet: sites.manage

Exempel
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 Kohortrutnät: kundbortfall eller retention per månad för första betalningen subscriptions_cohorts

Kohortrutnätet för avhopp i webbplatsens prenumerationer, en rad per månad för första betalning. months är 6, 12 (standard) eller 24 kohorter. plan behåller bara prenumerationerna i en plan (se plans i subscriptions_report). metric är subscriptions (antal) eller mrr (pengar). view är churn (andelen som hade avslutats vid den punkten, standard) eller retention (andelen som fortfarande löper). Returnerar metric, view, months, plan (filtret, eller null), currency och cohorts, var och en med month (YYYY-MM), size (prenumerationer, eller MRR i minsta enhet för webbplatsens valuta) och cells, där varje cell har offset (månader sedan kohortmånaden, 0 är den första), retained (samma enhet som size) och percent (0 till 100, null för en tom kohort). Prövoperioder som aldrig blev betalda ingår i ingen kohort. För huvudsiffror för MRR, ARR och churn använd subscriptions_report. Kräver analytics.read.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/subscriptions/cohorts.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/subscriptions.json Prenumerationsmått: MRR, ARR, MRR-förändringar, churn, intäktsretention, provperioder, planer och en prognos subscriptions_report

Prenumerationsmått för webbplatsen, lästa från dess anslutna Stripe-, Paddle-, Lemon Squeezy-, Chargebee- eller Polar-konto. months är 6, 12 (standard) eller 24. plan behåller bara prenumerationerna i en plan, med det namn som plans anger. Pengafält är heltal i minsta enhet för webbplatsens valuta (svarets currency), där andra valutor omräknas till dagens kurs. Resultatet har currency, connected (false när ingen leverantör är ansluten), plan (planfiltret, eller null), connections (en per ansluten leverantör med provider, account_name, sandbox, status, last_error, last_synced_at och created_at, aldrig en nyckel), skipped_currencies (valutor utan kurs, vars pengar inte räknas), totals, series, forecast och plans. totals har mrr_minor, arr_minor, previous_mrr_minor (MRR för 30 dagar sedan), active_subscriptions, arpa_minor (null utan prenumerationer), trialing, trial_conversion_rate (procent av prövoperioder som tog slut de senaste 90 dagarna och blev betalda, null när ingen tog slut), och för de senaste 30 dagarna new_subscriptions, new_mrr_minor, expansion_mrr_minor, contraction_mrr_minor, churned_subscriptions, churned_mrr_minor, net_new_mrr_minor, quick_ratio (ny plus expansions-MRR för varje enhet förlorad plus kontraktions-MRR, null när inget förlorades), subscription_churn_rate och mrr_churn_rate (procent, null utan underlag). Den har också net_revenue_retention och gross_revenue_retention (procent av vad prenumerationerna som betalade för 12 månader sedan betalade då som de betalar nu, med och utan uppgraderingar, null utan underlag) och forecast_mrr_minor (MRR om 12 månader, null utan prognos). series har en rad per månad (month som YYYY-MM) med mrr_minor, active_subscriptions, samma förändringsfält och churn_rate. forecast har en rad per månad för de kommande 12 månaderna (month, mrr_minor), beräknad från de tre senaste hela månaderna, och är tom utan tre hela månader som började med MRR. plans listar upp till 50 planer efter MRR med plan (null för prenumerationer där leverantören inte gav något plannamn), mrr_minor, active_subscriptions, churned_subscriptions och subscription_churn_rate (senaste 30 dagarna), alltid för varje plan. En prenumeration räknas från sin första betalning. Uppgraderingar och nedgraderingar är kända från den första synkroniseringen, och före den använder tidigare månader det pris en prenumeration hade när den först lästes. För retention per månad för första betalning använd subscriptions_cohorts. Kräver analytics.read.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/subscriptions.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"

Prestanda

GET /sites/:site_id/performance.json Web Vitals: p75-resultat, daglig trend och uppdelningar efter sida, enhet, webbläsare och land performance_report

Web Vitals-rapport från riktiga besökare. Returnerar period, metric, sample_rate, scorecard, trend och breakdowns. scorecard har en rad för var och en av LCP, INP, CLS, FCP och TTFB med p75 (75:e percentilen, i millisekunder utom CLS, som är ett enhetslöst poängvärde), samples, rating (good, needs_improvement eller poor, null utan data), good, needs_improvement och poor (procent av urvalet), previous_p75, change (procent mot den tidigare perioden, null när okänt) och thresholds [gräns för good, gräns för poor]. trend är det dagliga p75 för vald metric som {date, p75, samples}. breakdowns har page, device, browser och country, var och en med upp till limit rader (standard 10, max 100) för vald metric som {value, p75, samples, rating, slow_share, poor}, sämst och mest trafik först. Välj metric med exakt en av LCP, INP, CLS, FCP eller TTFB med versaler (standard LCP). sample_rate är andelen besök som rapporterar vitals, så antalen är urval och inte alla besök. Tar de gemensamma indata period, compare, filters och segment. För en enskild sidas vitals använd pages_detail.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/performance.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"

Privat feedback

GET /sites/:site_id/testimonials/forms/:form_id/feedback.json Lista ett formulärs privata feedback, nyaste först testimonial_feedback_list

Privat feedback är ett svar med betyget 1 till 3 på ett formulär med routning av låga betyg på (Business och uppåt). Det är aldrig ett kundomdöme, aldrig offentligt och aldrig räknat.

Behörighet: analytics.read

Exempel
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 Markera ett privat feedbacksvar som läst, eller som oläst igen testimonial_feedback_mark_read

Sätter read_at på ett privat feedbacksvar, eller rensar det med read false. Att markera ett svar som redan är läst behåller tiden det först lästes. Inget skickas till personen som skrev det.

Behörighet: analytics.read

Exempel
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 Hämta ett privat feedbacksvar testimonial_feedback_get

Returnerar betyget, texten, namnet personen angav och när det lästes. Privat feedback är ett svar med lågt betyg på ett formulär med routning av låga betyg på. Det är aldrig ett kundomdöme och aldrig offentligt.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/forms/:form_id/feedback/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"

Roller

POST /workspaces/:workspace_id/roles.json Skapa en egen roll roles_create

Skapar en egen roll, en namngiven uppsättning behörigheter som du kan ge medlemmar via invitations_create eller members_update med role custom och rollens id som custom_role_id. Den kräver planen Business och members.manage. permissions måste lista minst ett namn bland de tillåtna värdena (analytics.read, analytics.export, content.write, sites.manage, uptime.manage, members.manage, tokens.manage, billing.manage, workspace.manage) och du kan inte ta med en behörighet som du inte själv har. Returnerar rollen (se roles_list för fälten).

Behörighet: members.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Ta bort en egen roll (får inte vara i bruk) roles_delete

Raderar en egen roll. Det går inte att ångra och det misslyckas så länge någon medlem eller väntande inbjudan fortfarande använder rollen, så flytta först de personerna till en annan roll med members_update (hitta dem med members_list). De inbyggda rollerna kan inte raderas. Hämta id (uuid) från roles_list. Kräver members.manage. Returnerar den raderade rollen.

Behörighet: members.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Lista egna roller roles_list

Listar en arbetsytas egna roller, ordnade efter namn. Egna roller är en funktion i planen Business som samlar behörigheter under ett eget namn, och de inbyggda rollerna (owner, admin, editor, analyst, viewer, billing) listas inte här. Varje roll har id (uuid, används som custom_role_id i invitations_create och members_update), name, permissions (namn som analytics.read, content.write, members.manage), members (antalet medlemmar som har den) och created_at. Anropare som är begränsade till vissa webbplatser ser bara roller inom sin räckvidd.

Behörighet: member

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/roles.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /workspaces/:workspace_id/roles/:id.json Uppdatera en egen roll roles_update

Byter namn på en egen roll och/eller ersätter hela dess behörighetslista. Bara de värden du skickar ändras, och permissions ersätter den befintliga listan i stället för att lägga till i den. Ändringen gäller direkt för varje medlem och väntande inbjudan som har rollen. Du kan bara redigera en roll vars behörigheter du har fullt ut, och en anropare som är begränsad till vissa webbplatser behöver räckvidd över varje webbplats för dess innehavare. Kräver members.manage. Hämta id (uuid) från roles_list. Returnerar den uppdaterade rollen.

Behörighet: members.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X PATCH https://privatusanalytics.com/workspaces/:workspace_id/roles/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

SCIM

POST /scim/v2/Users.json Etablera en användare scim_users_create

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/scim/v2/Users.json \
  -H "Content-Type: application/json" -d '{…}'
DELETE /scim/v2/Users/:id.json Avetablera en användare scim_users_delete

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X DELETE https://privatusanalytics.com/scim/v2/Users/:id.json \
  -H "Content-Type: application/json" -d '{…}'
GET /scim/v2/Users.json Lista etablerade användare scim_users_list

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl https://privatusanalytics.com/scim/v2/Users.json
GET /scim/v2/Users/:id.json Hämta en etablerad användare scim_users_get

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl https://privatusanalytics.com/scim/v2/Users/:id.json
PATCH /scim/v2/Users/:id.json Uppdatera en användare (PATCH active, name) scim_users_update

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Aktivera en testad SSO-konfiguration sso_activate

Slår på SSO för arbetsytan. Konfigurationen måste redan ha status tested, vilket sker efter en lyckad testinloggning (startas från arbetsytans SSO-inställningssida i appen, den kräver en webbläsarinloggning och kan inte köras härifrån), eller redan vara active. Endast planen Business. Efter aktiveringen kan medlemmar logga in med SSO, och att sätta enforced via sso_update kräver sedan SSO för varje inloggning. Den misslyckas när konfigurationen är otestad eller planen saknar SSO. Kräver workspace.manage. Returnerar konfigurationen med status active (se sso_get).

Behörighet: workspace.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Stäng av SSO (tillbaka till utkast) sso_deactivate

Stänger av SSO genom att återställa konfigurationen till draft och rensa enforced, så att medlemmar går tillbaka till arbetsytans andra inloggningsmetoder. Uppgifter om leverantören behålls. Att aktivera igen kräver en ny testinloggning och sso_activate. Se till att medlemmar har ett annat sätt att logga in först. Detta fungerar på alla planer. Kräver workspace.manage. Returnerar konfigurationen med status draft (se sso_get).

Behörighet: workspace.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Generera en ny SCIM-token (visas en gång) sso_scim_token

Behörighet: workspace.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Hämta SSO-inställningar sso_get

Returnerar arbetsytans konfiguration för single sign-on (SSO), eller ett tomt utkast när ingen finns. Fälten är protocol (saml eller oidc), status (draft, testing, tested eller active), enforced (medlemmar måste logga in via SSO), domains (e-postdomäner som använder den här SSO), idp_sso_url och idp_entity_id för SAML, oidc_issuer och oidc_client_id för OIDC, default_role och jit_provisioning (skapa medlemmar vid första SSO-inloggningen) samt scim_enabled. Hemligheter returneras aldrig, bara de booleska fälten idp_cert_present och oidc_client_secret_present. SSO är en funktion i planen Business. Kräver workspace.manage.

Behörighet: workspace.manage

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/sso.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /workspaces/:workspace_id/sso.json Skapa eller uppdatera SSO-inställningar sso_update

Skapar eller redigerar arbetsytans SSO-inställningar. Endast planen Business. Bara de värden du skickar ändras. För SAML skicka protocol saml med idp_sso_url, idp_entity_id och idp_cert (PEM-text). För OIDC skicka protocol oidc med oidc_issuer, oidc_client_id och oidc_client_secret, som är skrivbart men inte läsbart och där ett tomt värde behåller den befintliga hemligheten. domains listar e-postdomänerna som använder den här SSO. default_role är rollen som ges till medlemmar som skapas genom etablering vid första inloggning eller SCIM (inte owner eller custom) och du kan bara ange en roll som du själv skulle kunna ge. En ändring av någon uppgift om identitetsleverantören skickar en active- eller tested-konfiguration tillbaka till draft och slår av enforced, så den måste testas igen innan sso_activate fungerar. enforced true accepteras bara medan status är active. Kräver workspace.manage. Returnerar konfigurationen (se sso_get).

Behörighet: workspace.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X PATCH https://privatusanalytics.com/workspaces/:workspace_id/sso.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Samlingar av omdömen

POST /sites/:site_id/testimonials/collections/:id/items.json Lägg till kundomdömen i en manuell samling testimonial_collections_add_items

Upp till 100 på en gång. De läggs till längst ned, eller överst med position top, i den givna ordningen. Svaret har meta.undo_id, som testimonials_bulk_undo tar emot i 7 dagar. En smart samling tar inget för hand.

Behörighet: content.write

Exempel
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 Skapa en samling, manuell eller smart testimonial_collections_create

kind manual sätts ihop för hand, och testimonial_ids startar den fylld. kind smart hålls aktuell av villkor: rader med fält, operator och värde sammanfogade av match. Svaret innehåller antalet och reglerna på vanlig engelska, så ett anrop gör en mening till en levande samling. Prova reglerna först med testimonial_collections_preview. Sorten ändras aldrig efteråt.

Behörighet: content.write

Exempel
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 Flytta en samling till papperskorgen i 30 dagar testimonial_collections_destroy

Dess kundomdömen berörs inte. En widget eller vägg som den matar visar inget från den förrän den återställs. Återställ den med testimonial_trash_restore. Över MCP ändrar verktyget ingenting och svarar med sidan i appen där en person gör det.

Behörighet: content.write · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Lista en webbplats samlingar testimonial_collections_list

Varje samling kommer med hur många kundomdömen den innehåller just nu, hur många av dem som är godkända, sina regler på vanlig engelska när den är en smart samling, och widgets och väggar den matar. Samlingar i papperskorgen utelämnas.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/collections.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/testimonials/collections/preview.json Prova en uppsättning regler utan att spara något testimonial_collections_preview

Svarar med hur många kundomdömen som matchar just nu, reglerna på vanlig engelska och fem exempel. Använd det före testimonial_collections_create eller testimonial_tags_update. En ogiltig rad ger 422 som namnger raden.

Behörighet: analytics.read

Exempel
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 Ta ut kundomdömen ur en manuell samling testimonial_collections_remove_items

Upp till 100 på en gång. Kundomdömena själva ändras inte. Svaret har meta.undo_id, och en ångring sätter tillbaka varje på sin plats.

Behörighet: content.write

Exempel
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 Flytta ett kundomdöme till en annan plats i en manuell samling testimonial_collections_reorder

Ange platsen med exakt en av position (räknad från 1), before_id eller after_id. Ordningen är den som visas för varje widget och vägg som samlingen matar.

Behörighet: content.write

Exempel
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 Hämta en samling med dess antal, regler och vad den matar testimonial_collections_get

Dess kundomdömen är testimonials_list med collection_id.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/collections/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/testimonials/collections/:id.json Ändra en samlings namn, beskrivning, regler eller visningsordning testimonial_collections_update

Bara det som skickas ändras. Att skicka conditions ersätter varje regel i en smart samling. Sorten är fast.

Behörighet: content.write

Exempel
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/collections/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Segment

POST /sites/:site_id/segments.json Spara filter som ett segment segments_create

Sparar en uppsättning filter som ett namngivet segment som kan återanvändas i vilket statistikverktyg som helst via segment_id. Ange name och filters (alla villkor måste matcha, och en grupp {any: [...]} matchar när ett av flera gör det, se indata filters för dimensionsnamn och operatorer). Filtren kontrolleras, så en okänd dimension eller ett felaktigt värde returnerar ett 422 med ett meddelande per rad. Använd segments_preview först för att kontrollera vad en filteruppsättning matchar. shared är true som standard och gör segmentet synligt för alla med åtkomst till webbplatsen, false håller det privat för dig. Returnerar segmentet med id (seg_...), site_id, name, description, filters, summary (en beskrivning i klartext), shared, mine och tidsstämplar. Kräver behörigheten content.write.

Behörighet: content.write

Exempel
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 Ta bort ett segment segments_delete

Raderar ett sparat segment permanent. Instrumentpaneler och länkar som använder det faller tillbaka på all trafik. Ingen analysdata berörs och det går inte att ångra. Returnerar det raderade segmentet. Id (seg_...) kommer från segments_list. Kräver behörigheten content.write.

Behörighet: content.write

Exempel
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 Lista segment du kan använda på en webbplats segments_list

Listar en webbplats sparade segment, ordnade efter namn: de delade plus dina egna privata. Varje segment har id (seg_...), site_id, name, description, filters, summary, shared, mine och tidsstämplar. Ange ett id som segment_id till vilket statistikverktyg som helst (stats_aggregate, stats_breakdown, funnels_get och andra) för att tillämpa segmentets filter. Sidindelad via de vanliga sidparametrarna. Använd segments_create för att lägga till ett.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/segments.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/segments/preview.json Beskriv filter med vanligt språk och räkna besökarna de matchade de senaste 30 dagarna segments_preview

Kontrollerar en uppsättning filter utan att spara något. Returnerar summary (filtren i klartext), visitors (hur många besökare som matchade de senaste 30 dagarna, null när filtren är ogiltiga), period (alltid 30d) och filters (den rensade, kanoniska form som skulle lagras). Filtren använder samma format som segments_create, inklusive grupper med {any: [...]} och valfria utskrivna namn på länder, kanaler och mål, som omvandlas till koder och id. Ogiltiga filter returnerar ett 422 som anger raden. Använd den för att prova filter före segments_create, och stats_aggregate med filters för siffror över en annan period.

Behörighet: analytics.read

Exempel
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 Hämta ett segment segments_get

Returnerar ett sparat segment: id (seg_...), site_id, name, description, filters (de lagrade villkoren), summary (en beskrivning i klartext som Besökare från USA på mobil), shared (synligt för alla med webbplatsåtkomst), mine (true när du skapade det) och tidsstämplar. Du kan läsa delade segment och dina egna privata. Id kommer från segments_list. För att räkna hur många besökare en uppsättning filter matchar använd segments_preview.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/segments/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/segments/:id.json Byt namn på ett segment eller ändra dess filter eller delning segments_update

Byter namn på ett segment, ersätter dess filter eller ändrar vem som kan se det. Bara de värden du skickar ändras. Om du skickar filters ersätts alla befintliga filter, i samma format och med samma kontroller som segments_create. shared false gör det privat för sin skapare. description kan rensas genom att skicka den tom. Allt som använder segmentet, som statistikanrop med dess segment_id, ändras direkt. Returnerar segmentet. Id kommer från segments_list. Kräver behörigheten content.write.

Behörighet: content.write

Exempel
curl -X PATCH https://privatusanalytics.com/sites/:site_id/segments/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Sparade vyer för omdömen

POST /sites/:site_id/testimonials/views.json Spara ett filter, en söktext, en sortering och en layout för inkorgen under ett namn testimonial_saved_views_create

En personlig vy behöver bara analytics.read. En delad behöver content.write och nekas annars med koden not_allowed. En fäst vy sitter i sidofältet med sitt antal. Öppna den med testimonials_list och view_id.

Behörighet: analytics.read

Exempel
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 Radera en sparad vy. Inget kundomdöme berörs testimonial_saved_views_destroy

En sparad vy är ett lagrat filter, så bara vyn försvinner. En widget eller vägg som matas av vyn behåller sina inställningar och har inget att visa förrän den får en annan källa. En personlig vy raderas av sin ägare, och en delad kräver content.write. Annars nekas anropet med koden not_allowed. Över MCP ändrar verktyget ingenting och svarar med sidan i appen där en person gör det.

Behörighet: analytics.read · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Lista de sparade vyer på en webbplats som anroparen kan öppna testimonial_saved_views_list

Returnerar anroparens egna vyer och varje delad, fästa först i sin ordning, sedan efter namn. scope är all (standard), mine eller shared. Skicka en vys id som view_id till testimonials_list för att läsa kundomdömena den innehåller.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/views.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/testimonials/views/:id.json Byt namn på en sparad vy, ändra vad den lagrar, fäst eller dela den testimonial_saved_views_update

Bara de skickade indata ändras: name, den lagrade sökningen (q), filters, sort, layout, columns, position, pinned och shared. En personlig vy ändras av sin ägare. Att ändra en delad vy, och att dela eller sluta dela vilken vy som helst, kräver content.write.

Behörighet: analytics.read

Exempel
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/views/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Sponsorrapport

GET /sponsor/:token.json En sponsorrapport, via länkens token ad_reports_get

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl https://privatusanalytics.com/sponsor/:token.json

Sponsorrapporter

Språk för omdömen

GET /sites/:site_id/testimonials/settings/languages.json Hämta språkinställningarna för en webbplats kundomdömen testimonial_languages_get

Standardspråket, de erbjudna språken, om nygodkända kundomdömen översätts automatiskt, om planen inkluderar översättning, om översättning är konfigurerad, och månadens använda och återstående tecken.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/settings/languages.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/testimonials/settings/languages.json Ställ in standardspråket, de erbjudna språken och automatisk översättning testimonial_languages_update

Skicka bara det som ändras. Standardspråket finns alltid bland de erbjudna språken, och ett språk som ett formulär är skrivet på kan inte tas bort (in_use). Att slå på auto_translate kräver Business eller högre (402 plan_limit annars): från och med då skickas orden i varje nygodkänt kundomdöme till Google Cloud Translation, och medlemmen får ett e-postmeddelande om att en assistent ändrade detta.

Behörighet: sites.manage

Exempel
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/settings/languages.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Spårning

POST /sites/:site_id/tracking/ingest_key.json Skapa eller rotera nyckeln för crawlerloggar (visas en gång) tracking_ingest_key_rotate

Skapar en ny hemlig nyckel för crawlerloggar (den börjar med pik_) för en webbplats och ersätter eventuell befintlig nyckel. Nyckeln autentiserar uppladdning av serverns åtkomstloggar för rapporten om AI-genomsökare (POST /api/logs). Använd den både för att skapa den första nyckeln och för att rotera. Den nya nyckeln fungerar direkt och den gamla slutar fungera direkt, så driftsätt den nya nyckeln genast för att undvika 401 på loggöverföringar. Hela nyckeln returneras bara i det här svaret, i fältet key, så spara den i ett hemlighetslager. Därefter sparas och visas bara ett kort prefix (prefix här, ingest_key_prefix på webbplatsen). Returnerar site_id, key och prefix. Kräver sites.manage. Använd tracking_ingest_key_revoke för att ta bort nyckeln utan att ersätta den.

Behörighet: sites.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Återkalla nyckeln för crawlerloggar tracking_ingest_key_revoke

Tar bort en webbplats nyckel för crawlerloggar. Från och med nu avvisas varje loggöverföring som skickas med den nyckeln med 401 tills du skapar en ny med tracking_ingest_key_rotate. Webbläsarspårning med det publika webbplats-id:t påverkas inte. Nyckeln kan inte återställas. Kräver sites.manage. Returnerar webbplatsobjektet (se sites_get), där ingest_key_prefix nu är null.

Behörighet: sites.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Kontrollera att trackern är installerad på webbplatsen (script-tagg, webbplats-id, CSP och referrer policy) tracking_verify

Hämtar webbplatsens sida och kontrollerar att spårningsskriptet från Privatus Analytics är korrekt installerat, och markerar webbplatsen som verifierad när skriptet med den här webbplatsens id hittas. Som standard begär den startsidan (https://domain/) och url kan ange en annan sida, men bara på webbplatsens egen domän, extra domäner eller deras underdomäner. Resultatet (under data) har url, status (HTTP-status), script_found, site_ids (varje data-site-id som hittats på sidan), installed (true när den här webbplatsens id finns bland dem), csp och csp_ok (om sidans Content-Security-Policy låter spåraren läsas in och skicka), referrer_policy och referrer_ok (en no-referrer-policy gör att varje besök visas som direkt) samt checked_at. Den hämtar över det publika internet, läser högst 2 MB och har begränsad frekvens per arbetsyta och per värd, så den svarar 429 när den anropas för ofta. Om sidan inte kan nås returnerar den ett valideringsfel. Använd sites_setup_get för att se om händelser har kommit in. Kräver sites.manage.

Behörighet: sites.manage

Exempel
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 Bygg spårningskoden för valda alternativ tracking_snippet

Bygger HTML-script-taggen för att installera spårning på en webbplats och returnerar den med webbplats-id:t som data.site_id och data.snippet. Välj den här framför sites_setup_get när du behöver anpassa den, och använd tracking_verify efteråt för att kontrollera den publicerade sidan. Som standard läses varje spårarmodul in och sidvisningar är automatiska. modules begränsar den till en delmängd av engage (tid och scroll), auto (utgående länkar, nedladdningar, formulär, 404:or), vitals (Web Vitals), clicks (klickkartor) och ask (enkäter på webbplatsen). manual true stänger av den automatiska sidvisningen så att du skickar dem själv. spa sätter spårning av navigering i ensidesappar till auto, history, hash eller off. domains begränsar spårningen till de värdnamnen, exclude listar sökvägsmönster att hoppa över, query_params listar extra frågeparametrar att behålla och mask listar sökvägsmasker på klientsidan skrivna som /u/*->/u/:id. Ingenting sparas, koden genereras från indata varje gång. Kräver analytics.read.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/tracking/snippet.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"

Statussidor

GET /status/:slug/confirm/:token.json Bekräfta en prenumeration från den mejlade länken public_status_pages_confirm

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl https://privatusanalytics.com/status/:slug/confirm/:token.json
GET /status/:slug.json Publik statussida: aktuell status, drifttidsfält för 90 dagar, incidenter och inlägg public_status_pages_get

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl https://privatusanalytics.com/status/:slug.json
POST /status/:slug/subscribers.json Prenumerera med en e-postadress (dubbel bekräftelse) public_status_pages_subscribe

Webbläsarklienter skickar en Cloudflare Turnstile-token som `cf-turnstile-response`. Förfrågningar med en API-token behöver ingen.

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/status/:slug/subscribers.json \
  -H "Content-Type: application/json" -d '{…}'
POST /status/:slug/unsubscribe/:token.json Avsluta prenumerationen med den mejlade token public_status_pages_unsubscribe

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Publicera en incidentuppdatering (mejlar prenumeranter) status_page_posts_create

Publicerar en incidentuppdatering på en statussida och mejlar som standard dess bekräftade prenumeranter. Välj den för att meddela eller uppdatera en incident, och använd status_page_posts_update för att föra en befintlig incident vidare (till exempel till resolved) i stället för att skapa ett nytt inlägg. Obligatorisk är title (max 200 tecken). status är en av investigating (standard), identified, monitoring eller resolved. body är vanlig text (max 10 000 tecken), posted_at är en ISO 8601-tid som är som standard nu och notify (standard true) styr mejlet. Mejl skickas bara för en publicerad sida och har begränsad frekvens per sida, över gränsen publiceras inlägget ändå men ingen mejlas. status_page_id kommer från status_pages_list. Kräver behörigheten uptime.manage. Returnerar inlägget med id (spp_...), title, body, status, posted_at och updated_at.

Behörighet: uptime.manage

Exempel
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 Ta bort ett inlägg på en statussida status_page_posts_delete

Raderar ett incidentinlägg från en statussida permanent. Det försvinner från den publika sidan direkt och det går inte att ångra. Inget mejl skickas. Id kommer från status_page_posts_list. Kräver behörigheten uptime.manage. Returnerar det raderade inlägget.

Behörighet: uptime.manage

Exempel
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 Lista inlägg på en statussida status_page_posts_list

Listar incidentinläggen på en statussida, nyaste först enligt posted_at. Använd den för att hitta ett inläggs-id eller se incidenthistoriken. Filtrera valfritt efter status (investigating, identified, monitoring eller resolved). Sidindelad med page och per_page (upp till 100). Varje inlägg har id (spp_...), title, body (null när tomt), status, posted_at och updated_at. status_page_id kommer från status_pages_list.

Behörighet: analytics.read

Exempel
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 Redigera ett inlägg på en statussida status_page_posts_update

Redigerar ett incidentinlägg. Bara de värden du skickar ändras, så skicka bara status för att lösa en incident. Prenumeranter mejlas bara när status faktiskt ändras och notify inte är false (standard true). Att redigera bara title eller body skickar inget mejl. Mejl går till bekräftade prenumeranter på en publicerad sida och har begränsad frekvens per sida. Giltiga värden för status är investigating, identified, monitoring och resolved. Id kommer från status_page_posts_list. Kräver behörigheten uptime.manage. Returnerar det uppdaterade inlägget.

Behörighet: uptime.manage

Exempel
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 Ta bort en prenumerant status_page_subscribers_delete

Tar bort en e-postprenumerant från en statussida så att den slutar få incident- och drifttidsmejl. Det går inte att ångra, men personen kan prenumerera igen på den publika sidan. Id är prenumerantens id från status_page_subscribers_list (ett vanligt UUID, inte ett id med prefix). Kräver behörigheten uptime.manage. Returnerar den borttagna prenumeranten.

Behörighet: uptime.manage

Exempel
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 Lista prenumeranter på en statussida status_page_subscribers_list

Listar en statussidas e-postprenumeranter, sorterade efter e-postadress. Använd confirmed true för att bara se personer som bekräftat sin adress (bara de får mejl) eller confirmed false för väntande. Sidindelad med page och per_page (upp till 100). Varje objekt har id (ett UUID, används av status_page_subscribers_delete), email, confirmed_at (null medan den väntar) och created_at. status_page_id kommer från status_pages_list. Kräver behörigheten uptime.manage och returnerar personuppgifter (e-postadresser). Kräver planen Business eller Enterprise (annars 402 plan_limit).

Behörighet: uptime.manage

Exempel
curl https://privatusanalytics.com/status_pages/:status_page_id/subscribers.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /workspaces/:workspace_id/status_pages.json Skapa en statussida status_pages_create

Skapar en publik statussida för en arbetsyta som visar valda drifttidskontroller, incidentinlägg och en e-postanmälan. Obligatorisk är name (max 100 tecken). slug (gemener, siffror och bindestreck, unik över alla arbetsytor) hämtas som standard från namnet och sidan visas på /status/<slug>. check_ids listar drifttidskontrollerna som ska visas (upc_...-id från uptime_checks_list) och bara kontroller som skapats med public true accepteras. published är true som standard, så sidan är synlig för alla direkt. Valfri profilering är description (max 2 000 tecken), logo_url (måste vara https), brand_color (hex som #06755b) och custom_domain (ett värdnamn som du låter en CNAME peka mot appen, unikt). Använd status_page_posts_create för att publicera incidenter efteråt. Kräver behörigheten uptime.manage. Returnerar sidan med id (sp_...), slug, check_ids och subscribers (antal bekräftade prenumeranter). Planen avgör hur många sidor en arbetsyta har: inga på Free (402 plan_limit), 1 på Pro och 10 på Business. En custom_domain och e-postprenumeranter kräver planen Business eller Enterprise. Sidor utöver planens antal behålls och är offline.

Behörighet: uptime.manage

Exempel
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 Ta bort en statussida status_pages_delete

Raderar en statussida permanent tillsammans med alla dess incidentinlägg och prenumeranter. Den publika sidan och dess egna domän slutar fungera direkt och det går inte att ångra. Själva drifttidskontrollerna raderas inte. Id kommer från status_pages_list. Kräver behörigheten uptime.manage. Returnerar den raderade sidan.

Behörighet: uptime.manage

Exempel
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 Lista statussidor status_pages_list

Listar en arbetsytas statussidor sorterade efter namn. Använd query för att matcha en del av ett namn eller en slug. När anroparen är begränsad till vissa webbplatser returneras bara sidor vars kontroller alla ligger inom de webbplatserna. Sidindelad med page och per_page (upp till 100). Varje objekt har de fält som beskrivs i status_pages_get. Kräver workspace_id från workspaces_list.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/status_pages.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /status_pages/:id.json Hämta en statussida status_pages_get

Returnerar en statussida med dess inställningar. Fälten är id (sp_...), workspace_id, name, slug, custom_domain (null när ingen finns), description, logo_url, brand_color, published, check_ids (id för de drifttidskontroller som visas på sidan), subscribers (antal bekräftade e-postprenumeranter) och created_at. Använd status_page_posts_list för dess incidenter och status_page_subscribers_list för personerna. Id kommer från status_pages_list.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/status_pages/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /status_pages/:id.json Ändra en statussida status_pages_update

Ändrar en statussida. Bara de värden du skickar ändras, så skicka bara published false för att ta sidan offline eller check_ids för att ersätta de visade kontrollerna (hela listan ersätts, den slås inte ihop). Indata och deras gränser är desamma som i status_pages_create. Skicka custom_domain som en tom sträng för att ta bort den egna domänen. Bara kontroller med public true kan visas, och en anropare som är begränsad till vissa webbplatser kan bara lägga kontroller från de webbplatserna på en sida. Id kommer från status_pages_list. Kräver behörigheten uptime.manage. Returnerar den uppdaterade sidan.

Behörighet: uptime.manage

Exempel
curl -X PATCH https://privatusanalytics.com/status_pages/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Sök

GET /sites/:site_id/search.json Sökrapport: klick, visningar, CTR, position, toppfrågor och toppsidor, landningssidor och möjligheter search_report

Sökprestanda från Google Search Console och Bing Webmaster, sammanfogad med webbplatsens egna mätvärden för landningssidor. Välj provider: all (standard) lägger ihop alla anslutna sökmotorer, med position viktad efter visningar och länder och enheter bara från Google, eller enbart google eller bing, och vanlig period eller anpassat from och to. limit (1 till 100, standard 25) begränsar raderna i varje tabell. Resultatet har period, provider, connection (property, status, last_synced_at för den valda sökmotorn, eller null när den inte är ansluten eller provider är all), connections (varje ansluten sökmotor med provider, property, status och last_synced_at), latest_date (senaste dagen med data), delayed (true när intervallet sträcker sig förbi latest_date), totals och series (per dag) var och en med clicks, impressions, ctr (en procentsats, inte en bråkdel, 2 decimaler) och position (genomsnittlig rankning, 1 är bäst, null om okänd), breakdowns för query, page, country och device (rader med value plus samma fyra mått), landing_pages (de främsta sidorna med visits, bounce_rate och conversion_rate som procentsatser, och conversions) och opportunities (low_ctr_queries med minst 100 visningar och en CTR under 2 procent, och striking_distance-sidor med en genomsnittlig position på 8 till 20). Landsvärden är som leverantören rapporterar dem. Använd stats_breakdown för besökardata och det här verktyget för vad som händer före klicket. Kräver analytics.read.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/search.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
DELETE /sites/:site_id/search/connections/:provider.json Koppla från Search Console eller Bing och ta bort dess data search_disconnect

Kopplar bort en sökleverantör (google eller bing) från en webbplats och raderar dess importerade sökdata för den leverantören permanent. Det går inte att ångra. Google-behörigheten tas också bort när ingen webbplats använder den. Misslyckas om leverantören inte är ansluten. Returnerar den borttagna anslutningen. Kräver sites.manage.

Behörighet: sites.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Importera sökdata nu search_sync

Köar en omedelbar import av sökdata för en ansluten leverantör (google, standard, eller bing) i stället för att vänta på det vanliga schemat. Den returnerar direkt (HTTP 202) med anslutningen och importen körs i bakgrunden. Fråga search_report upprepade gånger och bevaka connection.last_synced_at. Sökmotorer rapporterar med ett par dagars fördröjning, så de senaste dagarna förblir tomma även efter en synkronisering. Misslyckas om leverantören inte är ansluten. Kräver sites.manage.

Behörighet: sites.manage

Exempel
curl -X POST https://privatusanalytics.com/sites/:site_id/search/sync.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Taggar för omdömen

POST /sites/:site_id/testimonials/tags/:id/apply_rules.json Kör en taggs regler över kundomdömena som redan är lagrade testimonial_tags_apply_rules

dry_run true (standard) ändrar ingenting och svarar med antalen: hur många som skulle taggas, av hur många, och hur många som redan har taggen. dry_run false taggar dem som en massåtgärd och svarar med undo_id, som testimonials_bulk_undo tar emot i 7 dagar. Fler än 100 körs i bakgrunden och svaret har state running.

Behörighet: content.write

Exempel
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 Skapa en tagg, med regler för automatisk taggning om du skickar dem testimonial_tags_create

En regel är { match, conditions }. Ett kundomdöme som uppfyller någon regel får taggen i det ögonblick det anländer. Regler lägger bara till en tagg. För att tagga det som redan är lagrat, anropa testimonial_tags_apply_rules härnäst.

Behörighet: content.write

Exempel
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 Flytta en tagg till papperskorgen i 30 dagar testimonial_tags_destroy

Den lämnar varje kundomdöme, filter och väljare. Att återställa den med testimonial_trash_restore sätter tillbaka den på varje kundomdöme som hade den. En smart samling vars regler namnger den matchar ingenting tills dess. Över MCP ändrar verktyget ingenting och svarar med sidan i appen där en person gör det.

Behörighet: content.write · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Lista en webbplats taggar med deras regler testimonial_tags_list

Varje tagg kommer med hur många kundomdömen som har den, sina regler för automatisk taggning som strukturerade villkor och på vanlig engelska, och när en regel senast tillämpade den. Taggar i papperskorgen utelämnas.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/tags.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/testimonials/tags/:id/merge.json Slå ihop en tagg med en annan testimonial_tags_merge

Varje kundomdöme som hade denna tagg får den andra, varje regel flyttas till den andra, varje smart samling, sparad vy, widget och vägg som namngav denna tagg namnger den andra, och denna tagg går till papperskorgen, tom. Svarar med taggen som behålls.

Behörighet: content.write

Exempel
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 Ändra en taggs namn, färg eller regler testimonial_tags_update

Bara det som skickas ändras. Att skicka rules ersätter varje regel i taggen, och en tom lista tar bort dem alla.

Behörighet: content.write

Exempel
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/tags/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Trafikregler

POST /sites/:site_id/traffic_rules.json Lägg till en trafikregel traffic_rules_create

Lägger till ett mönster i en av webbplatsens block- eller allow-listor. list är en av hostnames, paths, referrers, countries, ip_ranges, user_agents eller events. pattern använder * som jokertecken och matchningen är skiftlägesokänslig, till exempel /admin/*, ett värdnamn, en hänvisarvärd som spam.example, en landskod med två bokstäver (lagras med versaler), ett webbläsarnamn med huvudversion eftersom user agent reduceras (till exempel Chrome 120) eller ett eget händelsenamn. ip_ranges tar en IPv4- eller IPv6-adress eller CIDR (203.0.113.0/24), som måste vara giltig. Ett mönster kan finnas en gång per lista, och en webbplats kan ha upp till 500 regler. Om listan blockerar eller tillåter matchningar beror på dess läge, som är block som standard och ändras med sites_update. Matchande träffar släpps vid insamlingen och lagras inte, och regeln gäller inom några minuter endast för nya träffar. Kräver sites.manage. Kräver planen Pro eller högre (annars 402 plan_limit).

Behörighet: sites.manage

Exempel
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 Ta bort en trafikregel traffic_rules_delete

Raderar en trafikregel, som hittas via dess id från traffic_rules_list. Träffar som den släppte räknas igen från och med nu, och träffar som redan släppts är borta för gott. Observera att om du raderar det sista mönstret i en lista i allow-läge slutar den listan filtrera. Returnerar den raderade regeln. Kräver sites.manage.

Behörighet: sites.manage

Exempel
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 Lista trafikregler traffic_rules_list

Listar webbplatsens trafikregler, som är block- eller allow-listor som tillämpas vid insamlingen för att avgöra vilka träffar som räknas. Varje regel har id (ett UUID för update och delete), list (hostnames, paths, referrers, countries, ip_ranges, user_agents eller events), pattern, label (valfri anteckning), mode (block eller allow, läget för hela den listan) och created_at. I block-läge släpps en träff som matchar något mönster i listan, i allow-läge släpps en träff som inte matchar något, och en tom lista filtrerar ingenting. Filtrera med list. En lista läge anges inte här, det sätts med sites_update med traffic_rule_modes. Använd traffic_rules_test för att kontrollera en exempelträff. Kräver analytics.read.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/traffic_rules.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/traffic_rules/test.json Testa om ett träff skulle räknas med webbplatsens nuvarande regler traffic_rules_test

Torrkörning som talar om huruvida en exempelträff skulle räknas enligt webbplatsens nuvarande trafikregler. Ingenting lagras. Skicka något av url (en fullständig sid-URL, dess värd och sökväg kontrolleras), referrer (URL eller värdnamn), country (kod med två bokstäver), ip (kontrolleras mot ip_ranges, lagras aldrig), user_agent (en fullständig User-Agent-sträng, reducerad till webbläsare och huvudversion) och event (ett eget händelsenamn). Värden du utelämnar kontrolleras inte. Resultatet har counted (true om träffen skulle registreras), blocked_by (listan som släppte den, eller null), mode (block eller allow för den listan, eller null) och values (de normaliserade värdena som kontrollerades). Regler läses live så en ny regel syns direkt. Kräver analytics.read. Kräver planen Pro eller högre (annars 402 plan_limit).

Behörighet: analytics.read

Exempel
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 Ändra en trafikregel traffic_rules_update

Ändrar mönstret eller etiketten för en trafikregel, som hittas via dess id från traffic_rules_list. Bara de värden du skickar ändras. Listan kan inte ändras, radera och skapa om regeln för att flytta den till en annan lista. Mönstret måste förbli giltigt för sin lista (en CIDR för ip_ranges) och unikt inom den. Skicka en tom etikett för att rensa den. Gäller endast nya träffar. Kräver sites.manage. Kräver planen Pro eller högre (annars 402 plan_limit).

Behörighet: sites.manage

Exempel
curl -X PATCH https://privatusanalytics.com/sites/:site_id/traffic_rules/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Trattar

POST /sites/:site_id/funnels.json Skapa en tratt funnels_create

Skapar en tratt, en sekvens av steg som besök går igenom, mätt per besök. Ange name och steps, en ordnad lista med {type, value, match, name}. type är page, event eller goal. value är en sökväg för sidsteg (till exempel /pricing), ett eget händelsenamn för händelsesteg eller ett mål-id (goal_..., från goals_list) för målsteg. match gäller bara sidsteg och är exact, prefix, glob (jokertecknet *) eller regex, med glob som standard när värdet har ett * och annars exact. name är en valfri etikett. Steg med tomt värde tas bort. order_mode är strict (varje steg måste komma efter det föregående, standard) eller any (steg i valfri ordning). window är visit (standard) eller day, och båda mäter inom ett enda besök eftersom inget besökar-id lagras. Plangränser gäller. Free tillåter 3 trattar per webbplats och 5 steg, Pro tillåter 10 steg och Business 20, och en tratt behöver minst 2 steg. Returnerar trattten med id (fun_...). Läs resultaten med funnels_get. Kräver behörigheten content.write.

Behörighet: content.write

Exempel
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 Ta bort en tratt funnels_delete

Raderar en trattdefinition permanent. Ingen analysdata berörs, men trattten och dess inställningar kan inte återställas och det går inte att ångra. Returnerar den raderade trattten. Id (fun_...) kommer från funnels_list. Använd funnels_update för att ändra en tratt i stället. Kräver behörigheten content.write.

Behörighet: content.write

Exempel
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 Lista trattar med ingångar, slutföranden och andel funnels_list

Listar en webbplats trattar med deras huvudresultat för perioden, ordnade efter namn. Varje tratt har id (fun_...), name, steps, order_mode, window och stats {entered, completed, conversion_rate}, där entered är besök som nådde steg 1, completed är besök som nådde det sista steget och conversion_rate är en procentsats (0 till 100). Sidindelad med page och per_page (max 100, standard 25). Tar de gemensamma indata period och filters. För detaljer steg för steg använd funnels_get, och använd funnels_create för att lägga till en.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/funnels.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/funnels/:id.json Trattrapport: antal per steg, konvertering, avhopp, tid mellan steg och vart besöken tog vägen istället funnels_get

Konverteringsrapporten för en tratt under en period. Returnerar period, funnel_id, name, order_mode, window, steps, overall_conversion_rate, breakdown och, med compare, comparison. Varje steg har index (från 1), name, type, value, match, count (besök som nådde det), step_conversion_rate (procent av föregående steg), overall_conversion_rate (procent av steg 1), dropoff och dropoff_rate (besök som lämnade efter det här steget), median_seconds_from_previous (null för steg 1) och next_pages (de 5 främsta sidorna som besök som föll bort sedan besökte, med (exit) för dem som lämnade). Andelar är procent från 0 till 100. Sätt breakdown till channel, device, country, utm_campaign, utm_source, browser eller os för att få den totala konverteringen per värde (de 20 främsta). comparison har den andra periodens antal, overall_conversion_rate och change (procent, null när den tidigare andelen var 0). Sidfilter ignoreras här eftersom de skulle korta av besök, använd ett sidsteg i stället. Tar de gemensamma indata period, compare, filters och segment. Id kommer från funnels_list.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/funnels/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/funnels/:id.json Uppdatera en tratt funnels_update

Ändrar en tratt. Bara de värden du skickar ändras. Om du skickar steps ersätts hela listan med steg, så skicka varje steg i ordning (format och stegbegränsningar är desamma som i funnels_create, Free tillåter 5 steg, Pro 10 och Business 20, och målsteg måste ange mål för den här webbplatsen). Du kan också ändra name, order_mode (strict eller any) och window (visit eller day). Resultaten beräknas från definitionen när de läses, så en ändring av en tratt gäller hela historiken direkt och tidigare visade siffror kommer att skilja sig. Returnerar trattten. Id kommer från funnels_list. Kräver behörigheten content.write.

Behörighet: content.write

Exempel
curl -X PATCH https://privatusanalytics.com/sites/:site_id/funnels/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Varumärkespaket för omdömen

DELETE /sites/:site_id/testimonials/settings/brand_kit.json Återställ varumärkespaketet för en webbplats kundomdömen till standardvärdena från Privatus Analytics testimonial_brand_kit_reset

Rensar varje färg, typsnitt, radien, betygsstilen, logotyperna och den egna CSS:en i ett steg, och varje formulär, widget och vägg ändras med den. Det kan inte ångras, så en assistent skickas till sidan Varumärkespaket i stället för att köra det.

Behörighet: sites.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Hämta varumärkespaketet för en webbplats kundomdömen, med varje färg löst för ljust och mörkt testimonial_brand_kit_get

Returnerar färgerna, typsnitten, hörnradien, betygsstilen, logotyperna, märkesbrytaren och egen CSS som varje formulär, widget och vägg på webbplatsen ritas med. En inställning som aldrig ändrats kommer tillbaka med standardvärdet från Privatus Analytics.

Behörighet: analytics.read

Exempel
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 Ändra varumärkespaketet för en webbplats kundomdömen testimonial_brand_kit_update

Bara de indata du skickar ändras. Skicka en tom sträng för att återställa en inställning till standardvärdet från Privatus Analytics. Egen CSS kontrolleras när den sparas, och allt som inte är tillåtet nekas med raden det står på. Egen CSS kräver Business-planen och att dölja märket kräver Business-planen. Utan den svarar servern med 402 plan_limit.

Behörighet: sites.manage

Exempel
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 '{…}'

Walls of Love

POST /sites/:site_id/testimonials/walls.json Skapa en Wall of Love testimonial_walls_create

En värdbaserad sida på https://privatus.page/w/<slug>. Allt som utelämnas börjar från ett standardvärde: titeln Wall of Love, masonry-layouten, sluggen från namnet.

Behörighet: content.write

Exempel
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 Flytta en vägg till papperskorgen testimonial_walls_trash

Dess sida svarar att den har tagits ner tills den återställs, och en inbäddad kopia renderar ingenting. Att återställa den för tillbaka den på samma adress. Den raderas för gott efter 30 dagar. Över MCP ändrar verktyget ingenting och svarar med sidan i appen där en person gör det.

Behörighet: content.write · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Kopiera en vägg under ett nytt namn och en ny adress testimonial_walls_duplicate

Skapar en kopia med ett nytt id, namnet slutande på "copy" och en egen slug, så att den har sin egen adress. Originalet och dess adress ändras inte.

Behörighet: content.write

Exempel
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 Hämta länken till en vägg och koden för att placera den inuti en annan sida testimonial_walls_embed

Väggens offentliga adress och skript-, ram- och vanliga länkkoder som placerar den inuti en annan sida. Koderna ändras aldrig när väggen redigeras.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/walls/:id/embed.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/testimonials/walls.json Lista en webbplats Walls of Love testimonial_walls_list

Varje Wall of Love på webbplatsen som inte ligger i papperskorgen, med dess adress, vad som matar den och hur många kundomdömen den visar. Använd q för att söka efter namn eller slug och sort för att ordna efter namn eller nyast.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/walls.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/testimonials/walls/:id/restore.json Återställ en vägg från papperskorgen testimonial_walls_restore

Tar en vägg ur papperskorgen. Dess sida svarar igen på samma adress, och varje inbäddad kopia visar den igen utan en ändring i koden som klistrades in.

Behörighet: content.write

Exempel
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 Hämta en vägg med varje inställning testimonial_walls_get

Allt som byggaren lagrar: adressen (/w/<slug>), rubriken och knappen, layouten, vad som matar väggen, vad varje kort visar, stilen och sökmotorinställningarna. En vägg i papperskorgen svarar med 404.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/walls/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/testimonials/walls/:id.json Ändra en vägg testimonial_walls_update

Bara de skickade indata ändras. En ändrad slug låter den gamla adressen omdirigera.

Behörighet: content.write

Exempel
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/walls/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Webbplats

GET /blog.json Lista blogginlägg blog_list

Listar inläggen på bloggen för Privatus Analytics, nyaste först, med slug, title, kicker, rubric (sammanfattningen i en mening), description, path och datum, och ingen text. För att läsa ett, använd blog_get med dess slug. Sidindelad med page och per_page (högst 100). Offentlig, ingen autentisering behövs.

Behörighet: public

Exempel
curl https://privatusanalytics.com/blog.json
GET /blog/:slug.json Läs ett blogginlägg (Markdown och HTML) blog_get

Returnerar ett blogginlägg med dess slug (från blog_list, sista delen av /blog/<slug>) med dess rubriker, dess Markdown-text och den renderade HTML:en. Inläggen är skrivna på engelska. Offentlig, ingen autentisering behövs.

Behörighet: public

Exempel
curl https://privatusanalytics.com/blog/:slug.json
GET /changelog.json Lista poster i ändringsloggen changelog_list

Publicerade produktuppdateringar, nyaste först. Finns också som RSS på /changelog.rss.

Behörighet: public

Exempel
curl https://privatusanalytics.com/changelog.json
POST /contact.json Skicka ett meddelande till Privatus Analytics-teamet contact_create

Webbläsarklienter skickar en Cloudflare Turnstile-token som `cf-turnstile-response`. Förfrågningar med en API-token behöver ingen.

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/contact.json \
  -H "Content-Type: application/json" -d '{…}'
POST /newsletter/confirm.json Bekräfta en prenumeration på nyhetsbrevet (signerad token) newsletter_confirm

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/newsletter/confirm.json \
  -H "Content-Type: application/json" -d '{…}'
POST /newsletter.json Prenumerera på nyhetsbrevet med en e-postadress newsletter_subscribe

Webbläsarklienter skickar en Cloudflare Turnstile-token som `cf-turnstile-response`. Förfrågningar med en API-token behöver ingen.

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/newsletter.json \
  -H "Content-Type: application/json" -d '{…}'
POST /newsletter/unsubscribe.json Avsluta prenumerationen med en signerad länktoken newsletter_unsubscribe

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/newsletter/unsubscribe.json \
  -H "Content-Type: application/json" -d '{…}'
GET /pricing.json Hämta planer, priser och plangränser pricing_get

Samma data som prissidan: händelsetrappan, varje plangräns och vad som räknas som en händelse. Skicka events för att få motsvarande nivå.

Behörighet: public

Exempel
curl https://privatusanalytics.com/pricing.json
GET /status.json Hämta aktuell systemstatus status_get

Hälsa för databas, Redis och bakgrundsjobb, kontrolleras högst var 15:e sekund.

Behörighet: public

Exempel
curl https://privatusanalytics.com/status.json
GET /tools/header-checker.json Kontrollera en sidas Referrer-Policy och CSP för analys tools_header_check

Hämtar en publik sida och kontrollerar svarshuvudena som påverkar analys. Använd den när spårningsdata saknas eller hänvisare ser fel ut. Den tittar på Referrer-Policy, direktiven script-src och connect-src i Content-Security-Policy (om Privatus Analytics får läsas in och skicka data), Permissions-Policy och antalet Set-Cookie-huvuden. Returnerar url (den slutliga URL:en efter upp till 3 omdirigeringar), status (HTTP-status) och findings, var och en med check, value (kan vara null), level (ok, warn eller info) och en anmärkning i klartext. URL:en måste vara http eller https och publik, privata och interna adresser nekas, bara de första 1 MB läses och hämtningen avbryts efter 5 sekunder. Frekvensbegränsad till 10 anrop per minut och klient. Publik, ingen autentisering behövs.

Behörighet: public

Exempel
curl https://privatusanalytics.com/tools/header-checker.json
GET /tools/privacy-policy-generator.json Skriv ett utkast till ett stycke i integritetspolicyn för Privatus Analytics tools_privacy_policy

Skriver ett utkast till ett stycke i en integritetspolicy som beskriver hur Privatus Analytics samlar in data på kundens webbplats (cookiefritt, inga personuppgifter lagras, plats endast på landsnivå). Det är en utgångspunkt, inte juridisk rådgivning. Indata är site_name (upp till 120 tecken), contact_email (valfri, lägger till en mening om kontakt) och honors_gpc (standard true, lägger till en mening om att Do Not Track och Global Privacy Control respekteras). Returnerar site_name, paragraphs (array med strängar), text (styckena sammanfogade med tomma rader, med adressen till Privatus Analytics inom parentes efter namnet) och html (styckena som <p>-element, med namnet som en vanlig länk). Texten skrivs på förfrågans språk, som standard engelska. Den ändrar ingenting i något konto. Publik, ingen autentisering behövs.

Behörighet: public

Exempel
curl https://privatusanalytics.com/tools/privacy-policy-generator.json
GET /tools/qr-code.json Generera en QR-kod som SVG tools_qr_code

Genererar en QR-kod som en SVG-bild för tryck eller affischer. Para ihop den med en länk som har UTM-parametrar från tools_utm_builder. Indata är text (URL:en eller texten, upp till 1 000 tecken) och level (felkorrigering l, m, q eller h, standard m, högre klarar mer skada men kräver en tätare kod). Returnerar text, level, size (moduler per sida) och svg (ett fristående SVG-dokument, svart på vitt). Text som är för lång för vald nivå avvisas. För QR-koder för spårade korta länkar använd links_qr i stället. Publik, ingen autentisering behövs.

Behörighet: public

Exempel
curl https://privatusanalytics.com/tools/qr-code.json
GET /tools/tracker-scanner.json Lista cookies och kända spårare på en sida tools_tracker_scan

Hämtar en publik sida och listar de cookies den sätter och de kända spårarna från tredje part som den refererar till. Använd den för en snabb kontroll av vad en sida läser in innan du väljer ett tillvägagångssätt för medgivande. Det är en statisk genomsökning av enbart HTML och svarshuvuden, den kör inte JavaScript, så cookies som sätts av skript och taggar som läses in senare av en taggare missas. Returnerar url (slutlig URL efter upp till 3 omdirigeringar), status, truncated (true när bara de första 1 MB lästes), cookies (name, domain, path, expires, secure, http_only och same_site, värden returneras aldrig), trackers (name, category, match och evidence, där category är advertising, analytics, session_recording, tag_manager, marketing eller privacy_analytics) och third_party_hosts (sorterade värdnamn för andra webbplatser). URL:en måste vara publik http eller https, med en hämtningstidsgräns på 5 sekunder, och anrop är begränsade till 10 per minut och klient. Publik, ingen autentisering behövs.

Behörighet: public

Exempel
curl https://privatusanalytics.com/tools/tracker-scanner.json
GET /tools/utm-builder.json Bygg en kampanj-URL med UTM-parametrar tools_utm_builder

Bygger en kampanj-URL med UTM-parametrar och flaggar vanliga misstag. Indata är url (måste vara http eller https), source, medium och campaign (alla obligatoriska) samt valfria term och content. Befintliga utm_-parametrar på URL:en ersätts och andra frågeparametrar behålls. Returnerar url (den färdiga länken), params (utm_-värdena som lades till, tomma utelämnas) och warnings (strängar för värden med versaler, mellanslag eller text som ser ut som en e-postadress eller ett långt tal, vilket aldrig ska finnas i en URL). Använd gemener utan mellanslag så att samma kampanj inte delas upp på flera rader i rapporter. Den sparar ingenting. Publik, ingen autentisering behövs.

Behörighet: public

Exempel
curl https://privatusanalytics.com/tools/utm-builder.json
POST /waitlist.json Gå med i en väntelista (EU-hosting) waitlist_join

Webbläsarklienter skickar en Cloudflare Turnstile-token som `cf-turnstile-response`. Förfrågningar med en API-token behöver ingen.

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/waitlist.json \
  -H "Content-Type: application/json" -d '{…}'

Webbplatser

POST /sites/:site_id/data_reset.json Ta bort alla händelser och besök i ett datumintervall (körs i bakgrunden, kan inte ångras) sites_reset_data

Raderar en webbplats sidvisningar, egna händelser och besök för ett datumintervall oåterkalleligt, och det går inte att ångra. Använd den för att rensa testtrafik eller ta bort en felaktig period. Den raderar inte webbplatsen, dess mål eller dess inställningar (använd sites_delete för webbplatsen). from och to är YYYY-MM-DD-datum, båda inklusive och lästa i webbplatsens tidszon, och to får inte ligga före from. confirm måste vara webbplatsens domän exakt som sites_get visar den (skiftläge spelar ingen roll). Förfrågan accepteras och returnerar direkt med status queued, site_id, from och to. Raderingen körs i bakgrunden i omgångar, så siffrorna i statistikverktygen kan ta en stund att stabiliseras, och det finns ingen statusendpoint att fråga, kontrollera statistikverktygen tills intervallet är tomt. Åtgärden registreras i granskningsloggen. Kräver behörigheten sites.manage.

Behörighet: sites.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Sammanfattning av filtrerad trafik: bottar, trafikregler eller PII-maskeringar per orsak och land (endast antal) sites_filter_stats

Antal träffar som släpptes eller rensades före lagring, under de senaste dagarna. Använd den för att se hur mycket bottrafik, regelblockerad trafik eller maskering en webbplats har. Välj kind med bot (träffar som släpptes som bottar), rule (träffar som släpptes av trafikregler) eller redaction (värden som maskerats av personuppgiftsrensaren). Returnerar kind, days, total, by_reason, by_country och by_day. by_reason och by_country är listor med {value, count} (upp till 50, störst först, value null när okänt) och by_day är en lista med {date, count}. days begränsas till mellan 1 och 395 och är som standard 30. Detta är endast sammanlagda antal. Inga IP-adresser, user agents eller maskerade värden lagras, så ingenting kan spåras till en person. Dessa träffar räknas inte som händelser för fakturering. Använd traffic_rules_list för att se eller ändra reglerna.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/filter_stats.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/access.json Lista medlemmar och om de kan se den här webbplatsen sites_access_list

Visar vilka arbetsytemedlemmar som kan se en webbplats. Varje medlem i arbetsytan listas i den ordning de gick med, utan sidindelning. Fälten är membership_id (uuid som används av sites_access_update), email, name, role, access (true när medlemmen kan se den här webbplatsen) och locked (true för ägare och administratörer, som alltid har åtkomst och inte kan ändras). Andra medlemmar har åtkomst när de har alla webbplatser eller ett uttryckligt beviljande för den här webbplatsen. Använd members_list för att se en medlems fullständiga webbplatslista. Kräver members.manage.

Behörighet: members.manage

Exempel
curl https://privatusanalytics.com/sites/:site_id/access.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/access.json Ge eller ta bort en medlems åtkomst till den här webbplatsen sites_access_update

Ger eller tar bort en medlems åtkomst till en webbplats. membership_id kommer från sites_access_list (eller members_list) och access är true för att ge eller false för att ta bort. Ägare och administratörer har alltid åtkomst och kan inte ändras. Att ta bort åtkomst från en medlem som hade alla webbplatser växlar dem till en uttrycklig lista över varje annan webbplats i arbetsytan och slår av deras include_future_sites, så de får inte webbplatser som skapas senare. Att ge åtkomst till någon som redan har alla webbplatser ändrar ingenting. Du kan inte ändra en medlem som har behörigheter du saknar eller webbplatser utöver dina. Kräver members.manage. Returnerar medlemmens rad i samma form som sites_access_list.

Behörighet: members.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Stjärnmarkera en webbplats (fästs först under Alla webbplatser) sites_favorite

Stjärnmärker en webbplats för den anropande användaren så att den listas först av sites_list och på sidan Alla webbplatser. Det påverkar bara anroparen, aldrig andra medlemmar, och att stjärnmärka en redan stjärnmärkt webbplats ändrar ingenting. Anropet behöver inga indata utöver webbplats-id:t. Använd sites_unfavorite för att ta bort stjärnan. Kräver analytics.read. Returnerar webbplatsen (se sites_get), med favorite true.

Behörighet: analytics.read

Exempel
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 Ta bort stjärnmarkeringen från en webbplats sites_unfavorite

Tar bort den anropande användarens stjärna från en webbplats, så att den inte längre ligger först i sites_list. Det påverkar bara anroparen och gör ingenting om webbplatsen inte var stjärnmärkt. Använd sites_favorite för att stjärnmärka den igen. Kräver analytics.read. Returnerar webbplatsen (se sites_get), med favorite false.

Behörighet: analytics.read

Exempel
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 Installationsstatus och kod för en webbplats sites_setup_get

Returnerar vad som behövs för att installera spårning på en webbplats och om data har kommit in. Fälten är site_id, snippet (den färdiga HTML-script-taggen att klistra in med alla spårarmoduler aktiverade), receiving_data (true när den första händelsen har tagits emot) och first_event_at (ISO 8601, null tills dess). Fråga den upprepade gånger efter installationen för att se om händelser kommer in. Använd tracking_snippet i stället när du vill ha en anpassad kod (valda moduler, manuella sidvisningar, SPA-läge, masker) och tracking_verify för att hämta den publicerade sidan och kontrollera att skriptet finns. Kräver analytics.read.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/setup.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /transfers/:token/accept.json Acceptera en webbplatsöverföring till en av dina arbetsytor site_transfers_accept

Accepterar en inbjudan att överföra en webbplats och flyttar webbplatsen till en av anroparens arbetsytor. Sökvägsparametern token kommer från inbjudningslänken, och workspace_id är målarbetsytan (ws_...) där anroparen har sites.manage. Anroparens egen e-postadress måste matcha adressen som inbjudan skickades till, och målet kan inte vara arbetsytan som webbplatsen kom från. Webbplatsen behåller sitt id, sina inställningar, mål och data, men åtkomstbeviljanden per medlem rensas och dess delningslänkar flyttas till den nya arbetsytan. Den misslyckas när inbjudan inte längre väntar eller har gått ut, när målet har nått sin plans webbplatsgräns eller när det redan har en aktiv webbplats med samma domän. Flytten kan inte ångras annat än genom att överföra tillbaka. En token som anropar detta måste tillhöra målarbetsytan och ha sites.manage. Returnerar överföringen med status accepted.

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/transfers/:token/accept.json \
  -H "Content-Type: application/json" -d '{…}'
POST /sites/:site_id/transfer.json Börja överföra en webbplats till en annan arbetsyta (mejlar mottagaren) sites_transfer_start

Startar flytten av en webbplats till en annan arbetsyta genom att mejla mottagaren en inbjudningslänk som gäller i 7 dagar. Ingenting flyttas förrän mottagaren loggar in med den e-postadressen och accepterar (site_transfers_accept), så webbplatsen stannar här tills dess. Att starta en ny överföring avbryter varje tidigare väntande för samma webbplats. email måste vara en giltig adress och mottagaren väljer målarbetsyta. Överföringsmejl har begränsad frekvens. Använd sites_transfer_cancel för att dra tillbaka den. Kräver sites.manage. Returnerar överföringen med site_id, site_domain, from_workspace, to_email, status pending och expires_at.

Behörighet: sites.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Avbryt en väntande webbplatsöverföring sites_transfer_cancel

Avbryter webbplatsens väntande överföringsinbjudan så att dess länk slutar fungera. Den misslyckas med ett valideringsfel när ingen överföring väntar. En överföring som redan accepterats kan inte avbrytas. Kräver sites.manage. Returnerar överföringen med status canceled.

Behörighet: sites.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Hämta en väntande överföring från dess mejlade token site_transfers_get

Visar en inbjudan att överföra en webbplats utifrån token i dess länk (sökvägsparametern token, från inbjudningsmejlet som skickats av sites_transfer_start). Anroparen måste vara inloggad eller använda en API-token. Returnerar site_id, site_domain, from_workspace (den skickande arbetsytans namn), to_workspace_id (null tills accepterad), to_email (den inbjudna adressen), status (pending, accepted eller canceled) och expires_at. Inbjudningar går ut 7 dagar efter att de skickats. Använd site_transfers_accept för att acceptera den.

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl https://privatusanalytics.com/transfers/:token.json
POST /workspaces/:workspace_id/sites.json Lägg till en webbplats sites_create

Lägger till en webbplats i en arbetsyta och returnerar den, inklusive spårningskoden att installera. Arbetsytans plan begränsar antalet webbplatser (Free tillåter 3) och anropet misslyckas med ett plangränsfel när gränsen nås. domain är obligatorisk och normaliseras (till exempel reduceras en fullständig URL eller prefixet www till värdnamnet). name är som standard domänen, timezone är som standard arbetsytans tidszon (ett IANA-namn som Europe/Berlin) och currency är arbetsytans valuta (en ISO 4217-kod med 3 bokstäver som USD). Biverkningar är en notis site.created till arbetsytans notiskanaler, att en första SEO-granskning av webbplatsen och en kontroll av domänbetyg köas, och ett mejl med spårningskoden till medlemmen som skapade den (med påminnelser medan ingen data kommer in). Medlemmar som är begränsade till valda webbplatser och som valt framtida webbplatser får åtkomst till den. Kräver sites.manage. Följ upp med tracking_snippet eller sites_setup_get för att installera, och tracking_verify för att kontrollera.

Behörighet: sites.manage

Exempel
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 Ta bort en webbplats (rensas efter 7 dagar) sites_delete

Raderar en webbplats. Det är en mjuk radering, webbplatsen slutar samla in och försvinner från listor direkt, och dess data rensas permanent efter 7 dagar, så behandla det som oåterkalleligt och kontakta supporten snabbt om det var ett misstag. confirm måste vara webbplatsens domän (skiftläge spelar ingen roll). Väntande överföringar för webbplatsen avbryts och en notis site.deleted skickas till arbetsytans notiskanaler. För att bara rensa viss trafik och behålla webbplatsen använd sites_reset_data. Kräver sites.manage. Returnerar webbplatsen.

Behörighet: sites.manage · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Lista webbplatser i en arbetsyta sites_list

Listar de webbplatser i en arbetsyta som anroparen har åtkomst till, med sidindelning och anroparens stjärnmärkta webbplatser först. Använd query för att söka i domän eller namn (delvis, skiftlägesokänsligt), label för att behålla webbplatser som har en viss etikett och sort som position (den sparade ordningen, standard), name eller visitors (besökare under de senaste 30 dagarna, flest först). Svarets meta har sidindelning per sida plus stats, ett objekt med webbplats-id som nycklar och visitors (senaste unika besökare), change (procentuell förändring mot föregående period), sparkline (en lista med dagliga värden) och live (aktuella besökare), samt totals för sidan. Varje objekt har samma fält som sites_get. Detta är startpunkten för att hitta webbplats-id (pa_...) som används av alla andra webbplatsverktyg. Kräver analytics.read.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/sites.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:id.json Hämta en webbplats och alla dess inställningar sites_get

Returnerar en webbplats inställningar och status via dess publika id (pa_..., från sites_list). Nyckelfält är id, workspace_id (ws_...), domain, name, extra_domains och multi_domain_mode (combined eller separate), timezone (IANA-namn), currency (ISO 4217), labels, sekretessalternativ (honor_dnt, honor_gpc, pii_scrubber, redaction_rules, allowed_params, path_masks), retention_months (null betyder behåll all data), bot_filtering, traffic_rule_modes (ett objekt som mappar en regellista till block eller allow), vitals_sample_rate (en procentsats), conversion_denominator (visits eller visitors), public_dashboard och public_indexable, ingest_key_prefix (null när webbplatsen saknar nyckel för crawlerloggar), verified_at, first_event_at och last_event_at (null tills data kommer in), domain_rating (kan vara null), snippet (HTML-spårningstaggen), favorite (om anroparen stjärnmärkt den) och created_at. Kräver analytics.read.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:id.json Uppdatera webbplatsinställningar sites_update

Uppdaterar en webbplats inställningar och ändrar bara de fält du skickar. Namn- och identitetsfält är name, domain (en ändring kontrollerar domänbetyget på nytt), extra_domains (en lista med värdnamn) och multi_domain_mode (combined räknar en besökare över domäner, separate håller dem isär). timezone är ett IANA-namn och currency en ISO 4217-kod med 3 bokstäver. Sekretessfält är honor_dnt, honor_gpc, pii_scrubber, redaction_rules (en lista med objekt med name och pattern, där pattern är ett reguljärt uttryck), allowed_params (frågeparametrar att behålla), path_masks (en lista med objekt med pattern och replacement) och bot_filtering. Listor ersätter hela den befintliga listan. retention_months får inte överstiga planens lagringstid (Free 6 månader). traffic_rule_modes mappar en regellista (hostnames, paths, referrers, countries, ip_ranges, user_agents eller events) till block eller allow. vitals_sample_rate är en procentsats och planen sätter ett tak (10 på Free, 100 på betalda planer). conversion_denominator är visits eller visitors. public_dashboard gör statistiken synlig för alla med länken och public_indexable låter sökmotorer indexera den sidan. Ändringar gäller för nya händelser inom några ögonblick. Kräver sites.manage. Returnerar den uppdaterade webbplatsen.

Behörighet: sites.manage

Exempel
curl -X PATCH https://privatusanalytics.com/sites/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Webbplatsgranskning

GET /sites/:site_id/audit/issues.json Lista problemen i en webbplatsgranskning, en rad per kontroll site_audit_issues_list

Listar problemen i en granskning, en rad per kontroll som flaggade något, värst först (errors, därefter warnings, därefter notices, var och en efter berörda URL:er). Varje rad har check_key (använd den med site_audit_issues_get och mute-verktygen), title, category, severity (error, warning eller notice), affected (flaggade URL:er, tystade undantagna), added och fixed (förändringar sedan föregående granskning) och pageviews (besök på berörda sidor under de 30 dagarna före granskningen). Som standard den senaste avslutade granskningen, eller ange audit_id. Filtrera med severity, category och new_only (bara kontroller med URL:er som är nya sedan föregående granskning). Sidindelad med page och per_page (max 100, standard 50). För att se vilka URL:er en kontroll flaggade använd site_audit_issues_get. Kräver analytics.read.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/audit/issues.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/audit/issues/:check_key.json Hämta en kontroll i webbplatsgranskningen: varför den spelar roll, hur man åtgärdar den och berörda URL:er site_audit_issues_get

Detaljer om en kontroll i en granskning, via check_key från site_audit_issues_list (till exempel title_missing). Returnerar audit_id, issue (samma rad som i listan), why (vad problemet betyder), fix (hur det åtgärdas), muted (true om hela kontrollen är tystad för webbplatsen) och urls, de flaggade URL:erna med page_id (använd det med site_audit_pages_get), url, pageviews, detail (extra fakta om fyndet, kan vara tomt), is_new och muted. sort är pageviews (standard, mest trafik först) eller url. Sidindelad med page och per_page (max 100, standard 25). Som standard den senaste avslutade granskningen, eller ange audit_id. Tystade URL:er sorteras sist. Kräver analytics.read.

Behörighet: analytics.read

Exempel
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 Tysta en kontroll i webbplatsgranskningen på flera URL:er, eller flera hela kontroller, i ett anrop site_audit_mutes_bulk

Tystar många fynd i en förfrågan, allt eller inget. Använd en av två former. Skicka antingen check_key plus urls (upp till 100 URL:er) för att tysta en kontroll på flera sidor, eller skicka check_keys (upp till 100) för att tysta hela kontroller för webbplatsen. Blanda inte urls med check_keys. En okänd kontroll eller en ogiltig URL får hela förfrågan att misslyckas och tystar ingenting. Redan tystade poster returneras som de är. Den senaste granskningens antal och poäng uppdateras en gång i slutet. Returnerar listan med tystningar. Ångra var och en med site_audit_mutes_delete. Kräver content.write.

Behörighet: content.write

Exempel
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 Tysta en kontroll i webbplatsgranskningen, för hela webbplatsen eller en URL site_audit_mutes_create

Tystar en kontroll för webbplatsen, eller för bara en URL. check_key kommer från site_audit_issues_list. Utelämna url för att tysta kontrollen överallt, eller ange en fullständig URL (som https://example.com/old) för att tysta den bara på den sidan, där URL:en normaliseras på samma sätt som genomsökaren gör. Den senaste granskningens antal och poäng uppdateras direkt. Att tysta samma sak två gånger returnerar den befintliga tystningen i stället för ett fel. För att tysta många på en gång använd site_audit_mutes_bulk, och för att ångra använd site_audit_mutes_delete. Kräver content.write.

Behörighet: content.write

Exempel
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 Slå på en tystad kontroll i webbplatsgranskningen igen site_audit_mutes_delete

Tar bort en tystning, som hittas via dess id från site_audit_mutes_list, så att kontrollen eller URL:en räknas i granskningens poäng igen. Den senaste granskningen räknas om direkt. Detta tar bara bort tystningen och raderar inte granskningsdata. Returnerar den borttagna tystningen. Kräver content.write.

Behörighet: content.write

Exempel
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 Lista de kontroller som en webbplats har tystat site_audit_mutes_list

Listar kontrollerna som är tystade för webbplatsen, nyaste först. En tystning döljer en kontroll antingen för hela webbplatsen (url är null) eller för en URL, så att de fynden hålls utanför antal och poäng fastän granskningar fortfarande registrerar dem. Varje rad har id (ett mute-id, använd det med site_audit_mutes_delete), site_id, check_key, title, url (null för en tystning för hela webbplatsen), muted_by (medlemmens namn, null om okänt) och created_at. Filtrera med check_key. Sidindelad med page och per_page (max 100). Kräver analytics.read.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/audit/mutes.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/audit/notifications.json Slå på eller av ditt sammanfattningsmejl om granskningen för en webbplats site_audit_notifications_update

Slår på eller av det veckovisa sammanfattningsmejlet om granskningar för den anropande medlemmen på en webbplats. Det är en personlig inställning och påverkar inte andra medlemmar. enabled true skickar sammanfattningen till medlemmen efter granskningar av den här webbplatsen, false stoppar det. Returnerar site_id, enabled och all_sites_enabled (false när medlemmen stängt av granskningsmejl för varje webbplats i sina kontoinställningar, vilket går före detta). Varje medlem med analytics.read kan ändra sin egen inställning.

Behörighet: analytics.read

Exempel
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 Lista och filtrera sidorna i en webbplatsgranskning site_audit_pages_list

Sidutforskaren, som listar URL:erna i en granskning (den senaste avslutade som standard, eller audit_id). kind är page (standard, HTML-dokument), resource (bilder, skript, formatmallar) eller external (länkar till andra webbplatser). Filtrera efter state (queued, fetched, skipped, blocked, failed), status_class (2xx, 3xx, 4xx eller 5xx), indexable, in_sitemap, has_issues (räknar bara otystade problem), depth (klick från startsidan) och query (text i URL:en eller titeln). sort är pageviews (standard), inlinks, depth, response_ms (långsammast först) eller word_count (minst först). Varje rad har id (ett UUID för site_audit_pages_get), url, path, kind, state, status, depth, indexable, indexability_reason, title, word_count, response_ms, cache_status, inlinks, pageviews, in_sitemap och issues (antal). Sidindelad med page och per_page (max 100). Kräver analytics.read.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/audit/pages.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/audit/pages/:id.json Hämta en granskad sida: dess metadata, problem, inkommande och utgående länkar site_audit_pages_get

Allt som granskningen lagrade om en URL, via id (ett UUID från site_audit_pages_list eller från urls i site_audit_issues_get). Returnerar id, audit_id, page (url, status, redirect_to, content_type, bytes, response_ms, title, meta_description, h1, canonical, robots_meta, indexable och indexability_reason, word_count, lang, hreflang, schema_types, sociala taggar, images_count, images_missing_alt, länkantal, link_score, in_sitemap, has_tracker, pageviews och search_clicks, fetched_at med mera), redirect_target_id (sidan den omdirigerar till inom granskningen, eller null), issues (check_key, title, category, severity, detail, is_new, muted) samt inlinks och outlinks (upp till 100 vardera med page_id, url, status, kind, anchor, nofollow, count). Kräver analytics.read.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/audit/pages/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/audit/settings.json Hämta en webbplats granskningsinställningar site_audit_settings_get

Returnerar webbplatsens granskningsinställningar. Fälten är site_id, enabled (schemalagda granskningar på eller av, på som standard), include_subdomains, check_external_links, exclude_paths, ignored_params, extra_start_urls, next_run_at (när nästa schemalagda granskning ska göras, null om ingen), page_limit (sidor per granskning på den nuvarande planen, null när obegränsat) och interval_days (dagar mellan schemalagda granskningar på planen). En webbplats som aldrig ändrat sina inställningar returnerar standardvärdena. Ändra dem med site_audit_settings_update. Kräver sites.manage.

Behörighet: sites.manage

Exempel
curl https://privatusanalytics.com/sites/:site_id/audit/settings.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/audit/settings.json Ändra en webbplats granskningsinställningar site_audit_settings_update

Ändrar hur webbplatsen granskas. Bara de värden du skickar ändras. enabled slår på eller av schemalagda och manuella granskningar (att slå på det schemalägger nästa granskning ett planintervall bort). include_subdomains och check_external_links är booleska. De tre listorna ersätter den lagrade listan, de slås inte ihop, så skicka hela listan. exclude_paths är sökvägsprefix som genomsökaren hoppar över och var och en måste börja med ett snedstreck (upp till 50). ignored_params är namn på frågeparametrar som aldrig skapar en annan sida, som utm_source eller sessionid (upp till 50, bokstäver, siffror, punkt, bindestreck, understreck). extra_start_urls är fullständiga http- eller https-URL:er att genomsöka utöver startsidan (upp till 20). En lista kan också skickas som text med en post per rad. Returnerar de uppdaterade inställningarna. Kräver sites.manage.

Behörighet: sites.manage

Exempel
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 Avsluta prenumerationen på sammanfattningsmejl om webbplatsgranskningen med token från ett mejl site_audit_unsubscribes_create

Behörighet: public · Endast HTTP (inte ett MCP-verktyg)

Exempel
curl -X POST https://privatusanalytics.com/audit/unsubscribe/:token.json \
  -H "Content-Type: application/json" -d '{…}'
POST /sites/:site_id/audit/cancel.json Avbryt webbplatsgranskningen som körs site_audit_cancel

Stoppar granskningen som körs eller är köad för webbplatsen. Granskningen markeras som canceled och ingenting från den ofullständiga genomsökningen rapporteras. En avbruten granskning förbrukar inte planen Frees månatliga kvot. Misslyckas med ett valideringsfel om ingen granskning är aktiv. Returnerar den avbrutna granskningen. Kräver content.write.

Behörighet: content.write

Exempel
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 Jämför två webbplatsgranskningar: tillagda och åtgärdade URL:er per kontroll site_audit_compare

Jämför två granskningar av webbplatsen, kontroll för kontroll. audit_id är den nyare granskningen och base_id den äldre. Båda har rimliga standardvärden (den senaste avslutade granskningen mot den avslutade granskningen före den), och verktyget byter plats på dem om du anger dem i fel ordning. Returnerar audit och base (var och en en granskningssammanfattning, base är null om det inte finns något tidigare) och checks, ett objekt per kontroll vars URL:er ändrats, med check_key, title, category, severity, base_affected, affected, added och fixed (antal URL:er), sorterade med errors först. Kontroller utan förändring utelämnas. För två på varandra följande granskningar är added och fixed exakta, för granskningar längre isär är de nettoförändringen. Kräver analytics.read.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/audit/compare.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/audit.json Starta en webbplatsgranskning nu site_audit_run

Startar en ny genomsökning och SEO-granskning av webbplatsen nu. Den genomsöker webbplatsens publika sidor i bakgrunden, så den returnerar direkt med den nya granskningen i status queued. Fråga site_audit_get (fältet live) eller site_audit_history upprepade gånger tills status är complete. Nekas med ett valideringsfel när granskningen är avstängd i site_audit_settings_update, när en annan granskning redan är köad eller igång, när en manuell granskning startades de senaste 24 timmarna, och på planen Free när någon granskning körts de senaste 30 dagarna (misslyckade och avbrutna räknas inte). Overifierade webbplatser utan händelser är också begränsade till en granskning per dag och domän. Genomsökta sidor begränsas av planen (Free 100, Pro 1 000, Business 10 000). Kontrollera can_run i site_audit_get först. Kräver content.write.

Behörighet: content.write

Exempel
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 Lista en webbplats granskningar, de nyaste först site_audit_history

Listar webbplatsens granskningar, nyaste först, var och en med id (aud_...), status (queued, running, analyzing, complete, partial, failed eller canceled), trigger (first, scheduled eller manual), score (0 till 100, null tills avslutad), score_band, page_limit, pages_crawled, urls_discovered, errors, warnings, notices, new_issues, fixed_issues, failure (orsak vid failed, annars null) och tidsstämplarna. Filtrera med status. Sidindelad med page och per_page (max 100). Använd id:na med site_audit_get, site_audit_compare och verktygen för problem och sidor. För det aktuella tillståndet för en granskning använd site_audit_get. Kräver analytics.read.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/audit/history.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/audit.json Hämta översikten av webbplatsgranskningen: poäng, antal, största problem efter trafik och granskningen som körs nu site_audit_get

Översikten över SEO-granskningen av webbplatsen, det bästa första anropet för frågor om granskningen. Som standard beskriver den den senaste avslutade granskningen, eller ange audit_id (aud_..., från site_audit_history) för en äldre. Resultatet har audit (den avslutade granskningen med score 0 till 100, score_band, score_delta, antal errors, warnings och notices, pages_crawled, page_limit, capped, summary och robots-uppgifter, eller null om ingen har avslutats), live (granskningen som körs nu, eller null), enabled och next_run_at (schemat), can_run med run_blocked (live, disabled eller too_soon) och run_allowed_at (när site_audit_run tillåts igen), changes (antal tillagda och åtgärdade URL:er per allvarlighetsgrad), trend (upp till 30 senaste poäng som id, finished_at, score), top_issues (upp till 10 kontroller rangordnade efter allvarlighetsgrad och därefter sidvisningar för berörda sidor) och email_enabled (din egen inställning för sammanfattningsmejl). Följ upp med site_audit_issues_list för varje problem och site_audit_pages_list för URL:er. Kräver analytics.read.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/audit.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"

Webhooks

GET /workspaces/:workspace_id/webhooks/:webhook_id/deliveries.json Lista leveranser för en webhook webhook_deliveries_list

Listar leveranserna som skickats till en webhook (sökvägen tar webhook_id), nyaste först och med sidindelning. Varje har id (whd_...), event, status (pending, succeeded för varje 2xx-svar, eller failed), status_code (null när inget svar kom), error (en kort orsak som en timeout, annars null), attempt (hur många försök hittills), duration_ms, payload (JSON-datan som skickades), response_body (de första 2000 tecknen av svaret) samt delivered_at och created_at. Filtrera med status succeeded eller failed. Använd den för att felsöka en endpoint och webhook_deliveries_redeliver för att skicka en igen.

Behörighet: workspace.manage

Exempel
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 Skicka en leverans igen webhook_deliveries_redeliver

Skickar nyttolasten från en tidigare leverans igen som en ny leverans till samma endpoint (id whd_..., från webhook_deliveries_list). Detta gör en HTTP-förfrågan till kundens URL, så mottagaren kan behandla samma händelse två gånger. Den har en frekvensgräns per arbetsyta (delad med webhooks_test). Den köas, så svaret är en ny leverans med status pending, läs webhook_deliveries_list för att se utfallet.

Behörighet: workspace.manage

Exempel
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 Lägg till en webhook-endpoint webhooks_create

Lägger till en endpoint som tar emot POSTad JSON för arbetsytans händelser (sökvägen tar workspace_id). url måste vara en publik https-adress, privata och interna adresser nekas. events är en obligatorisk lista vald bland 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 och site_audit.completed. enabled är true som standard. En signeringshemlighet (whsec_...) genereras och returneras i svaret, och varje leverans har ett Privatus-Signature-huvud med en tidsstämpel och en HMAC-SHA256 av innehållet gjord med den. Misslyckade leveranser görs om med uppbackning och endpointen stängs av efter 20 misslyckanden i rad. Använd webhooks_test för att skicka ett exempel.

Behörighet: workspace.manage

Exempel
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 Ta bort en webhook webhooks_delete

Raderar en webhook-endpoint och hela dess leveranslogg. Det går inte att ångra och väntande omförsök upphör. För att pausa den i stället använd webhooks_update med enabled false. Id (wh_...) kommer från webhooks_list. Returnerar den raderade webhooken.

Behörighet: workspace.manage

Exempel
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 Lista webhooks webhooks_list

Listar en arbetsytas utgående webhook-endpoints (sökvägen tar workspace_id), äldst först. Varje har id (wh_...), url, events (händelsenamnen den tar emot), enabled, status (active, failing efter nyliga misslyckanden, eller disabled), secret (signeringshemligheten, behandla den som känslig), consecutive_failures, last_success_at, last_failure_at och created_at. Kräver behörigheten workspace.manage. Detta är för att skicka råa händelser till din egen server. För att meddela personer använd notification_channels_list. Använd webhook_deliveries_list för vad som skickats.

Behörighet: workspace.manage

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/webhooks.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /workspaces/:workspace_id/webhooks/:id.json Hämta en webhook webhooks_get

Returnerar en webhook-endpoint via id (wh_..., från webhooks_list), inklusive dess signeringshemlighet (whsec_...), som används för att verifiera huvudet Privatus-Signature på varje leverans. Fälten är url, events, enabled, status (active, failing eller disabled), secret, consecutive_failures, last_success_at, last_failure_at och created_at. Kräver behörigheten workspace.manage.

Behörighet: workspace.manage

Exempel
curl https://privatusanalytics.com/workspaces/:workspace_id/webhooks/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /workspaces/:workspace_id/webhooks/:id/test.json Skicka en testleverans webhooks_test

Köar en webhook.test-leverans med ett exempelmeddelande till en endpoint, även när den är avstängd, vilket gör en HTTP-förfrågan till kundens URL. Den har en frekvensgräns per arbetsyta (delad med webhook_deliveries_redeliver) och ett test görs inte om. Leveransen skickas i bakgrunden, så svaret returnerar den köade leveransen med status pending. Läs webhook_deliveries_list en stund senare för att se status_code, error, duration_ms och response_body.

Behörighet: workspace.manage

Exempel
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 Uppdatera en webhook (händelser, URL, aktiverad, rotera hemlighet) webhooks_update

Ändrar en webhook (id från webhooks_list). Bara de värden du skickar ändras. Om du skickar events ersätts hela listan. Att sätta enabled true på en avstängd endpoint nollställer dess felräknare, vilket är hur du slår på en som stängts av efter upprepade misslyckanden. Sätt rotate_secret true för att generera en ny signeringshemlighet, som visas i svaret, och den gamla slutar fungera direkt så mottagaren måste uppdateras. Reglerna för url är desamma som för webhooks_create. Returnerar webhooken.

Behörighet: workspace.manage

Exempel
curl -X PATCH https://privatusanalytics.com/workspaces/:workspace_id/webhooks/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Widgets

POST /sites/:site_id/testimonials/widgets/:id/copied.json Notera att den inklistrade HTML-inbäddningen av en widget kopierades testimonial_widgets_mark_copied

Den inklistrade HTML:en uppdateras inte av sig själv. Efter detta anrop rapporterar testimonial_widgets_embed hur många gånger widgeten ändrats sedan dess.

Behörighet: content.write

Exempel
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 Skapa en widget testimonial_widgets_create

Ett anrop bär hela widgeten: layouten och dess alternativ, vad som matar den, vad varje kort visar och hur den ser ut. Allt som utelämnas börjar från ett standardvärde, och en tom stilinställning ärver varumärkespaketet. Följ upp med testimonial_widgets_embed för att få koden att klistra in.

Behörighet: content.write

Exempel
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 Flytta en widget till papperskorgen testimonial_widgets_trash

Dess inbäddningar renderar ingenting och tar ingen plats tills den återställs. Den raderas för gott efter 30 dagar. Över MCP ändrar verktyget ingenting och svarar med sidan i appen där en person gör det.

Behörighet: content.write · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Kopiera en widget med varje inställning testimonial_widgets_duplicate

Skapar en kopia med ett nytt id och namnet slutande på "copy". Kopian har sin egen inbäddningskod och har inte setts live någonstans. Originalet ändras inte.

Behörighet: content.write

Exempel
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 Hämta en widgets inbäddningskod och vad den väger testimonial_widgets_embed

Returnerar skriptkoden (rekommenderad), den inklistrade HTML:en, ramkoden och adressen till de offentliga data, med uppmätt storlek på laddarskriptet och på denna widget. Den inklistrade HTML:en och ramen är null för hörnpopupen.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/widgets/:id/embed.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/testimonials/widgets.json Lista en webbplats widgets testimonial_widgets_list

Widgets i papperskorgen listas inte. Varje widget innehåller sina inställningar, hur många kundomdömen den visar nu, sina visningar och klick de senaste 30 dagarna och första sidan den sågs live på.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/widgets.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/testimonials/widgets/:id/installs.json Lista sidorna en widget sågs live på testimonial_widgets_installs

Upp till 50 sidor, nyaste först. Bara skriptet och ramen kan upptäckas.

Behörighet: analytics.read

Exempel
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 Återställ en widget från papperskorgen testimonial_widgets_restore

Den kommer tillbaka överallt där den klistrats in.

Behörighet: content.write

Exempel
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 Hämta en widget med varje inställning, vad den visar och var den är live testimonial_widgets_get

Allt som byggaren lagrar: layouten och dess alternativ, vad som matar widgeten (en samling, en sparad vy, taggar eller en handplockad lista), vad varje kort visar, stilen, språket och recensionsmarkeringen, med var den sågs live och hur många kundomdömen den visar nu. En widget i papperskorgen svarar med 404.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/widgets/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/testimonials/widgets/:id.json Ändra en widget testimonial_widgets_update

Bara de skickade indata ändras. En sparad ändring når varje webbplats som widgeten finns på utan att deras kod rörs, eftersom dess cachade kopior rensas.

Behörighet: content.write

Exempel
curl -X PATCH https://privatusanalytics.com/sites/:site_id/testimonials/widgets/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'

Ångralista för omdömen

GET /sites/:site_id/testimonials/settings/undo.json Lista vad som ändrats de senaste 7 dagarna och kan ångras testimonial_undo_records_list

Nyaste först. Varje post säger vad som kördes, vem som körde det, hur många det ändrade och hoppade över och varför, och till när det kan ångras.

Behörighet: analytics.read

Exempel
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 Läs en ångrapost testimonial_undo_records_get

För en körning i bakgrunden är state running och processed säger hur långt den har kommit.

Behörighet: analytics.read

Exempel
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 Ångra en massåtgärd eller en enskild ändring inom 7 dagar testimonial_undo_records_undo

Sätter tillbaka det tidigare värdet på allt som körningen ändrade. Det som ändrats igen sedan dess lämnas orört och räknas i left. En sammanslagning av personer eller dubbletter ångras på samma sätt. Över MCP körs inte en ångring som skulle radera eller flytta till papperskorgen (ångra av en återställning, av en översättningskörning och av en bildskapandekörning): verktyget svarar med human_only och sidan i appen där en person gör det.

Behörighet: content.write

Exempel
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 '{…}'

Översättningar av omdömen

POST /sites/:site_id/testimonials/translations.json Översätt kundomdömen till språken som en webbplats erbjuder testimonial_translations_create

Anropa testimonial_translations_estimate först. Detta skickar body, title och highlight för de valda kundomdömena till Google Cloud Translation (aldrig ett namn, en e-postadress eller ett företag), och medlemmen får ett e-postmeddelande om att en assistent startade det. Översättningen sker i bakgrunden, och en rad som redan är lagrad hämtas aldrig igen. Vid månadens teckenkvot lagras resten som väntande och fortsätter den 1:a. Svarar med 402 plan_limit under Business, och med 422 not_configured medan översättning inte är konfigurerad.

Behörighet: content.write

Exempel
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 Ta bort en lagrad översättning testimonial_translations_delete

Kundomdömet visas med sina egna ord igen överallt där det språket användes. Tecken som redan förbrukats på det återlämnas inte. Fungerar på varje plan. Över MCP ändrar verktyget ingenting och svarar med sidan i appen där en person gör det.

Behörighet: content.write · Endast HTTP (inte ett MCP-verktyg)

Exempel
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 Räkna tecknen som en översättningskörning skulle skicka, innan den körs testimonial_translations_estimate

Ange vilka kundomdömen på ett sätt: testimonial_ids, collection_id eller all_approved. Svaret ger kundomdömena, tecknen som skulle skickas, tecknen som redan är lagrade och vad som är kvar av månaden. Det anger tecken, aldrig ett pris. Inget hämtas.

Behörighet: analytics.read

Exempel
curl https://privatusanalytics.com/sites/:site_id/testimonials/translations/estimate.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/testimonials/translations.json Lista en webbplats lagrade översättningar testimonial_translations_list

En rad per kundomdöme och språk, senast ändrad först, 25 per sida. Filtrera efter language, state, origin eller testimonial_id. Fungerar på varje plan, så översättningar gjorda före en nedgradering kan fortfarande läsas.

Behörighet: analytics.read

Exempel
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 Skriv eller rätta en översättning för hand testimonial_translations_update

Raden markeras som redigerad, och en senare körning skriver inte över den om inte overwrite_edited skickas. Inget hämtas och inget räknas mot kvoten. Originalet ändras aldrig. Business och uppåt (402 plan_limit annars).

Behörighet: content.write

Exempel
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 '{…}'