Docs
De docs doorbladeren

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.

Als Markdown bekijken

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

Alle bewerkingen

Authenticatie

Stuur Authorization: Bearer pat_… mee. Maak tokens aan onder Werkruimte-instellingen, API-tokens. Authenticatiegids.

Overal JSON

Voeg .json toe aan elk pad. Antwoorden zijn { "data": … } en fouten zijn { "error": { "code", "message" } }. Fouten.

MCP

POST JSON-RPC naar https://privatusanalytics.com/mcp met hetzelfde token. Elke onderstaande bewerking is een tool. MCP-gids.

openapi.json downloaden · 527 bewerkingen

API-tokens

POST /workspaces/:workspace_id/api_tokens.json Maak een API-token aan (het token wordt één keer getoond) api_tokens_create

Maakt een API-token aan voor het aanroepende lid in een werkruimte en geeft het geheim precies één keer terug in het veld token. Kopieer het meteen, want het kan niet opnieuw worden uitgelezen en een kwijtgeraakt token moet worden ingetrokken en opnieuw aangemaakt. Een token kan alleen beperken wat zijn lid mag doen. permissions is standaard gelijk aan alle eigen rechten van het lid als je het weglaat (een expliciet lege lijst wordt geweigerd en een recht aanvragen dat je zelf mist is een fout). site_ids accepteert publieke site-id's (pa_...) en beperkt het token tot die sites. Als het leeg is, werkt het token voor elke site waartoe zijn lid toegang heeft (of behoudt het de sitelijst van het token dat deze aanroep doet). expires_at is optioneel en een ISO 8601-datum. Die moet in de toekomst liggen en maximaal 3 jaar vooruit, laat hem weg voor een token dat nooit verloopt. allowed_ips beperkt het token tot die IP's of CIDR-bereiken. Een token dat deze aanroep doet, heeft tokens.manage nodig. Een werkruimte die tweestapsverificatie vereist, weigert tokens voor leden zonder eigen tweede factor. Geeft dezelfde velden terug als api_tokens_list plus token.

Machtiging: member · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Trek een API-token in api_tokens_delete

Trekt een API-token onmiddellijk en definitief in. Verzoeken die het gebruiken mislukken vanaf dat moment en een ingetrokken token kan niet worden hersteld, maak in plaats daarvan een nieuw aan. Het tokenrecord blijft in de lijst staan met status revoked (gebruik api_tokens_list met include_revoked om het te zien) en een al ingetrokken token opnieuw intrekken verandert niets. Neem de id (een uuid) uit api_tokens_list. Je kunt je eigen tokens intrekken. Het token van iemand anders intrekken vereist tokens.manage en bereik over elke site die het token dekt. Een token dat dit aanroept, heeft tokens.manage nodig. Geeft het ingetrokken token terug zonder geheim.

Machtiging: member · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 API-tokens weergeven api_tokens_list

Toont de API-tokens van een werkruimte, nieuwste eerst en gepagineerd. Zonder het recht tokens.manage zie je alleen je eigen tokens, met dat recht zie je die van alle leden. Ingetrokken en verlopen tokens zijn verborgen tenzij include_revoked true is. Elk item heeft id (uuid, gebruikt door api_tokens_delete), name, token_prefix (de eerste tekens, om een token te herkennen), owner (het e-mailadres van het lid), permissions (namen zoals analytics.read), site_ids (publieke site-id's pa_..., een lege array betekent elke site waartoe de eigenaar toegang heeft), allowed_ips, oauth_client (de naam van de gekoppelde app als het token via OAuth is uitgegeven, anders null), status (active, expired of revoked), expires_at, last_used_at, revoked_at en created_at. Het geheim zelf wordt hier nooit teruggegeven, token is in een lijst altijd null. Het wordt maar één keer getoond door api_tokens_create.

Machtiging: member

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

Aangepaste testimonial-eigenschappen

POST /sites/:site_id/testimonials/settings/properties.json Voeg een aangepaste eigenschap toe aan een site testimonial_properties_create

Een site heeft maximaal 20 actieve eigenschappen. De sleutel ligt vast zodra hij is gemaakt, omdat formulierlinks, regels en de API hem gebruiken. Laat hem weg en hij wordt voorgesteld op basis van het label.

Machtiging: sites.manage

Voorbeeld
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 Verwijder een aangepaste eigenschap en haar waarden definitief testimonial_properties_destroy

Dit kan niet ongedaan worden gemaakt. Het verwijdert de eigenschap en haar waarde van elke testimonial. confirm is de sleutel. Een eigenschap die door een slimme collectie of een autotagregel wordt gebruikt kan niet worden verwijderd zolang ze hem gebruiken. Archiveren is de alledaagse manier om er een te laten rusten.

Machtiging: sites.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Toon de aangepaste eigenschappen van een site, in weergavevolgorde testimonial_properties_list

Elke zegt zijn sleutel, type en keuzes, hoeveel testimonials een waarde hebben (filled), of zijn type nog kan veranderen en welke slimme collecties en autotagregels hem gebruiken.

Machtiging: analytics.read

Voorbeeld
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 Wijzig, herorden, archiveer of haal een aangepaste eigenschap terug testimonial_properties_update

Alleen de invoer die je stuurt wijzigt iets. Een keuze hernoemen hernoemt haar op elke testimonial die haar heeft. Een eigenschap die door een slimme collectie of een autotagregel wordt gebruikt kan niet worden gearchiveerd zolang ze hem gebruiken.

Machtiging: sites.manage

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

Aanvragen voor eigen domeinen van testimonials

POST /sites/:site_id/testimonials/settings/custom_domain.json Vraag een eigen domein aan voor een wall of formulieren testimonial_custom_domain_requests_create

Eigen domeinen voor testimonials worden met de hand ingesteld door het team van Privatus Analytics. Dit slaat de aanvraag op en informeert het team, dat de DNS-record e-mailt die moet worden toegevoegd. De hostnaam werkt niet tot de status van de aanvraag active is. Business en hoger: andere abonnementen krijgen 402 plan_limit.

Machtiging: sites.manage

Voorbeeld
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 Trek een aanvraag voor een eigen domein in, met zijn hostnaam testimonial_custom_domain_requests_delete

Alleen een aanvraag waar het team nog niet aan is begonnen (status requested) kan worden ingetrokken. Een aanvraag die in behandeling is reageert met wrong_state. Via MCP wijzigt de tool niets en reageert hij met de pagina van de app waar een persoon het doet.

Machtiging: sites.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Toon de aanvragen voor eigen domeinen van een site testimonial_custom_domain_requests_list

Elke aanvraag voor een hostnaam op een wall of op formulieren, nieuwste eerst, met zijn status. De hostnaam werkt pas zodra de status active is. Werkt op elk abonnement, zodat eerdere aanvragen nog kunnen worden gelezen.

Machtiging: analytics.read

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

Abonnementen

GET /plans.json Abonnementen, prijzen en limieten weergeven plans_list

Toont de openbare abonnementen (free, pro, business en enterprise) met hun limieten en prijsniveaus, zodat je geldige waarden kunt kiezen voor billing_checkout, billing_preview en billing_change_plan. Elk abonnement heeft name, events (inbegrepen gebeurtenissen per maand, null voor gelaagde of aangepaste abonnementen), badge_bonus (extra maandelijkse gebeurtenissen van de badge, alleen Free, anders null), limits (een object met abonnementslimieten zoals sites, ledenplekken, bewaartermijn van de geschiedenis in maanden, doelen per site, AI-vragen en API-verzoeken per uur), tiers (elk met gebeurtenissen per maand en de maandelijkse en jaarlijkse prijs in hele USD, inclusief btw of omzetbelasting) en contact_sales (true voor aangepaste abonnementen). Het meta-object voegt currency toe, een opmerking over jaarprijzen, counted (wat als factureerbare gebeurtenis telt) en not_counted. Gebruik billing_get voor het eigen abonnement van één werkruimte. Openbaar, geen authenticatie nodig.

Machtiging: public

Voorbeeld
curl https://privatusanalytics.com/plans.json
DELETE /sites/:site_id/subscriptions/connections/:provider.json Een betaalprovider ontkoppelen en de sleutel en abonnementsgegevens verwijderen subscriptions_disconnect

Ontkoppelt een betalingsprovider (stripe, paddle, lemon_squeezy, chargebee of polar) van een site en verwijdert de opgeslagen API-sleutel en elke abonnementsrij die ermee is gelezen definitief. Dit kan niet ongedaan worden gemaakt en de cijfers voor MRR, churn en cohorten laten de abonnementen van die provider direct vallen. Mislukt als die provider niet is gekoppeld. Geeft de verwijderde koppeling terug. Vereist sites.manage.

Machtiging: sites.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Abonnementen nu lezen bij een betaalprovider subscriptions_sync

Zet een directe synchronisatie van abonnementen van één gekoppelde provider (stripe, paddle, lemon_squeezy, chargebee of polar) in de wachtrij in plaats van op het reguliere schema te wachten. Het antwoordt meteen (HTTP 202) met de koppeling en de synchronisatie draait op de achtergrond. Poll subscriptions_report of controleer last_synced_at en last_error op de koppeling. Rapporten worden maximaal 15 minuten gecachet. Mislukt als de provider niet is gekoppeld. Vereist sites.manage.

Machtiging: sites.manage

Voorbeeld
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 Cohortraster: churn of retentie per maand van de eerste betaling subscriptions_cohorts

Het churncohortraster voor de abonnementen van de site, één rij per maand van eerste betaling. months is 6, 12 (standaard) of 24 cohorten. plan houdt alleen de abonnementen van één plan over (zie plans in subscriptions_report). metric is subscriptions (aantal) of mrr (geld). view is churn (het aandeel dat op dat punt was beëindigd, standaard) of retention (het aandeel dat nog loopt). Geeft metric, view, months, plan (het filter, of null), currency en cohorts terug, elk met month (YYYY-MM), size (abonnementen, of MRR in kleinste eenheden van de valuta van de site) en cells, waarbij elke cel offset heeft (maanden sinds de cohortmaand, 0 is de eerste), retained (dezelfde eenheid als size) en percent (0 tot 100, null voor een leeg cohort). Proefperiodes die nooit betaalden, zitten in geen enkel cohort. Gebruik subscriptions_report voor MRR, ARR en churn in kerncijfers. Vereist analytics.read.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/subscriptions/cohorts.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/subscriptions.json Abonnementscijfers: MRR, ARR, MRR-bewegingen, churn, omzetretentie, proefperiodes, abonnementen en een prognose subscriptions_report

Abonnementsmetrics voor de site, gelezen uit zijn gekoppelde Stripe-, Paddle-, Lemon Squeezy-, Chargebee- of Polar-account. months is 6, 12 (standaard) of 24. plan houdt alleen de abonnementen van één plan over, genoemd zoals plans ze opsomt. Geldvelden zijn gehele getallen in kleinste eenheden van de valuta van de site (de currency van het antwoord), waarbij andere valuta's tegen de koers van vandaag worden omgerekend. Het resultaat heeft currency, connected (false als er geen provider is gekoppeld), plan (het planfilter, of null), connections (één per gekoppelde provider met provider, account_name, sandbox, status, last_error, last_synced_at en created_at, nooit een sleutel), skipped_currencies (valuta's zonder koers, waarvan het geld niet wordt meegeteld), totals, series, forecast en plans. totals heeft mrr_minor, arr_minor, previous_mrr_minor (MRR van 30 dagen geleden), active_subscriptions, arpa_minor (null zonder abonnementen), trialing, trial_conversion_rate (percentage van de proefperiodes die in de laatste 90 dagen eindigden en betaalden, null als er geen eindigde), en voor de laatste 30 dagen new_subscriptions, new_mrr_minor, expansion_mrr_minor, contraction_mrr_minor, churned_subscriptions, churned_mrr_minor, net_new_mrr_minor, quick_ratio (nieuwe plus expansion-MRR voor elke eenheid verloren churned- plus contraction-MRR, null als er niets verloren ging), subscription_churn_rate en mrr_churn_rate (percentage, null zonder basis). Het heeft ook net_revenue_retention en gross_revenue_retention (percentage van wat de abonnementen die 12 maanden geleden betaalden toen betaalden en nu nog betalen, met en zonder upgrades, null zonder basis) en forecast_mrr_minor (MRR over 12 maanden, null zonder prognose). series heeft één rij per maand (month als YYYY-MM) met mrr_minor, active_subscriptions, dezelfde bewegingsvelden en churn_rate. forecast heeft één rij per maand voor de komende 12 maanden (month, mrr_minor), geprojecteerd uit de laatste drie volledige maanden, en is leeg zonder drie volledige maanden die met MRR begonnen. plans somt maximaal 50 plannen op naar MRR met plan (null voor abonnementen waarvoor de provider geen plannaam gaf), mrr_minor, active_subscriptions, churned_subscriptions en subscription_churn_rate (laatste 30 dagen), altijd voor elk plan. Een abonnement telt vanaf zijn eerste betaling. Upgrades en downgrades zijn bekend vanaf de eerste synchronisatie, en daarvoor gebruiken eerdere maanden de prijs die een abonnement had toen het voor het eerst werd gelezen. Gebruik subscriptions_cohorts voor retentie per maand van eerste betaling. Vereist analytics.read.

Machtiging: analytics.read

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

Account

GET /account.json Je profiel en voorkeuren ophalen account_get

Geeft het eigen profiel en de voorkeuren van het ingelogde lid terug. Gebruik het om instellingen te lezen voordat je ze wijzigt met account_update. Dit gaat over de persoon, niet over een werkruimte. Het abonnement en de facturen van de werkruimte vind je onder billing_get. De velden zijn email, unconfirmed_email (ingesteld zolang een e-mailwijziging op bevestiging wacht, anders null), name (nullable), theme (system, light of dark), default_landing (sites of last_site), locale (taalcode voor de ingelogde app), timezone (IANA-naam, nullable), shortcuts_enabled, reduce_motion, product_emails, site_audit_emails, marketing_emails, newsletter (allemaal booleans waarbij true betekent dat je bent aangemeld), two_factor (boolean), passkeys (aantal geregistreerde passkeys) en created_at (ISO 8601). Een sessie die alleen via de identiteitsprovider van een werkruimte is geopend, ziet alleen email en de weergave-instellingen.

Machtiging: member

Voorbeeld
curl https://privatusanalytics.com/account.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /account.json Je profiel en voorkeuren bijwerken account_update

Werkt het eigen profiel, de weergavevoorkeuren en de e-mailabonnementen van het ingelogde lid bij. Alleen de invoer die je meestuurt verandert, al het andere blijft zoals het is. Het wijzigen van email gaat niet direct in. Er wordt een bevestigingsmail naar het nieuwe adres gestuurd (met beperking op de frequentie) en unconfirmed_email toont het openstaande adres totdat het is bevestigd. API-tokens kunnen het e-mailadres niet wijzigen en kunnen marketing_emails na een afmelding niet weer aanzetten, beide vereisen een ingelogde browser. Marketing_emails uitzetten is toegestaan. Sessies die door een identiteitsprovider van een werkruimte zijn geopend, mogen alleen de weergave-instellingen wijzigen (theme, default_landing, locale, timezone, shortcuts_enabled, reduce_motion). Geeft het bijgewerkte account terug in dezelfde vorm als account_get. Dit verwijdert het account niet en kan geen werkruimte-instellingen wijzigen.

Machtiging: member

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

Advertentiemateriaal

POST /sites/:site_id/experiments/ads/:ad_placement_id/creatives.json Voeg advertentiemateriaal toe aan een advertentieplaatsing ad_creatives_create

Voegt een afbeelding toe met de vorm van de plaatsing (minstens haar formaat, twee keer zo groot ziet er het scherpst uit) en het adres waar een klik heen gaat. Stuur de afbeelding als multipart-bestand, of image_url om hem te laten downloaden. Hij wordt op de achtergrond verwerkt, dus vraag ad_creatives_get op totdat state ready is. Een planning, apparaten en paden zijn Pro en hoger. Vereist content.write.

Machtiging: content.write

Voorbeeld
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 Verwijder een advertentiemateriaal-item en zijn afbeelding ad_creatives_delete

Verwijdert een item en zijn afbeelding definitief. Een item dat een experiment vergelijkt kan niet worden verwijderd: zet het in plaats daarvan uit. De MCP-tool voert dit niet uit en antwoordt met human_only en de pagina waar een persoon het verwijdert. Vereist content.write.

Machtiging: content.write · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Haal één advertentiemateriaal-item op met zijn status ad_creatives_get

Een item is processing totdat zijn afbeelding is gemaakt, daarna ready (of failed, met de reden in error). Vereist analytics.read.

Machtiging: analytics.read

Voorbeeld
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 Wijzig een advertentiemateriaal-item ad_creatives_update

Wijzigt de link, het gewicht, de planning of de targeting, zet het uit (active false) of vervangt de afbeelding. Alleen opgegeven invoer verandert. Een nieuwe afbeelding vervangt de oude zodra hij klaar is. Vereist content.write.

Machtiging: content.write

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

Advertentieplaatsingen

POST /sites/:site_id/experiments/ads.json Maak een advertentieplaatsing ad_placements_create

Maakt een plek van één formaat op de site. Stuur size (een gangbaar formaat zoals medium_rectangle of leaderboard) of width en height in pixels. key is de naam waarmee de tag op de site de plek aanduidt en wordt uit de naam gemaakt als je hem weglaat. Voeg daarna advertentiemateriaal toe met ad_creatives_create en plaats de tag uit ad_placements_embed op de site. Vereist content.write.

Machtiging: content.write

Voorbeeld
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 Verwijder een advertentieplaatsing met haar advertentiemateriaal ad_placements_delete

Verwijdert een plaatsing definitief, met haar advertentiemateriaal en hun afbeeldingen, haar advertentie-experimenten en hun resultaten en haar sponsorlinks. De tag op de site tekent dan niets meer. De MCP-tool voert dit niet uit en antwoordt met human_only en de pagina waar een persoon het verwijdert. Vereist content.write.

Machtiging: content.write · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Haal de tag op die een plaatsing op de site toont ad_placements_embed

Het loader-script (eenmaal per pagina) en de plek voor deze plaatsing, als html om te plakken. De plek behoudt haar formaat voordat de loader draait. Vereist analytics.read.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/experiments/ads/:id/embed.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/experiments/ads.json Toon de advertentieplaatsingen van een site met hun laatste 30 dagen ad_placements_list

Elke plaatsing met sleutel, formaat, aantal advertentiemateriaal-items en statistieken (impressions, viewable impressions, clicks en ctr, het klikpercentage per zichtbare vertoning) over de laatste 30 dagen. Vereist analytics.read.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/experiments/ads.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/experiments/ads/:id.json Haal een plaatsing op met de cijfers van elk advertentiemateriaal ad_placements_get

De plaatsing, haar advertentiemateriaal met statistieken over de periode (7d, 30d of 90d) en de cijfers van de plaatsing dag voor dag. humans_only houdt alleen over wat de botscore als waarschijnlijk menselijk bestempelt (Pro en hoger). Vereist analytics.read.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/experiments/ads/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/experiments/ads/:id.json Wijzig een advertentieplaatsing ad_placements_update

Wijzigt de naam, sleutel, het formaat of het label. Alleen opgegeven invoer verandert. Een nieuwe sleutel vraagt om de nieuwe tag op de site. Vereist content.write.

Machtiging: content.write

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

Affiliateprogramma

GET /account/affiliate/commissions.json Je affiliatecommissies weergeven affiliate_commissions_list

Commissies, terugvorderingen na terugbetalingen en chargebacks, en terugboekingen, nieuwste eerst. Bedragen zijn in centen.

Machtiging: member

Voorbeeld
curl https://privatusanalytics.com/account/affiliate/commissions.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /account/affiliate/signup-box.json De code en resultaten van je affiliate-aanmeldvak ophalen affiliate_signup_box_get

De insluitcode voor je aanmeldvak (een script en een gewone iframe) voor het gekozen thema, de attributen die het formulier vooraf invullen, de gebeurtenissen die het script op je pagina afvuurt en de cijfers van het vak: aanmeldingen die nog bevestigd moeten worden, bevestigde aanmeldingen en betalende klanten. available is false totdat je affiliate-aanvraag is goedgekeurd.

Machtiging: member

Voorbeeld
curl https://privatusanalytics.com/account/affiliate/signup-box.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /account/affiliate.json Je affiliatestatus, verwijzingslink en statistieken ophalen affiliate_get

De status van je affiliate-aanvraag, je verwijzingslink, de aanmeldingen en betalende klanten die je hebt doorverwezen, en de saldi per valuta (in de wacht, uitbetaalbaar, uitbetaald). status is none als je geen aanvraag hebt gedaan.

Machtiging: member

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

Analytics

GET /sites/:site_id/clicks.json Klikkaart: de meest aangeklikte elementen van de site, of van één pagina met het aandeel van de bezoeken dat elk element aanklikte clicks_list

Klikken per element uit de klikkenmodule van de tracker. Een element is een korte CSS-selector (tag, id en maximaal twee klassen, hooguit vier niveaus), of [data-privatus-click="name"] als de site het een naam gaf. Geef path mee (begint met een schuine streep, zoals opgeslagen) voor één pagina: dan zijn elements {selector, clicks, visits, visit_share} en is page_visits het aantal bezoeken dat de pagina bekeek. visit_share is het percentage van die bezoeken (0 tot 100) dat het element aanklikte. Zonder path zijn elements {path, selector, clicks, visits} voor de hele site. visits telt bezoeken met minstens één klik. Geeft period, path, page_visits en elements terug, de meest aangeklikte eerst. Er wordt nooit tekst van een element, een plek op het scherm of muisbeweging verzameld. Gebruik pages_detail voor de rest van een pagina.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/clicks.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/overview.json Siteoverzicht: statistieken, grafiekreeksen, toppanelen, live bezoekers en notities stats_overview

Eén aanroep die alles teruggeeft wat de siteoverzichtspagina toont: gebruik het om een brede vraag te beantwoorden, zoals hoe het met een site gaat, in plaats van meerdere tools aan te roepen. Geeft period, metrics (visitors, visits, pageviews, views_per_visit, bounce_rate, visit_duration, revenue), interval, series (één item per tijdsvak), panels, notes en live_visitors terug. Met compare komen comparison_period, comparison, change en comparison_series erbij, net als in stats_aggregate en stats_timeseries. De eenheden komen overeen met die tools: bounce_rate is een percentage van 0 tot 100, visit_duration is de mediane actieve tijd in milliseconden, revenue is een geheel getal in kleinste eenheden (centen). panels is een object met de dimensienaam als sleutel, elk met de top 10 rijen met hun aandeel, in dezelfde rijvorm als stats_breakdown voor die dimensie. Standaard geeft het channel, referrer, page, entry_page, country, device, browser, os, utm_campaign, event en goal terug. Stuur panels om andere dimensies te kiezen (elke dimensienaam behalve prop-sleutels). notes toont annotaties in het bereik als {id, date, end_date, title, url, color}. live_visitors telt bezoekers van de afgelopen 5 minuten. Gebruik stats_breakdown voor meer dan 10 rijen van een dimensie en stats_aggregate voor één getal. Accepteert de gedeelde invoer period, compare, filters en segment.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/overview.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/experiments/external.json Experimentrapport: conversieratio per variant, uplift ten opzichte van controle en significantie (twee-proportie z-toets) experiments_report

Rapporteert een A/B-test op basis van gebeurtenisdata. Bezoeken worden toegewezen aan de variant die in een gebeurteniseigenschap wordt gevonden (de eerste waarde in het bezoek, bijvoorbeeld de eigenschap variant met de waarden control en b) en een conversie is een bezoek dat een doel voltooide. Vereiste invoer is property (sleutel in kleine letters, maximaal 64 tekens) en goal_id (een actief doel, uit goals_list). Geeft period, property, goal {id, name}, control, confidence (0.95) en variants terug. Elke variant heeft visits, conversions, conversion_rate (percentage, 0 tot 100), control (true voor de basislijn), uplift (procentuele verandering van het conversiepercentage ten opzichte van de controle, null voor de controle of als het controlepercentage 0 is), z, p_value en significant (true als p_value onder 0.05 ligt, met een z-toets voor twee proporties). De controle is de variant die je in control meegeeft, anders een variant met de naam control, anders de variant met de meeste bezoeken. Maximaal 20 varianten, drukste eerst. Zorg er eerst voor dat de site de variant als gebeurteniseigenschap verstuurt. Accepteert de gedeelde invoer period en filters. Gebruik goals_get voor een gewoon doelconversiepercentage. Vereist het Business- of Enterprise-abonnement (anders 402 plan_limit).

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/experiments/external.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/insights.json Opvallende veranderingen ten opzichte van de vorige periode, in gewone taal (grootste stijgers en dalers, veranderingen in doelconversie) insights_get

Notabele veranderingen in gewone taal voor een site, vergeleken met de vorige periode van dezelfde lengte. Geeft period, comparison_period en insights terug. De periode beslaat hele dagen tot en met gisteren, gekozen met period (7d, 14d, 28d of 30d, standaard 7d). Elk inzicht heeft dimension (total, channel, page, country of goal), metric, value, previous, current, change en sentence. change is een percentage voor aantallen en procentpunten voor het doelconversiepercentage, en sentence is een kant-en-klare Engelse zin. Het bevat het totaal aantal bezoekers en paginaweergaven, de twee grootste bewegers per dimensie (veranderingen van 20 procent of meer met minstens 10 bezoeken of weergaven) en doelen waarvan het conversiepercentage een half punt of meer is verschoven. Belangrijkste eerst, beperkt door limit (standaard 8, max 20). Resultaten worden de dag lang bewaard. Gebruik stats_aggregate en stats_breakdown voor exacte cijfers en dit om te vinden wat er is veranderd.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/insights.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/journeys.json Journeys: top 3-stapspaden na een pagina (of elke ingang), of vóór een pagina of doel journeys_explore

Verkent de meest voorkomende paginapaden van drie stappen binnen bezoeken. In de modus forward (standaard) toont het de paden na een startpagina die in path is opgegeven, of na elke ingang als path leeg is. In de modus reverse toont het de paden naar een eindpagina (path) of naar een doel (goal_id, dat automatisch naar reverse overschakelt). reverse vereist path of goal_id. path moet met een slash beginnen. Geeft period, mode, path, goal, sampled, sample_rate (percentage), total_visits en de padgrafiek met nodes en links per stap terug, beperkt tot limit pagina's per stap (2 tot 12, standaard 6). Boven 100.000 bezoeken worden de gegevens gesampled. Paginafilters worden genegeerd omdat ze paden zouden afkappen. Paden worden per bezoek opgebouwd, omdat er geen bezoekers-id wordt opgeslagen. Accepteert de gedeelde invoer period, filters en segment. Gebruik pages_detail voor de buurpagina's van één pagina en funnels_get voor conversie per stap.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/journeys.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/pages/detail.json Paginadetail: statistieken, vorige en volgende pagina's, bronnen, Web Vitals, gebeurtenissen en klikkaart voor één pad pages_detail

Eén pagina in detail. Geef path mee (moet met een slash beginnen, bijvoorbeeld /pricing), precies zoals opgeslagen (zonder querystring of host). Geeft period, path, url, metrics, previous_pages, next_pages, sources, vitals, events, clicks, goals en notes terug. metrics bevat visitors, visits, pageviews, entrances, exits, entry_rate, exit_rate en bounce_rate (percentages, 0 tot 100), time_on_page (mediaan in milliseconden) en scroll_depth (mediaan in procenten), de laatste twee null zonder betrokkenheidsgegevens. previous_pages en next_pages zijn de pagina's die in hetzelfde bezoek ervoor en erna werden gezien, als {value, count, share}, met (entrance) en (exit) als speciale waarden. sources bevat de topkanalen en verwijzers van bezoeken die op deze pagina binnenkwamen. vitals bevat p75-waarden per Web Vital met beoordelingen. events zijn aangepaste gebeurtenissen die op de pagina zijn afgevuurd, clicks zijn de meest aangeklikte elementselectors, goals zijn doelen die erop zijn voltooid en notes zijn annotaties die ernaar verwijzen. Gebruik stats_breakdown met dimension page om pagina's te rangschikken en referrers_detail voor een verwijzende site.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/pages/detail.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/referrers.json Verwijzers: de sites die naar deze site linken, met bezoekers, betrokkenheid, soort verkeer en aantal linkende pagina's referrers_list

Rangschikt de externe sites die bezoekers stuurden, met wat elk heeft gestuurd. Directe bezoeken (zonder verwijzer) worden weggelaten. Geeft period, summary, channels, page, limit, has_more en rows terug. summary bevat visitors, visits, pageviews, bounce_rate (percentage), visit_duration (mediane actieve milliseconden), revenue (kleinste eenheden, centen), sites (aantal verwijzende sites) en share (percentage van alle bezoeken dat via verwijzers kwam). channels toont de soorten verkeer als {value, visitors, visits}. Elke rij heeft value (de host van de verwijzer), visitors, visits, pageviews, bounce_rate, visit_duration, revenue, channel (het gebruikelijke kanaal), linking_pages (hoeveel verschillende pagina's van die site hiernaar linken) en share (percentage van de verwezen bezoekers). Sorteer met sort (visitors, visits, pageviews of revenue, standaard visitors), beperk met search (tekst die in de host voorkomt) en bladert met page en limit (max 100) zolang has_more true is. Gebruik referrers_detail voor één site. Accepteert de gedeelde invoer period, compare, filters en segment.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/referrers.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/referrers/detail.json Verwijzerdetail: statistieken en trend van één verwijzende site, de pagina's die linken, landingspagina's, landen, apparaten, campagnes en conversies referrers_detail

Eén verwijzende site in detail. Geef referrer mee als de host zonder www en zonder pad (bijvoorbeeld news.ycombinator.com), dezelfde waarde als in referrers_list. Geeft period, referrer, url, channel (het meest voorkomende kanaal), metrics, share (percentage van alle bezoeken), interval, series (het verkeer in de tijd), linking_pages, landing_pages, channels, countries, devices, campaigns, goals en, met compare, comparison, change en comparison_series terug. metrics en series gebruiken dezelfde velden en eenheden als stats_aggregate en stats_timeseries. linking_pages zijn de pagina's van de verwijzer die bezoekers stuurden, als rijen met path, url, visitors en share (querystrings worden nooit opgeslagen). landing_pages zijn de pagina's waar die bezoekers binnenkwamen. channels, countries, devices en campaigns zijn topwaarden met metrics, en goals toont doelen die zij voltooiden met conversions en conversion_rate. Gebruik referrers_list om verwijzende sites te rangschikken en stats_breakdown met dimension referrer voor een eenvoudige lijst.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/referrers/detail.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/stats/aggregate.json Kernstatistieken voor een periode (met vergelijking) stats_aggregate

Kerncijfers voor één periode, als één object. Geeft period {from, to} en metrics {visitors, visits, pageviews, views_per_visit, bounce_rate, visit_duration, revenue} terug. Met compare geeft het ook comparison_period, comparison (dezelfde metrics voor het andere bereik) en change (procentuele verandering per metric, null als de eerdere waarde 0 was) terug. Eenheden: bounce_rate is een percentage van 0 tot 100 (10.9 betekent 10,9%). visit_duration is de mediane actieve tijd van een bezoek in milliseconden. revenue is een geheel getal in kleinste eenheden (centen) van de valuta van de site. views_per_visit is een decimaal getal. Bezoekers worden per dag geteld omdat er geen blijvend bezoekers-id wordt opgeslagen, dus iemand die op een andere dag terugkomt, telt opnieuw mee. Gebruik dit voor totalen en verandering ten opzichte van de vorige periode. Gebruik stats_timeseries voor een grafiek in de tijd, stats_breakdown voor topwaarden van een dimensie en stats_overview voor alles in één aanroep. Beperk ze allemaal met filters (zie filters voor de dimensienamen en operators).

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/stats/aggregate.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/breakdown/:dimension.json Topwaarden van een dimensie (pagina's, bronnen, landen…) stats_breakdown

Topwaarden van één dimensie met hun metrics, belangrijkste eerst, gepagineerd. De dimensie is het laatste deel van het pad en moet een exacte naam uit de beschrijving zijn (bijvoorbeeld country, page, channel, utm_campaign, prop:plan). Geeft period, dimension, label, page, limit, has_more en rows terug. Vraag de volgende pagina op zolang has_more true is. Elke rij heeft value en share (percentage van het periodetotaal). De andere velden van een rij hangen af van de dimensie. Bezoekdimensies (channel, referrer, referrer_url, utm_*, ref, hostname, country, language, device, browser, browser_version, os, os_version, screen, entry_page, exit_page, interaction, bot_score) geven visitors, visits, pageviews, views_per_visit, bounce_rate, visit_duration en revenue. page geeft pageviews, visits, time_on_page (milliseconden) en scroll_depth (procent), zonder visitors. event en prop:<key> geven completions, visits, revenue en conversion_rate. goal geeft goal_id, completions, conversions, conversion_rate en revenue. Eenheden: bounce_rate en conversion_rate zijn percentages (0 tot 100), duren zijn milliseconden, revenue is in kleinste eenheden (centen). Een onjuiste dimensie geeft een 422 terug met de geldige namen. Gebruik search om een waarde in alle rijen te zoeken en filters om de data eerst te beperken (bijvoorbeeld pagina's die door één land zijn bezocht). Gebruik pages_detail of referrers_detail voor één pagina of één verwijzer in detail. De dimensies interaction en bot_score vereisen het Business- of Enterprise-abonnement: als uitsplitsing reageren ze met 402 plan_limit bij andere abonnementen, en een filter erop wordt weggelaten.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/breakdown/:dimension.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/stats/timeseries.json Statistieken per tijdvak voor grafieken stats_timeseries

Metrics per tijdsvak, voor grafieken en trends. Geeft period, interval (het daadwerkelijk gebruikte vak) en series terug, een lijst van {date, visitors, visits, pageviews, views_per_visit, bounce_rate, visit_duration, revenue}, één item per vak met date als ISO 8601-start van het vak. Met compare geeft het ook comparison_series voor het andere bereik, vak voor vak. De eenheden zijn dezelfde als bij stats_aggregate: bounce_rate is een percentage (0 tot 100), visit_duration is de mediane actieve tijd in milliseconden, revenue is in kleinste eenheden (centen). interval is standaard auto, wat minute, hour, day, week of month kiest passend bij het bereik. Stel het in om een vakgrootte af te dwingen. Gebruik stats_aggregate voor één totaal en stats_breakdown om op te splitsen naar een dimensie zoals country of page.

Machtiging: analytics.read

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

Assistent

POST /sites/:site_id/ask.json Stel een vraag in een nieuw gesprek (telt mee voor de maandlimiet voor AI-vragen) assistant_ask

Start een nieuw Ask-gesprek over één site en beantwoordt de eerste vraag met de analytics van die site. Gebruik het voor een vraag in gewone taal over een site. Gebruik assistant_ask_followup om een bestaand gesprek voort te zetten en de statistiektools als je de exacte query al weet. Het antwoord wordt geproduceerd door een AI-model dat zelfstandig alleen-lezen analytics-queries uitvoert, dus de aanroep kan vele seconden duren. Het telt als één AI-vraag van het maandelijkse tegoed van de werkruimte (5 op Free, 20 op Pro, 100 op Business) en mislukt met een limietfout als het tegoed op is. De vraag mag maximaal 2.000 tekens bevatten. Gesprekken zijn privé voor het lid dat ze startte en worden 30 dagen na het laatste bericht verwijderd. Geeft het gesprek terug (id, site_id, title afgeleid van de vraag, created_at, updated_at, expires_at) met een messages-array. Elk bericht heeft role (user of assistant), content (de antwoordtekst), queries (de exacte analytics-queries die de assistent uitvoerde), chart (nullable grafiekdefinitie), goal_draft (nullable voorgesteld doel), tokenaantallen en created_at. Als het antwoord mislukt, wordt het gesprek verwijderd en wordt er geen vraag geteld. Vereist analytics.read.

Machtiging: analytics.read

Voorbeeld
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 Een Ask-gesprek en de berichten ervan verwijderen assistant_conversations_delete

Verwijdert één Ask-gesprek en al zijn berichten direct en definitief. Dit kan niet ongedaan worden gemaakt. Haal de gespreks-id uit assistant_conversations_list. Alleen het lid dat een gesprek startte, kan het zien en verwijderen. Vereist analytics.read en een site_id. Geeft de samenvatting van het verwijderde gesprek terug (id, site_id, title, tijdstempels). De AI-vragen die al voor de maand zijn geteld, worden niet gecrediteerd.

Machtiging: analytics.read

Voorbeeld
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 Je Ask-gesprekken voor een site weergeven assistant_conversations_list

Toont de Ask-gesprekken van het ingelogde lid op één site, laatst bijgewerkt eerst. Gesprekken van andere leden worden nooit getoond. Gebruik het om een gespreks-id te vinden voor assistant_conversations_get, assistant_ask_followup of assistant_conversations_delete. Elk item heeft id, site_id, title (de eerste vraag, afgekapt op 80 tekens), created_at, updated_at en expires_at maar geen berichten. Gepagineerd met page en per_page (maximaal 100). Vereist analytics.read.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/ask.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/ask/:id.json Een Ask-gesprek: vragen, antwoorden, de query's erachter en grafieken assistant_conversations_get

Geeft één Ask-gesprek terug met de volledige berichtgeschiedenis. Haal de gespreks-id uit assistant_conversations_list of uit het resultaat van assistant_ask. De velden zijn id, site_id, title, created_at, updated_at, expires_at (30 dagen na het laatste bericht, daarna wordt het gesprek verwijderd) en messages. Elk bericht heeft role (user of assistant), content, queries (de analytics-queries die de assistent uitvoerde), chart (nullable), goal_draft (nullable) en input_tokens en output_tokens (nullable gehele getallen). Alleen het lid dat het gesprek startte, kan het lezen. Vereist analytics.read.

Machtiging: analytics.read

Voorbeeld
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 Stel een vervolgvraag in een gesprek (telt mee voor de maandlimiet voor AI-vragen). Geeft het antwoord terug. assistant_ask_followup

Stelt een vervolgvraag binnen een bestaand Ask-gesprek, zodat de assistent de eerdere vragen en antwoorden als context houdt. Gebruik assistant_ask om in plaats daarvan een nieuw gesprek te starten. Haal conversation_id uit assistant_conversations_list. De aanroep kan vele seconden duren omdat de assistent alleen-lezen analytics-queries uitvoert. Elke vraag telt mee voor het maandelijkse AI-vragentegoed van de werkruimte (5 op Free, 20 op Pro, 100 op Business) en mislukt met een limietfout als het op is. De vraag mag maximaal 2.000 tekens bevatten. Geeft alleen het nieuwe assistentbericht terug (niet het hele gesprek) met id, role, content (het antwoord), queries (de exacte uitgevoerde queries), chart (nullable), goal_draft (nullable), input_tokens, output_tokens en created_at. Vereist analytics.read en werkt alleen op je eigen gesprekken.

Machtiging: analytics.read

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

Auditlogboek

GET /workspaces/:workspace_id/audit_log.json Items van het auditlogboek weergeven (voeg .csv toe om te exporteren) audit_logs_get

Geeft het auditlogboek van de werkruimte terug, een gepagineerd overzicht met de nieuwste eerst van wie wat heeft gewijzigd (instellingen, leden, sites, doelen, tokens enzovoort). Het vereist het recht workspace.manage en een abonnement met auditgeschiedenis. Het Free-abonnement heeft die niet en de aanroep mislukt met een abonnementslimietfout, Pro bewaart 30 dagen, Business 365 dagen en Enterprise heeft geen limiet. Items die ouder zijn dan de bewaartermijn worden nooit teruggegeven. Filter met actor (het e-mailadres van een lid, exacte overeenkomst), item_type (het recordtype zoals Site, Goal of Membership), event (create, update of destroy), en from en to (YYYY-MM-DD, inclusief, in UTC). Elk item heeft id, created_at, event, item_type, item_id, target (een leesbaar label zoals Site: example.com), actor_email (null als de wijziging door het systeem of door een verwijderde gebruiker is gedaan), actor_name, token_name (het gebruikte API-token, null voor een browsersessie), changes (een object dat elk gewijzigd veld koppelt aan een [voor, na]-paar, met geheimen verwijderd) en ip (het adres dat het lid of de API-client gebruikte, null als onbekend). Een CSV-export van hetzelfde logboek is alleen in de app beschikbaar.

Machtiging: workspace.manage

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

Beloningen

POST /sites/:site_id/testimonials/settings/rewards/:id/copy.json Kopieer de beloning van een formulier naar andere formulieren van dezelfde site testimonial_rewards_copy

Kopieert de titel, de tekst, de code en de aan- of uitstatus van de beloning van dit formulier naar elk formulier in form_ids (1 tot 100 formulieren van dezelfde site, niet in de prullenbak). Een beloning die het doelformulier al heeft wordt vervangen. De server reageert met 422 en de code unknown_ids wanneer een id geen formulier van de site is, en dan wordt niets gekopieerd.

Machtiging: sites.manage

Voorbeeld
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 Toon de beloning van elk formulier van een site testimonial_rewards_list

Eén rij per formulier. Een formulier zonder beloning heeft enabled false.

Machtiging: analytics.read

Voorbeeld
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 Stel de beloning in die een formulier toont in zijn bedankstap testimonial_rewards_update

De id is de id van het formulier. De code is tekst die je zelf aanlevert. Privatus Analytics maakt, controleert of laat hem niet verlopen.

Machtiging: sites.manage

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

Botdetectie

GET /sites/:site_id/bot-detection.json Rapport Geavanceerde botdetectie: hits op de honeypotpagina's van de site, per pagina en per wat de bot verraadde bot_detection_report

Rapporteert de hits op de honeypotpagina's van de site. Een honeypotpagina is een pagina die alleen via een verborgen link bereikbaar is en is ingesteld als de pagina Geavanceerde botdetectie, zoals de app laat zien. Deze hits zijn bots, dus het zijn nooit paginaweergaven of bezoeken en ze verschijnen niet in stats_overview of stats_breakdown. Kies het bereik met period (7d, 30d (standaard), 90d of 12mo). Hits worden 12 maanden bewaard. Het resultaat heeft period, from (het begin van het bereik), has_data (false tot de eerste hit), totals (hits, unieke pagina's, automated (hits waarbij de tracker een geautomatiseerde browser zag) en no_interaction (hits zonder aanwijzer-, toets- of aanraakinvoer)), pages (maximaal 50 rijen met path, hits en last_hit_at), reasons (hits per uitkomst van het standaard botfilter: known_bot, automation, datacenter, empty_user_agent, referrer_spam, of undetected voor een hit die het filter als persoon zou hebben geteld) en recent (de laatste 50 hits met occurred_at, path, country, browser, device, bot_reason, automation en interacted). Bij een hit wordt geen IP-adres of User-Agent bewaard, alleen gesleutelde hashes ervan die niemand kunnen identificeren, en die worden nooit teruggegeven. Vereist analytics.read en het Business- of Enterprise-abonnement (anders 402 plan_limit).

Machtiging: analytics.read

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

Campagnes

POST /sites/:site_id/campaigns/costs.json De uitgaven voor een campagne in een maand instellen campaign_costs_create

Legt de advertentie-uitgaven voor één campagne in één maand vast, zodat campaigns_list de kosten per acquisitie en het rendement op advertentie-uitgaven kan tonen. Als er al een item voor dezelfde campagne en maand bestaat, wordt het vervangen en niet gedupliceerd, dus het is ook veilig om twee keer aan te roepen. campaign is de waarde van utm_campaign zoals die in je getrackte links staat, month is YYYY-MM (een volledige datum zoals 2026-09-15 wordt geaccepteerd en afgerond naar de eerste van de maand) en amount is in hoofdeenheden als getal (1250.50, niet in kleinste eenheden). currency is een optionele ISO-code van 3 letters en is standaard de valuta van de site. Het antwoord geeft het opgeslagen item terug met amount_minor in kleinste eenheden. Gebruik campaign_costs_import voor veel rijen tegelijk. Vereist content.write. Vereist het Business- of Enterprise-abonnement (anders 402 plan_limit).

Machtiging: content.write

Voorbeeld
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 Een campagnekostenitem verwijderen campaign_costs_delete

Verwijdert één uitgavenitem definitief, gevonden via zijn id uit campaign_costs_list. Dit kan niet ongedaan worden gemaakt en CPA en ROAS voor die campagne en maand nemen de uitgaven meteen niet meer mee. Andere maanden en campagnes blijven onaangetast. Geeft het verwijderde item terug. Vereist content.write. Vereist het Business- of Enterprise-abonnement (anders 402 plan_limit).

Machtiging: content.write

Voorbeeld
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 Campagnekosten importeren uit CSV (campaign,month,amount[,currency]) campaign_costs_import

Importeert advertentie-uitgaven in bulk uit csv, de snelle manier om veel campagnes en maanden te laden. Stuur de csv-tekst in csv (het best voor tools en API-aanroepen) of upload een bestand in file (alleen multipart). De eerste rij moet een koptekst zijn met campaign, month en amount, met een optionele kolom currency, bijvoorbeeld campaign,month,amount,currency en dan spring_sale,2026-09,1250.50,USD. Month is YYYY-MM, amount is in hoofdeenheden en currency is standaard de valuta van de site. Rijen worden per campagne en maand bijgewerkt of toegevoegd, dus hetzelfde bestand opnieuw importeren veroorzaakt geen duplicaten. De limieten zijn 1 MB en 5.000 rijen. Een foute rij stopt de import niet. Het antwoord heeft imported (aantal opgeslagen), failed (aantal afgewezen) en errors (de eerste 50 berichten, elk met de naam van zijn rij, waarbij rij 2 de eerste gegevensrij is). Een ontbrekende kolom in de koptekst, een te groot bestand of een onjuiste csv laat het hele verzoek mislukken. Vereist content.write. Vereist het Business- of Enterprise-abonnement (anders 402 plan_limit).

Machtiging: content.write

Voorbeeld
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 Campagnekostenitems weergeven campaign_costs_list

Toont de voor een site vastgelegde advertentie-uitgaven, nieuwste maand eerst en dan op campagnenaam. Elke rij is één campagne in één maand met amount_minor (een geheel getal in kleinste valuta-eenheden, dus 125050 betekent 1.250,50), currency (ISO 4217, hoofdletters), month als YYYY-MM en de id van het item (een UUID, gebruik die voor campaign_costs_update en campaign_costs_delete). Geef campaign mee om maar één campagne te zien (hoofdletterongevoelige overeenkomst met de waarde van utm_campaign). Gepagineerd met page en per_page (max 100). Kosten voeden CPA en ROAS in campaigns_list, dus hier controleer je welke uitgaven een campagne heeft. Vereist analytics.read. Vereist het Business- of Enterprise-abonnement (anders 402 plan_limit).

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/campaigns/costs.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/campaigns/costs/:id.json Een campagnekostenitem wijzigen campaign_costs_update

Wijzigt een bestaand uitgavenitem, gevonden via zijn id uit campaign_costs_list. Alleen de invoer die je meestuurt verandert, dus stuur alleen amount om een getal te corrigeren. amount is in hoofdeenheden (1250.50) en wordt opgeslagen als kleinste eenheden, month is YYYY-MM, currency is een ISO-code van 3 letters. Het wijzigen van campaign of month naar een combinatie die een ander item al heeft, mislukt met een validatiefout in plaats van samen te voegen. Roep campaign_costs_create aan om de uitgaven voor een campagne en maand te corrigeren zonder de id te kennen, dat vervangt het bestaande item. Vereist content.write. Vereist het Business- of Enterprise-abonnement (anders 402 plan_limit).

Machtiging: content.write

Voorbeeld
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 Een URL met UTM-tags opbouwen en valideren campaigns_builder

Bouwt een met UTM getagde URL voor een landingspagina en controleert de waarden. Er wordt niets opgeslagen en er worden geen gegevens gelezen, dus het is veilig om herhaaldelijk aan te roepen. Geef destination mee (een volledige https://-URL) plus utm_source, utm_medium, utm_campaign, utm_content en utm_term indien nodig, of kies een preset (newsletter, social, paid_search enzovoort) om utm_source en utm_medium in te vullen als je ze leeg laat. Geeft url (null bij een fout), valid, destination, preset, de opgeschoonde utm_*-waarden, issues (een lijst van {field, level, message}, waarbij level error de URL blokkeert en warning alleen een oplossing voorstelt, zoals kleine letters) en presets (de beschikbare presetwaarden) terug. Waarden worden opgeschoond naar kleine letters zonder spaties. Gebruik campaigns_hygiene om rommelige UTM-waarden te vinden die al in je verkeer voorkomen en campaigns_list om te rapporteren over campagnes die hebben gelopen. Gebruik links_create om een getagde link met een korte URL en klikaantallen te bewaren.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/campaigns/builder.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/campaigns/hygiene.json UTM-hygiëne: bijna-dubbele waarden, stijlproblemen en onbekende bronnen campaigns_hygiene

Vindt rommelige UTM-waarden in het verkeer van een periode zodat je de tagging kunt herstellen. Geeft period, duplicates, style_issues en unknown_sources terug. duplicates groepeert waarden van utm_source, utm_medium of utm_campaign die alleen verschillen in hoofdletters, spaties of leestekens (Facebook, facebook en face-book), elk als {field, suggestion, variants: [{value, visits}]} met de meest bezochte schrijfwijze als suggestie. style_issues toont waarden die de conventie van kleine letters en geen spaties schenden als {field, value, visits, suggestion} (maximaal 50). unknown_sources toont utm_source-waarden die geen herkend kanaal zijn als {value, visits} (maximaal 50). Alleen de top 500 waarden per veld worden gescand. Aantallen zijn bezoeken. Suggesties zijn alleen advies en er wordt niets gewijzigd. Gebruik channel_rules_create om varianten samen te voegen tot één kanaal. Accepteert de gedeelde invoer period en filters. Gebruik campaigns_list voor prestaties en campaigns_builder om nette getagde URL's te maken.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/campaigns/hygiene.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/campaigns.json Campagneoverzicht met conversies, omzet, kosten, CPA en ROAS campaigns_list

Campagneprestatierapport op basis van utm_campaign, met kosten en rendement op advertentie-uitgaven. Geeft period, currency (de valuta van de site), goal_id en goal_name (het doel waarvan de conversies worden geteld), campaigns, totals en unconverted_costs terug. Elke campagne heeft visitors, visits, conversions, conversion_rate (percentage van 0 tot 100, conversies gedeeld door bezoeken), revenue en sources (rijen per bron en medium met dezelfde metrics). Als er kosten bestaan (uit campaign_costs_list) heeft een campagne ook cost, cpa (kosten per conversie, null zonder conversies) en roas (omzet gedeeld door kosten, een verhouding zoals 2.5, null zonder kosten). Geld (revenue, cost, cpa) is een geheel getal in kleinste eenheden (centen) van de valuta van de site. Kosten worden hoofdletterongevoelig aan campagnenamen gekoppeld en naar rato verdeeld over de dagen van elke maand binnen de periode. Een campagne met kosten maar zonder verkeer wordt toch getoond. Maximaal 100 campagnes, drukste eerst. Alleen bezoeken met een utm_campaign worden meegenomen. goal_id is standaard het eerste actieve doel, dus geef het expliciet mee om een specifiek doel te meten (id's komen uit goals_list). Gebruik campaigns_hygiene om namen op te schonen en stats_breakdown met dimension utm_campaign voor een gewone verkeersverdeling.

Machtiging: analytics.read

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

Crawlers

DELETE /sites/:site_id/crawlers/connection.json Cloudflare loskoppelen en de geïmporteerde crawlerhits verwijderen crawlers_cloudflare_disconnect

Ontkoppelt Cloudflare van een site. Dit verwijdert het opgeslagen API-token en elke crawlerhit die uit Cloudflare is geïmporteerd en kan niet ongedaan worden gemaakt. Hits die uit meegezonden serverlogs kwamen, blijven staan. Het token bestaat nog in je Cloudflare-account totdat je het daar verwijdert. Mislukt als de site geen koppeling heeft. Geeft de verwijderde koppeling terug. Vereist sites.manage.

Machtiging: sites.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Nu crawlerhits importeren vanuit Cloudflare crawlers_cloudflare_sync

Zet een directe Cloudflare-import in de wachtrij voor een site die al is gekoppeld, in plaats van op het reguliere schema te wachten. Het antwoordt meteen (HTTP 202) met de koppeling en de import draait op de achtergrond. Poll crawlers_report en let op cloudflare.last_synced_at om te zien wanneer hij klaar is. Mislukt als de site geen Cloudflare-koppeling heeft. Vereist sites.manage.

Machtiging: sites.manage

Voorbeeld
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 AI-crawlerrapport: hits per crawler in de tijd, toppaden per crawler, per categorie crawlers_report

Rapporteert welke AI-, zoek- en SEO-crawlers de site ophalen, hoe vaak en welke paden, uit meegezonden serverlogs en de Cloudflare-import. Dit is crawlerverkeer, geen bezoekersverkeer, dus het verschijnt niet in stats_breakdown. category is ai (standaard), search, seo, other of all en crawler beperkt tot één bij naam genoemde bot zoals GPTBot of ClaudeBot. Kies het bereik met period (standaard 30d) of aangepaste from en to. Het resultaat heeft period (from en to als datums), category, crawler, totals (hits, unieke paden, unieke crawlers), categories (hits per categorie, het categoriefilter genegeerd), crawlers (maximaal 50 rijen met crawler, category, hits, paths), series (labels per dag en dagelijkse hits voor de top 8 crawlers), top_paths (de 10 meest opgehaalde paden voor elk van de top 8 crawlers), has_data (false totdat er hits zijn) en cloudflare (de koppeling met zone, status en last_synced_at, of null). Resultaten worden maximaal 30 minuten gecachet, behalve direct na een Cloudflare-wijziging. Vereist analytics.read.

Machtiging: analytics.read

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

Dashboards

GET /workspaces/:workspace_id/dashboards/:id/cards/:index.json Gegevens voor één kaart van een eigen dashboard dashboards_card

Geeft de live gegevens van één kaart van een aangepast dashboard terug. Dashboards zijn lijsten met kaarten (zie dashboards_get voor de kaartenlijst) en elke kaart laadt apart, dus roep dit één keer per kaart aan met zijn positie in index, geteld vanaf 0. Geeft index, type, title, site_id, site_name, params, status en data terug. status is ok, not_available (de kaart heeft niets te tonen, bijvoorbeeld een funnelkaart op een site zonder funnels of een uptimekaart zonder controles) of no_access (de kaart hoort bij een site die je token of rol niet kan openen, en dan zijn title, params en data leeg). De vorm van data hangt af van type. metric geeft {metric, value, previous, change, period} vergeleken met de vorige periode. chart geeft {metric, interval, period, series: [{date, value}]}. breakdown geeft {dimension, label, rows}. goal geeft {rows} met doelvoltooiingen. live geeft {visitors}. funnel geeft {funnel_id, name, overall_conversion_rate, steps}. uptime geeft {checks: [{name, status, uptime}]}. vitals geeft {scorecard}. subscriptions geeft {currency, mrr_minor, previous_mrr_minor (30 dagen geleden), change (procent, null zonder MRR van 30 dagen geleden), active_subscriptions, subscription_churn_rate (laatste 30 dagen)} en is not_available zolang de site geen betalingsprovider gekoppeld heeft. Kaartparams zijn standaard period 30d, metric visitors, dimension page en 5 rijen (limit is begrensd op 10). Een index buiten de lijst geeft 404 terug. Gebruik eerst dashboards_get om te zien hoeveel kaarten er zijn.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/workspaces/:workspace_id/dashboards/:id/cards/:index.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /workspaces/:workspace_id/dashboards.json Een eigen dashboard aanmaken dashboards_create

Maakt een aangepast dashboard aan in een werkruimte. Een aangepast dashboard is een benoemde, geordende lijst van maximaal 40 kaarten en de kaarten kunnen van verschillende sites van de werkruimte komen. Geef name (maximaal 100 tekens) en cards mee, een lijst van objecten met type (metric, chart, breakdown, goal, live, funnel, uptime, vitals of subscriptions), site_id (pa_..., uit sites_list) en optioneel title (maximaal 80 tekens) en params. De per type gebruikte params zijn metric (period, metric), chart (period, metric, interval), breakdown (period, dimension, limit), goal (period, limit), funnel (period, funnel_id), uptime (limit) en vitals (period). live en subscriptions gebruiken er geen. Andere params worden weggelaten. De periode moet een preset zijn zoals 30d (niet custom) en metric een van visitors, visits, pageviews, views_per_visit, bounce_rate of visit_duration. Elke kaart moet naar een site wijzen waartoe je token toegang heeft, en een token dat tot bepaalde sites is beperkt, moet minstens één kaart bevatten. Geeft het dashboard terug met id (dash_...), name, cards en tijdstempels. Lees het met dashboards_get en laad de cijfers van elke kaart met dashboards_card. Vereist het recht content.write. Het abonnement bepaalt hoeveel dashboards een werkruimte heeft: 1 op Free, 3 op Pro, onbeperkt op Business. Eén boven het aantal wordt geweigerd met een validatiefout.

Machtiging: content.write

Voorbeeld
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 Een eigen dashboard verwijderen dashboards_delete

Verwijdert een aangepast dashboard definitief. Alleen de indeling van het dashboard wordt verwijderd, er worden geen analytics-gegevens aangeraakt en er is geen undo. Je hebt toegang nodig tot elke site die een kaart op het dashboard heeft en het dashboard moet minstens één kaart van een site bevatten waartoe je toegang hebt. Geeft het verwijderde dashboard terug. Gebruik dashboards_update om in plaats daarvan een dashboard te wijzigen. Id's (dash_...) komen uit dashboards_list. Vereist het recht content.write.

Machtiging: content.write

Voorbeeld
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 Eigen dashboards weergeven dashboards_list

Toont de aangepaste dashboards van een werkruimte, gesorteerd op naam. Elk item heeft id (dash_...), name, cards en tijdstempels, dezelfde vorm als dashboards_get. Een token dat tot bepaalde sites is beperkt, ziet alleen dashboards met een kaart van een van zijn sites en kaarten van andere sites worden leeggemaakt tot {type, status: no_access}. Gepagineerd met page en per_page (max 100). Gebruik dashboards_card om de gegevens van een kaart te laden en dashboards_create om een dashboard toe te voegen. Voor één site geeft stats_overview dezelfde soort cijfers zonder dashboard.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/workspaces/:workspace_id/dashboards.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /workspaces/:workspace_id/dashboards/:id.json Een eigen dashboard en de kaarten ervan ophalen dashboards_get

Geeft één aangepast dashboard terug: id (dash_...), name, cards en created_at en updated_at. Elke kaart is {type, site_id, title, params} (type is metric, chart, breakdown, goal, live, funnel, uptime, vitals of subscriptions). Een kaart op een site waartoe je geen toegang hebt, wordt teruggegeven als {type, status: no_access} zonder andere velden. Dit geeft alleen de indeling terug, niet de cijfers. Laad de cijfers van een kaart met dashboards_card, met de positie van de kaart geteld vanaf 0. Id's komen uit dashboards_list. Een dashboard boven het aantal van het abonnement (1 op Free, 3 op Pro) blijft bewaard en wordt vergrendeld: het antwoordt 402 plan_limit totdat de werkruimte upgradet of een ander dashboard verwijdert.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/workspaces/:workspace_id/dashboards/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /workspaces/:workspace_id/dashboards/:id.json Een eigen dashboard hernoemen of de kaarten ervan vervangen dashboards_update

Hernoemt een aangepast dashboard en/of vervangt zijn hele lijst met kaarten. Alleen de velden die je meestuurt veranderen en name blijft ongewijzigd als het leeg is. Het meesturen van cards vervangt elke kaart, dus stuur de volledige lijst in de gewenste volgorde, genomen uit dashboards_get en bewerkt. Kaartindeling en params per type zijn dezelfde als bij dashboards_create (max 40 kaarten). Een kaart die wordt getoond als {type, status: no_access} hoort bij een site die je niet kunt openen. Stuur hem ongewijzigd terug om hem te behouden, hij kan niet worden bewerkt en de laatste kaart van zo'n site kan niet worden verwijderd. Een token dat tot bepaalde sites is beperkt, kan het dashboard niet leeg laten. Geeft het bijgewerkte dashboard terug. Vereist het recht content.write.

Machtiging: content.write

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

Delen

GET /badge/:site_id.json Bezoekerstellerbadge (SVG) voor een openbare site badges_get

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl https://privatusanalytics.com/badge/:site_id.json
GET /share/:token/breakdown/:dimension.json Topwaarden van een gedeelde dimensie shares_breakdown

Topwaarden van één dimensie achter een deellink, het gedeelde equivalent van stats_breakdown. Het pad bevat token (het laatste deel van de deel-URL) en dimension, die bij een sectie moet horen die de link deelt, bijvoorbeeld sources deelt channel, referrer en referrer_url, pages deelt page, entry_page, exit_page en hostname, campaigns deelt de utm_-dimensies, locations deelt country en language, technology deelt device, browser, os en screen, conversions deelt goal en events deelt event. Een dimensie buiten de secties van de link wordt geweigerd met een validatiefout. limit is 1 tot 100 rijen (standaard 10). Rijen hebben dezelfde velden en eenheden als stats_breakdown voor die dimensie. De vergrendelde periode en filters van de link winnen het van period, from, to en filters, en filters van de aanroeper worden genegeerd als de link ze niet toestaat. Een wachtwoordlink vereist de header X-Share-Password.

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl https://privatusanalytics.com/share/:token/breakdown/:dimension.json
GET /share/:token.json Overzicht van een gedeeld dashboard voor een deeltoken shares_overview

Leest het dashboard achter een deellink voor mensen zonder account. Het pad-token is het laatste deel van een deel-URL (/share/<token>) en is het enige bewijs van toegang, een wachtwoordlink vereist ook de header X-Share-Password en een sso-link vereist een ingelogd lid. Het accepteert ook een site-id (pa_...) als het openbare dashboard van de site aanstaat. Geeft dezelfde gegevens terug als stats_overview, beperkt tot wat de link deelt. Dat zijn period, metrics (visitors, visits, pageviews, views_per_visit, bounce_rate als percentage, visit_duration in milliseconden, revenue in kleinste eenheden), de grafiekreeks voor interval, vergelijkingsgegevens als compare is ingesteld en panels met alleen topwaarden voor de gedeelde secties. Het voegt site (id, name, domain, timezone), sections en locked_period toe. live_visitors verschijnt alleen als de link live deelt. Een vergrendelde periode en vergrendelde filters op de link overschrijven period, from, to en filters. Gebruik shares_breakdown voor meer rijen van één dimensie. Gebruik stats_overview voor je eigen sites.

Machtiging: public · Alleen HTTP (geen MCP-tool)

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

Documentatie

GET /docs/api.json Alle API-bewerkingen en MCP-tools weergeven docs_api

Geeft de volledige catalogus van alle API-operaties terug, die ook alle MCP-tools zijn. Gebruik het om te ontdekken welke tool of welk eindpunt bestaat en wat het precies nodig heeft. Elk item heeft tool_name, summary, description (nullable), group, verb (HTTP-methode), path (sjabloon met plaatsaanduidingen), permission (het recht dat een lid of token nodig heeft, nullable voor publieke tools), input_schema (JSON Schema van de invoer) en response_schema (JSON Schema van het antwoord). Het antwoord is groot. Geef voor een tool die je al kent de voorkeur aan de docspagina's (docs_search). docs_openapi geeft dezelfde informatie als OpenAPI-document. Openbaar, geen authenticatie nodig.

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl https://privatusanalytics.com/docs/api.json
GET /docs.json Documentatiepagina's weergeven docs_list

Toont elke documentatiepagina met title, description, path (zoals /docs/api/authentication), section en zonder body. Gebruik het om te bladeren in wat er bestaat. Gebruik docs_search om een pagina op onderwerp te vinden en docs_get met zijn section en page om er een te lezen. Gepagineerd met page en per_page (maximaal 100). Openbaar, geen authenticatie nodig.

Machtiging: public

Voorbeeld
curl https://privatusanalytics.com/docs.json
GET /openapi.json OpenAPI 3.1-document voor de hele API docs_openapi

Geeft het OpenAPI 3-document terug dat de hele openbare API beschrijft als ruwe JSON (niet verpakt in een data-veld). Gebruik het als je een machineleesbare specificatie nodig hebt voor codegeneratie. Voor een doorbladerbare lijst van operaties met hun invoer- en antwoordschema's is docs_api makkelijker te lezen. Het beschrijft dezelfde operaties die als MCP-tools beschikbaar zijn. Openbaar, geen authenticatie nodig.

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl https://privatusanalytics.com/openapi.json
GET /docs/:section/:page.json Een documentatiepagina lezen (Markdown en HTML) docs_get

section en page komen uit het paginapad /docs/<section>/<page>. Gebruik page "index" voor een sectieoverzicht.

Machtiging: public

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

Doelen

POST /sites/:site_id/goals/:id/archive.json Een doel archiveren (verborgen in rapporten) goals_archive

Archiveert een doel. Een gearchiveerd doel is verborgen in rapporten, telt niet mee voor de doellimiet van het abonnement en behoudt zijn definitie, zodat het later met goals_unarchive kan worden hersteld. Er worden geen gegevens verwijderd. Geeft het doel terug met archived true en archived_at ingesteld. Een al gearchiveerd doel archiveren doet niets. Gebruik goals_delete om het definitief te verwijderen. Vereist het recht content.write.

Machtiging: content.write

Voorbeeld
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 Een doel aanmaken goals_create

Maakt een conversiedoel aan. Doelen zijn definities die worden toegepast wanneer rapporten worden gelezen, dus een nieuw doel telt direct overeenkomende gebeurtenissen in alle bestaande geschiedenis. Verplicht zijn name en kind. kind bepaalt welke andere invoer van toepassing is. page vereist pattern (een pad, bijvoorbeeld /thank-you, met match_type exact, prefix, glob of regex) en kan hostname gebruiken. event vereist event_name en kan conditions gebruiken (eigenschapstests zoals {key: plan, operator: is, value: pro}, alle moeten overeenkomen, operators is, is_not, contains, gt, lt). engagement vereist pattern plus scroll_threshold (percentage 1 tot 100) en/of time_threshold_seconds (bereikt als een van beide wordt gehaald). outbound vergelijkt het linkdomein met pattern (bijvoorbeeld stripe.com) en download vergelijkt het bestand met pattern (bijvoorbeeld *.pdf). value_mode is none (standaard), fixed (gebruikt fixed_value, een decimaal bedrag in de valuta van de site zoals 49.5, opgeslagen als fixed_value_minor in centen) of revenue (de eigen omzet van de gebeurtenis). count_mode is once_per_visit (standaard) of every. Free-werkruimtes staan 10 actieve doelen per site toe, betaalde abonnementen zijn onbeperkt. Geeft het doel terug met id (goal_...). Vereist het recht content.write.

Machtiging: content.write

Voorbeeld
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 Een doel verwijderen (gegevens blijven bewaard) goals_delete

Verwijdert een doeldefinitie definitief. Er worden geen gebeurtenisgegevens verwijderd, maar het doel verdwijnt uit rapporten en funnelstappen, journeys en experimenten die ernaar verwijzen werken niet meer. Er is geen undo. Gebruik goals_archive om een doel te verbergen en te behouden. Geeft het verwijderde doel terug. Id's (goal_...) komen uit goals_list. Vereist het recht content.write.

Machtiging: content.write

Voorbeeld
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 Een doel kopiëren goals_duplicate

Kopieert de definitie van een doel naar een nieuw actief doel. De kopie heet name als je die meestuurt, anders de oorspronkelijke naam gevolgd door (copy). Het telt mee voor de doellimiet van het abonnement (10 actieve doelen per site op Free). Geeft het nieuwe doel terug met een nieuwe id. Gebruik het om een variatie van een doel te beginnen en wijzig het daarna met goals_update. Vereist het recht content.write.

Machtiging: content.write

Voorbeeld
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 Doelen weergeven met voltooiingen, conversies, ratio en waarde voor een periode goals_list

Toont de doelen van een site met hun resultaten voor de periode. Elk doel is de definitie (id goal_..., name, kind, match_type, pattern, hostname, event_name, conditions, scroll_threshold, time_threshold_seconds, value_mode, fixed_value_minor in centen, count_mode, archived, archived_at) plus stats {completions, conversions, conversion_rate, value, change}. conversion_rate is een percentage (0 tot 100), value is in kleinste eenheden (centen) en change is de procentuele verandering in conversies ten opzichte van de vorige periode (null als het eerdere aantal 0 was). status filtert op active (standaard), archived of all. Gepagineerd met page en per_page (max 100, standaard 25). Gebruik goals_get voor het volledige rapport van één doel. Accepteert de gedeelde invoer period, compare en filters.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/goals.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/goals/:id.json Doelrapport: statistieken, grafiek, uitsplitsingen en de weg naar conversie goals_get

Eén doel in detail voor een periode. Geeft period, goal_id, goal (de definitie), metrics, interval, series, breakdowns, journey en, met compare, comparison_period, comparison en change terug. metrics heeft completions (elke overeenkomende gebeurtenis), conversions (bezoeken met minstens één voltooiing), conversion_rate (percentage van 0 tot 100) en value (kleinste eenheden, centen). conversion_rate deelt door bezoeken, of door bezoekers als de site zo is ingesteld. series is een lijst van {date, completions, conversions, conversion_rate} per tijdsvak (stel interval in om dat te wijzigen). breakdowns bevat de top 10 op conversies voor channel, utm_campaign, entry_page, country en device, elk als {value, completions, conversions, conversion_rate}. journey toont converting_visits, median_seconds_to_convert, median_pages_before en pages_before (top 10 pagina's die vóór de conversie werden gezien, met visits en share). Gebruik goals_list voor alle doelen tegelijk en funnels_get voor flows met meerdere stappen. Accepteert de gedeelde invoer period, compare, filters en segment.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/goals/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/goals/:id/unarchive.json Een gearchiveerd doel herstellen goals_unarchive

Herstelt een gearchiveerd doel zodat het weer in rapporten verschijnt. Het telt weer mee voor de doellimiet van het abonnement (10 actieve doelen per site op Free), dus de aanroep mislukt met een abonnementslimietfout als de site al vol zit. Een doel herstellen dat niet is gearchiveerd, doet niets. Geeft het doel terug met archived false. Id's komen uit goals_list met status archived. Vereist het recht content.write.

Machtiging: content.write

Voorbeeld
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 Een doel bijwerken goals_update

Wijzigt de definitie van een doel. Alleen de invoer die je meestuurt verandert. De nieuwe definitie geldt direct voor alle geschiedenis, dus eerdere conversiecijfers veranderen. De invoer is dezelfde als bij goals_create en dezelfde combinaties gelden, bijvoorbeeld event_name en conditions zijn alleen van belang voor gebeurtenisdoelen en scroll_threshold en time_threshold_seconds alleen voor betrokkenheidsdoelen. fixed_value is een decimaal bedrag in de valuta van de site (opgeslagen in centen). Het meesturen van conditions vervangt alle bestaande voorwaarden. Geeft het doel terug. Id's komen uit goals_list. Vereist het recht content.write.

Machtiging: content.write

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

Domain Rating

GET /sites/:site_id/domain-rating.json Domain Rating-rapport: de laatste rating, inkomende en uitgaande links, de verandering sinds de vorige release en de geschiedenis per maand domain_rating_report

Geeft de Domain Rating van de site terug, een schatting van 0 tot 100 van hoe sterk de links naar zijn domein zijn, plus aantallen inkomende en uitgaande links en hun geschiedenis. Dit is de eigen score van Privatus Analytics, geen Google-metric. Beoordelingen worden eens per maand per release bijgewerkt, dus wijzigingen verschijnen maandelijks. months (1 tot 120, standaard 12) bepaalt hoeveel maandelijkse punten geschiedenis worden opgenomen. Het resultaat heeft domain, checked_at (wanneer de site voor het laatst is gecontroleerd, null als nooit), release (de maand van de nieuwste gegevens als YYYY-MM), rating, inbound_links, outbound_links (elk null als nog niet bekend), changes (dezelfde drie metrics als verschil met de vorige release, null als een van beide onbekend is) en history (één rij per maand met month, rating, inbound_links, outbound_links, oudste eerst). Een nieuwe site kan een paar minuten niet beoordeeld zijn. Vereist analytics.read.

Machtiging: analytics.read

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

E-mailinstellingen

POST /email/preferences/:token/unsubscribe.json Alle e-mails naar een adres stoppen die uit te zetten zijn, met het token uit de link naar de e-mailinstellingen email_preferences_unsubscribe_all

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X POST https://privatusanalytics.com/email/preferences/:token/unsubscribe.json \
  -H "Content-Type: application/json" -d '{…}'
POST /email/preferences/:token.json E-mails naar een adres uit- of aanzetten, met het token uit de link naar de e-mailinstellingen email_preferences_update

Machtiging: public · Alleen HTTP (geen MCP-tool)

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

E-mailrapporten

DELETE /recipients/:id.json Een ontvanger van een e-mailrapport verwijderen email_report_recipients_delete

Verwijdert één adres van een e-mailrapport (id van de ontvanger, uit email_report_recipients_list). Het adres ontvangt geen rapporten meer en zijn rij wordt verwijderd. Als het adres zich zelf had afgemeld, blijft de afmelding vastgelegd, dus verwijderen laat niemand het opnieuw uitnodigen. Stuur om veel adressen tegelijk te wijzigen in plaats daarvan de volledige lijst via email_reports_update. Geeft de verwijderde ontvanger terug.

Machtiging: content.write

Voorbeeld
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 De ontvangers van een e-mailrapport met hun status weergeven email_report_recipients_list

Statussen: active (krijgt rapporten), pending (uitgenodigd, nog niet geaccepteerd), declined of unsubscribed. Voeg adressen toe of verwijder ze via de ontvangerslijst van het rapport.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/reports/:report_id/recipients.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /recipients/:id/resend.json Een openstaande rapportuitnodiging opnieuw versturen email_report_recipients_resend

Verstuurt de uitnodiging opnieuw met nieuwe links. Toegestaan één keer per 7 dagen per adres per rapport.

Machtiging: content.write

Voorbeeld
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 Een e-mailrapport aanmaken email_reports_create

Maakt een geplande analytics-e-mailrapportage aan voor één of meer sites (het pad bevat workspace_id). Verplicht zijn name en site_ids (pa_...-id's). frequency is daily, weekly (standaard, verzonden op weekday) of monthly (de 1e van de maand), hour is het uur van de dag van 0 tot 23 in de tijdzone van de werkruimte (standaard 8) en weekday is 0 voor zondag tot 6 voor zaterdag (standaard 1, alleen gebruikt door wekelijkse rapporten). blocks kiest de inhoud uit kpis, chart, pages, sources, goals, campaigns, vitals, uptime, testimonials en subscriptions (standaard kpis, chart, pages, sources, goals, testimonials, subscriptions). subscriptions toont de MRR en wat die in de periode heeft bewogen, voor een site met een gekoppelde betalingsprovider. recipients is een lijst met e-mailadressen (maximaal 50). Leden van de werkruimte zijn direct actief, elk ander adres is pending en krijgt een uitnodigingsmail en ontvangt rapporten pas na acceptatie. Adressen die zich hebben afgemeld, worden geweigerd. Als recipients wordt weggelaten, wordt de aanroepende gebruiker toegevoegd. Een ingeschakeld rapport heeft minstens één ontvanger nodig. Het Free-abonnement staat 3 rapporten toe, betaalde abonnementen onbeperkt. Geeft het rapport terug met next_run_at. Gebruik email_reports_send_test om het te bekijken.

Machtiging: content.write

Voorbeeld
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 Bezorglogboek van een e-mailrapport email_reports_deliveries

Toont het verzendlogboek van één e-mailrapport, nieuwste eerst en gepagineerd. Elk item heeft status (sent voor een geplande verzending, test, failed of skipped), recipients_count, error (de reden van een mislukking, anders null) en sent_at. Filter met status. Gebruik het om te bevestigen dat een gepland rapport is verstuurd of om te zien waarom het mislukte. Gebruik email_reports_send_test om een testmail te activeren.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/reports/:id/deliveries.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
DELETE /reports/:id.json Een e-mailrapport verwijderen email_reports_delete

Verwijdert een e-mailrapport definitief samen met zijn ontvangers en verzendlogboek. Dit kan niet ongedaan worden gemaakt en er worden geen e-mails meer verstuurd. Gebruik email_reports_update met enabled false om het verzenden te stoppen maar het rapport te behouden. De id (rep_...) komt uit email_reports_list. Geeft het verwijderde rapport terug.

Machtiging: content.write

Voorbeeld
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 E-mailrapporten weergeven email_reports_list

Toont de geplande e-mailrapporten van een werkruimte (het pad bevat workspace_id), gesorteerd op naam en gepagineerd. Elk rapport heeft id (rep_...), name, site_ids, frequency, hour, weekday, recipients (elk adres op het rapport), recipient_details (voor elk id, email, status, invited_at, expires_at, confirmed_at), blocks, attach_pdf, intro, enabled, last_sent_at, next_run_at en created_at. Filter op frequency (daily, weekly of monthly). Een aanroeper die tot bepaalde sites is beperkt, ziet alleen rapporten waarvan alle sites van hem zijn. Alleen ontvangers met status active ontvangen daadwerkelijk rapporten. Gebruik email_reports_deliveries voor het verzendlogboek.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/workspaces/:workspace_id/reports.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /reports/:id/send_test.json Nu een e-mailrapport als test versturen email_reports_send_test

Verstuurt het rapport nu als test naar één adres, zonder het schema of last_sent_at te wijzigen. Verstuurt een echte e-mail, dus gebruik het alleen als de gebruiker dat wil. recipient is standaard de aanroepende gebruiker en mag alleen de aanroeper, een ander lid van de werkruimte of een actieve ontvanger van het rapport zijn. Voor elk ander adres gaat de test naar de aanroeper. Testverzendingen zijn per werkruimte en per extern adres beperkt in frequentie en een geweigerde verzending geeft een frequentielimietfout terug. Geeft de verzending terug met status (test, of failed met de reden in error), recipients_count en sent_at. Gebruik email_reports_deliveries voor het volledige logboek.

Machtiging: content.write

Voorbeeld
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 Een e-mailrapport ophalen email_reports_get

Geeft één e-mailrapport terug op id (rep_..., uit email_reports_list). Het antwoord heeft name, site_ids, frequency, hour, weekday, recipients, recipient_details met elk adres en zijn aanmeldstatus, blocks, attach_pdf, intro, enabled, last_sent_at en next_run_at (UTC-tijdstempels). recipients toont elk adres inclusief openstaande, alleen adressen met status active in recipient_details ontvangen rapporten. Gebruik email_reports_deliveries voor wat er is verstuurd.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/reports/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /reports/:id.json Een e-mailrapport bijwerken email_reports_update

Wijzigt een e-mailrapport (id uit email_reports_list). Alleen de invoer die je meestuurt verandert. Het meesturen van recipients vervangt de hele lijst. Adressen die je weglaat, worden verwijderd, nieuwe volgen dezelfde aanmeldregels als bij email_reports_create (leden zijn direct actief, anderen krijgen een uitnodigingsmail) en adressen die al op het rapport staan, behouden hun status. Het wijzigen van frequency, hour, weekday of enabled berekent next_run_at opnieuw. Zet enabled op false om te pauzeren. Gebruik email_report_recipients_list om de aanmeldstatus te zien en email_report_recipients_resend of email_report_recipients_delete om afzonderlijke adressen te beheren.

Machtiging: content.write

Voorbeeld
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 Een rapportuitnodiging accepteren report_invites_accept

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X POST https://privatusanalytics.com/reports/invites/:token/accept.json \
  -H "Content-Type: application/json" -d '{…}'
POST /reports/invites/:token/decline.json Een rapportuitnodiging afwijzen report_invites_decline

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X POST https://privatusanalytics.com/reports/invites/:token/decline.json \
  -H "Content-Type: application/json" -d '{…}'
POST /reports/resubscribe/:token.json Weer rapporten ontvangen na een afmelding report_resubscribes_confirm

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X POST https://privatusanalytics.com/reports/resubscribe/:token.json \
  -H "Content-Type: application/json" -d '{…}'
POST /reports/unsubscribe/:token/resubscribe.json Een adres een link mailen om weer rapporten te ontvangen report_resubscribes_create

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X POST https://privatusanalytics.com/reports/unsubscribe/:token/resubscribe.json \
  -H "Content-Type: application/json" -d '{…}'
POST /reports/unsubscribe/:token.json Een adres afmelden voor een e-mailrapport report_unsubscribes_create

Machtiging: public · Alleen HTTP (geen MCP-tool)

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

Enquêtes

POST /sites/:site_id/surveys.json Maak een enquête surveys_create

Maakt een cookieloze enquête op de site aan. Het verzamelt niets totdat zijn status active is, dus maak hem eerst als draft aan of geef status active mee om direct te starten. Verplicht zijn name (intern, bezoekers zien hem nooit, max 120 tekens) en questions (1 tot 5 rijen op volgorde). Elke vraag is een object met key (optioneel, een stabiele id van kleine letters, cijfers en underscores, gegenereerd als weggelaten), kind (text, choice, multi, rating, nps of yes_no), prompt (verplicht, max 200 tekens), required (boolean), choices (een lijst van maximaal 10 opties, alleen voor choice en multi) en scale (3, 5, 7 of 10, alleen voor rating, standaard 5). NPS gebruikt altijd 0 tot 10. Targeting is trigger_kind (immediate, delay, scroll, exit of manual) met delay_seconds (0 tot 600, standaard 10, alleen voor delay) en scroll_percent (1 tot 100, standaard 50, alleen voor scroll), paths (rijen van match_type exact, prefix of glob en pattern, leeg betekent elke pagina), devices (desktop, mobile, tablet, leeg betekent alle), position (bottom_right, bottom_left of center), sample_rate (1 tot 100 procent van de bezoekers), thank_you (max 200 tekens), starts_on en ends_on (YYYY-MM-DD). Enquêtes kunnen niet om een e-mailadres vragen en geschreven antwoorden worden van persoonsgegevens ontdaan. Het Free-abonnement staat 1 enquête per werkruimte en een beperkt aantal antwoorden per maand toe, betaalde abonnementen zijn onbeperkt. Vereist het recht content.write. Geeft de enquête terug met id (svy_...). Lees antwoorden met surveys_get.

Machtiging: content.write

Voorbeeld
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 Verwijder een enquête met haar reacties surveys_delete

Verwijdert een enquête definitief samen met alle reacties en antwoorden. Dit kan niet ongedaan worden gemaakt en de resultaten gaan verloren. Gebruik in plaats daarvan surveys_pause als je alleen het verzamelen wilt stoppen. De id komt uit surveys_list en de site_id is verplicht. Vereist het recht content.write. Geeft de verwijderde enquête terug.

Machtiging: content.write · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Toon de enquêtes van een site met hun aantal reacties surveys_list

Toont de enquêtes van een site, nieuwste eerst, met hun instellingen en aantallen antwoorden. Filter met status (draft, active, paused of all, standaard all). Gepagineerd met page en per_page (standaard 25, tot 100). Elke enquête heeft id (svy_...), name, status, questions, targetinginstellingen, starts_on, ends_on, created_at, updated_at en stats (aantallen responses, completed en this_month). Gebruik surveys_get voor de antwoorden en resultaten van één enquête.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/surveys.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/surveys/:id/pause.json Stop met het verzamelen van antwoorden en bewaar de antwoorden die al gegeven zijn surveys_pause

Pauzeert een enquête zodat hij direct niet meer aan bezoekers wordt aangeboden. Reacties die al zijn verzameld blijven bewaard en worden getoond in surveys_get en surveys_start hervat hem. Gebruik het in plaats van surveys_delete als je alleen het verzamelen wilt stoppen. De id komt uit surveys_list en de site_id is verplicht. Vereist het recht content.write. Geeft de enquête terug met status paused.

Machtiging: content.write

Voorbeeld
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 Enquêteresultaten voor een periode, uitgesplitst per vraag surveys_get

Geeft het resultatenrapport van één enquête over een periode terug, niet alleen zijn instellingen (gebruik surveys_list voor instellingen en aantallen). Kies de periodepreset (standaard 30d) of period custom met from en to. Het antwoord heeft survey (zijn instellingen), period (from en to als ISO 8601-tijden), responses (mensen die minstens één vraag beantwoordden), completed (mensen die de laatste vraag beantwoordden), questions (één item per vraag met key, kind, prompt en aantal answers, plus detail per kind) en pages, devices en countries (tot 10 rijen elk van value en count). Het detail per kind is texts (tot 100 nieuwste geschreven antwoorden met text en at) voor text, choices (value, count, share als percentage met één decimaal, offered) voor choice, multi en yes_no, average (null zonder antwoorden), scale en distribution voor rating, en score (NPS van -100 tot 100, null zonder antwoorden), promoters (9 en 10), passives (7 en 8), detractors (0 tot 6) en distribution voor nps. Gebruik surveys_themes om geschreven antwoorden samen te vatten.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/surveys/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/surveys/:id/start.json Begin met het verzamelen van antwoorden surveys_start

Zet een enquête op active zodat hij aan bezoekers kan worden aangeboden. Hij verschijnt alleen als de huidige datum binnen starts_on en ends_on valt (indien ingesteld), de pagina overeenkomt met zijn paths en devices en het maandelijkse antwoordentegoed van het abonnement niet op is. Gebruik het voor een concept of een gepauzeerde enquête. De id komt uit surveys_list en de site_id is verplicht. Vereist het recht content.write. Geeft de enquête terug met status active. Stop hem weer met surveys_pause.

Machtiging: content.write

Voorbeeld
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 Groepeer de vrije-tekstantwoorden op één vraag in thema's (Business-abonnement) surveys_themes

Gebruikt AI om de geschreven antwoorden op één vrije-tekstvraag in thema's te groeperen. Alleen Business-abonnement. Kies het nadat surveys_get een tekstvraag met genoeg antwoorden toont en geef question_key mee (de key van een vraag van kind text uit surveys_get). Het vereist minstens 5 geschreven antwoorden en gebruikt de 300 meest recente. Het resultaat toont tot 12 thema's, elk met label, count, sentiment (positive, neutral of negative) en example (een representatief antwoord, kan null zijn), plus answers (hoeveel antwoorden zijn samengevat) en generated_at. Elke nieuwe generatie verbruikt één vraag van het maandelijkse AI-tegoed van de werkruimte, die wordt teruggegeven als het mislukt. Het resultaat wordt tegen de antwoorden gecachet, dus opnieuw aanroepen zonder nieuwe antwoorden kost niets. Het mislukt met een validatiefout als het abonnement het niet bevat, het tegoed op is, de AI niet is geconfigureerd of er te weinig antwoorden zijn.

Machtiging: analytics.read

Voorbeeld
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 Werk een enquête bij surveys_update

Wijzigt een enquête. Alleen de invoer die je meestuurt verandert. Invoer en limieten zijn dezelfde als bij surveys_create, met status draft, active of paused. Als je questions meestuurt, wordt de hele lijst vervangen, dus neem elke vraag op die je wilt behouden en behoud elke bestaande key om de verzamelde antwoorden te behouden (een prompt herformuleren met dezelfde key splitst de resultaten niet). Vragen die je weglaat, verschijnen niet meer in de resultaten. Wijzigingen in targeting gelden direct voor bezoekers. De id komt uit surveys_list en de site_id is verplicht. Vereist het recht content.write. Geeft de bijgewerkte enquête terug.

Machtiging: content.write

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

Experimenten

POST /sites/:site_id/experiments.json Een experiment als concept aanmaken experiments_create

Maakt een A/B-test of split-URL-test voor een site. Het wordt als concept opgeslagen en stuurt geen bezoeker ergens heen totdat een persoon het in de app start. Verplicht zijn name, path (de originele pagina, zoals /pricing), goal_id (uit goals_list) en variants: een lijst van { name, path, weight } waarvan de eerste rij de originele pagina is (het pad wordt genegeerd) en elke andere rij een pagina van dezelfde site. Laat alle weight-waarden weg voor een gelijke verdeling, of stuur gewichten die samen 100 zijn. Het Free-abonnement staat één experiment tegelijk toe met het origineel en één variant. Pro en hoger voegen meer varianten, automatische toewijzing, targeting, een * in het pad, secundaire doelen, een geplande start en exclusieve groepen toe. Vereist content.write. Geeft het experiment terug.

Machtiging: content.write

Voorbeeld
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 Een experiment met de resultaten verwijderen experiments_delete

Verwijdert een experiment definitief met de varianten en resultaten. Dit kan niet ongedaan worden gemaakt. Gebruik experiments_pause om het te stoppen en de resultaten te bewaren. De MCP-tool voert het niet uit en reageert met human_only en de pagina waar een persoon het verwijdert. Vereist content.write.

Machtiging: content.write · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Een experiment als nieuw concept kopiëren experiments_duplicate

Maakt een concept met dezelfde pagina's, aandelen, hetzelfde doel en dezelfde regels als een bestaand experiment, en zonder resultaten. Gebruik het om een test aan te passen die al is gestart. Telt mee voor de abonnementslimiet als een nieuw experiment. Vereist content.write. Geeft het nieuwe experiment terug.

Machtiging: content.write

Voorbeeld
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 Een experiment definitief beëindigen experiments_end

Beëindigt een lopend of gepauzeerd experiment. Het kan niet opnieuw worden gestart, de resultaten blijven bewaard en het telt niet langer mee voor de abonnementslimiet. De MCP-tool voert het niet uit en reageert met human_only en de pagina waar een persoon het beëindigt. De API voert het wel uit. Vereist content.write.

Machtiging: content.write · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Experimenten van een site weergeven experiments_list

Geeft de A/B-tests en split-URL-tests van een site weer, nieuwste eerst. Filter met status (draft, scheduled, running, paused, ended of all, standaard all). Gepagineerd met page en per_page (standaard 25, maximaal 100). Elk experiment heeft id (exp_...), name, status, path (de originele pagina), goal_id, variants (id, name, path, weight, control), de regels voor het beëindigen en locked (true als het abonnement het niet meer dekt). Vereist analytics.read.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/experiments.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/experiments/:id/pause.json Een experiment pauzeren en de resultaten bewaren experiments_pause

Pauzeert een lopend of gepland experiment. Elke bezoeker krijgt meteen weer de originele pagina en de resultaten tot nu toe blijven bewaard. experiments_start hervat het. Vereist content.write. Geeft het experiment terug.

Machtiging: content.write

Voorbeeld
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 Eén experiment met de resultaten ophalen experiments_get

Geeft één experiment terug op id (exp_..., uit experiments_list) met de resultaten: per variant de bezoeken, conversies en het conversiepercentage op het doel, en ten opzichte van het origineel de uplift, het waarschijnlijke bereik van het verschil, de p-waarde, of het significant is bij het gekozen betrouwbaarheidsniveau en de kans dat het beter is dan het origineel. results.progress laat zien hoe ver het is van een winnaar kunnen aanwijzen, en results.mismatch.found true betekent dat de bezoeken niet worden verdeeld zoals de gewichten zeggen, dus het resultaat is niet te vertrouwen. split splitst de resultaten uit naar apparaat, kanaal of land (Pro en hoger) en humans_only houdt alleen bezoeken over die de botscore als waarschijnlijk menselijk beoordeelt (Business). Een bezoek telt mee voor een variant als het die variant zag, en een conversie telt alleen daarna. Vereist analytics.read.

Machtiging: analytics.read

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

Start een concept of gepauzeerd experiment, zodat bezoekers van de originele pagina naar de varianten worden gestuurd. Met een starts_at in de toekomst wacht het tot dat moment. Omdat het echte bezoekers doorstuurt, voert de MCP-tool het niet uit en reageert met human_only en de pagina waar een persoon het start. De API voert het wel uit. Vereist content.write.

Machtiging: content.write · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Een experiment bijwerken experiments_update

Wijzigt een experiment. Alleen de invoer die je meestuurt verandert, en variants vervangt de hele lijst. Zodra een experiment is gestart kunnen alleen name en send_to_winner wijzigen, omdat nieuwe pagina's, aandelen of doelen halverwege het resultaat zouden verpesten: gebruik experiments_duplicate en bewerk de kopie. Vereist content.write. Geeft het experiment terug.

Machtiging: content.write

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

Exports

POST /workspaces/:workspace_id/exports.json Een export in de wachtrij zetten (wordt op de achtergrond gemaakt) exports_create

Zet een data-export in de wachtrij die op de achtergrond wordt opgebouwd en geeft hem direct terug met status queued. Kies het als je een bestand nodig hebt (CSV, JSON, XLSX, NDJSON of een ZIP met dashboardpanelen) en gebruik eerst exports_preview om kolommen en omvang te controleren zonder iets aan te maken. Gebruik voor lichte cijfers in plaats daarvan de statistiektools. Vereiste invoer is workspace_id (pad), site_id, from en to (YYYY-MM-DD, inclusief, in de tijdzone van de export). De kind bepaalt wat wordt geëxporteerd en welke opties gelden. aggregated (standaard) geeft bezoekmetrics per tijdsvak en gebruikt grouping, dimensions (maximaal 6), metrics, filters en segment_id. pageviews, events en raw geven één rij per hit en gebruiken fields, filters en segment_id, vereisen het Pro-abonnement of hoger en zijn beperkt tot 400 dagen (raw tot 93 dagen). imported geeft geïmporteerde dagstatistieken en gebruikt alleen dimensions. dashboard geeft een ZIP met de overzichtspanelen (alleen format zip). De toegestane file_format per kind is csv, json of xlsx voor aggregated, pageviews, events en imported, csv of ndjson voor raw en zip voor dashboard. Opties die niet van toepassing zijn op de gekozen kind worden genegeerd. Een werkruimte kan maximaal 5 exports tegelijk in de wachtrij hebben of laten draaien. Het antwoord is de export met id (exp_...), status, row_count en expires_at (null totdat hij is gebouwd). Poll exports_get totdat status complete is en roep dan exports_download aan. De aanvragende gebruiker krijgt een e-mail wanneer hij klaar is, een webhook export.ready wordt verstuurd en de actie wordt in het auditlogboek vastgelegd. Gebeurteniseigenschappen in de kolom props bevatten alleen eigenschappen die als veilig om te exporteren zijn gemarkeerd (zie event_properties_list).

Machtiging: analytics.export

Voorbeeld
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 Een export en het bestand ervan verwijderen exports_delete

Verwijdert een export en zijn gegenereerde bestand definitief. De downloadlink werkt direct niet meer en dit kan niet ongedaan worden gemaakt, maar je kunt de export opnieuw aanmaken. Gebruik het om een voltooide of mislukte export te verwijderen die je niet meer nodig hebt, aangezien bestanden ook automatisch 7 dagen na het bouwen worden verwijderd. De id komt uit exports_list. Geeft het verwijderde exportobject terug zoals het vóór de verwijdering was.

Machtiging: analytics.export · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Een ondertekende link naar het bestand ophalen (10 minuten geldig) exports_download

Geeft een kortlevende downloadlink voor een voltooide export terug. Kies het nadat exports_get status complete toont. Het antwoord heeft url (een ondertekende link die 10 minuten geldig is, haal hem meteen op), expires_at (wanneer de link niet meer werkt, ISO 8601), filename en byte_size (bytes). Het mislukt met een not found-foutcode expired als de export ouder is dan 7 dagen en met een validatiefout als de export nog in de wachtrij staat of draait of als hij mislukte (het foutbericht zegt waarom). Roep het opnieuw aan voor een verse link zolang de export zelf niet is verlopen. De id komt uit exports_list.

Machtiging: analytics.export

Voorbeeld
curl https://privatusanalytics.com/exports/:id/download.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /workspaces/:workspace_id/exports.json Exports weergeven (de jobwachtrij) exports_list

Toont de exports van een werkruimte voor de sites waartoe je toegang hebt, nieuwste eerst. Gebruik het om een export-id te vinden, te controleren welke exports nog draaien of te zien wat is verlopen. Filter met site_id, status (queued, running, complete, failed of expired) en kind (aggregated, pageviews, events, imported, raw of dashboard). Gepagineerd met page en per_page (tot 100) en geeft data (een lijst met exports, zie exports_get voor de velden) plus pagineringsmeta terug. Vereist de workspace_id uit workspaces_list.

Machtiging: analytics.export

Voorbeeld
curl https://privatusanalytics.com/workspaces/:workspace_id/exports.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /workspaces/:workspace_id/exports/preview.json Een export bekijken: de eerste 20 rijen en het geschatte aantal rijen exports_preview

Proefrun van een export die niets aanmaakt. Het accepteert dezelfde invoer als exports_create en geeft kind, file_format, columns (de kolomnamen op volgorde), rows (maximaal 20 voorbeeldrijen als objecten met kolommen als sleutel) en estimated_rows (een geschat aantal rijen van het volledige bestand) terug. Voor de kind dashboard tonen de voorbeeldrijen elke bestandsnaam met zijn aantal rijen. Gebruik het om dimensies, velden, filters en het datumbereik te valideren en om te zien hoe groot de export zou worden voordat je exports_create aanroept. Het draait synchroon, dus houd het datumbereik redelijk. Validatiefouten zijn dezelfde als bij exports_create, inclusief de eis van het Pro-abonnement voor kinds op rijniveau. Er wordt niets opgeslagen en geen e-mail verstuurd.

Machtiging: analytics.export

Voorbeeld
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 Een export en de status ervan ophalen exports_get

Geeft één export terug, inclusief zijn voortgang. Gebruik het om een met exports_create gestarte export te pollen totdat status complete of failed is. De statussen zijn queued, running, complete, failed en expired. De velden zijn onder meer id (exp_...), site_id (pa_...), kind, format, status, params (de opgeslagen definitie van de export), row_count (null tot complete), error (ingesteld bij failed), completed_at, expires_at (bestanden worden 7 dagen na voltooiing bewaard), download_url (alleen ingesteld zolang het bestand kan worden gedownload, gebruik exports_download voor een ondertekende link) en created_at. De id komt uit exports_create of exports_list.

Machtiging: analytics.export

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

Facturatie

POST /workspaces/:workspace_id/billing/badge.json Aan- of afmelden voor de badgebonus (gratis abonnement) billing_badge

Meldt een Free-werkruimte aan voor of af van de bonus van de Privatus Analytics-badge, die het maandelijkse gebeurtenissentegoed verhoogt. Zet enabled op true om je aan te melden. Een achtergrondcontrole zoekt dan naar de badge op de sites van de werkruimte en verifieert die, wat even kan duren, dus lees daarna billing_get en kijk naar badge.verified_at. Zet enabled op false om je af te melden, waarmee de controle- en verificatiedatums worden gewist en de bonus vervalt. Aanmelden op een Pro- of Business-werkruimte wordt geweigerd omdat betaalde abonnementen geen bonus hebben. Geeft het factureringsobject van de werkruimte terug zoals billing_get. Vereist billing.manage.

Machtiging: billing.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Opzeggen aan het einde van de factuurperiode billing_cancel

Zegt het betaalde abonnement op aan het einde van de huidige betaalde periode. Er wordt niets terugbetaald en het abonnement blijft actief tot current_period_ends_at, waarna de werkruimte overgaat op het Free-abonnement. Gebruik billing_resume om dit tot dan ongedaan te maken. Mislukt als de werkruimte geen abonnement heeft of er al een opzegging is gepland. De optionele reason (een van de enumwaarden) en comment vormen een uitschrijfenquête. Een comment, indien opgegeven, wordt als feedbackbericht van het lid per e-mail naar het Privatus Analytics-team gestuurd en niet opgeslagen. Geeft het factureringsobject terug met cancel_at_period_end true. Vereist billing.manage.

Machtiging: billing.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Abonnement, niveau of interval wijzigen (naar rato) billing_change_plan

Verplaatst het bestaande abonnement naar een ander abonnement, gebeurtenissenniveau of factureringsinterval. Dit kost geld. De wijziging gaat direct in en Paddle berekent het naar rato, dus er wordt meteen een bedrag in rekening gebracht of tegoed toegepast op de opgeslagen betaalmethode. Voer eerst billing_preview uit met dezelfde invoer om de exacte bedragen te zien. Mislukt als de werkruimte geen abonnement heeft (gebruik daarvoor billing_checkout), als het doel gelijk is aan het huidige abonnement, niveau en interval, of als er geen prijs bestaat voor de combinatie van abonnement en gebeurtenissen. De waarde van events moet een van de niveaus uit plans_list zijn. Geeft het bijgewerkte factureringsobject terug. Vereist billing.manage.

Machtiging: billing.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Een Paddle-checkout starten voor een betaald abonnement billing_checkout

Start een Paddle-checkout voor een werkruimte die nog geen abonnement heeft en geeft een gehoste checkout-URL terug. Er wordt niets in rekening gebracht totdat een persoon de checkout in een browser voltooit, dus geef de url aan die persoon. Gebruik in plaats daarvan billing_change_plan als de werkruimte al een abonnement heeft. Invoer is plan (pro of business), events (een niveau voor gebeurtenissen per maand uit plans_list) en interval (month of year, standaard month). Prijzen zijn inclusief btw of omzetbelasting. Een goedgekeurd kortingsprogramma wordt automatisch toegepast en gemeld in discount_id. Geeft transaction_id, url (nullable), price_id, plan, events, interval, amount (hele USD voor het interval), client_token en environment (sandbox of production, gebruikt door de Paddle-overlay), custom_data en discount_id (nullable) terug. Mislukt als de werkruimte al een abonnement heeft. Vereist billing.manage.

Machtiging: billing.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Korting aanvragen voor non-profit, onderwijs of open source billing_discount

Vraagt een kortingsprogramma aan voor de werkruimte. Dit dient een aanvraag in voor beoordeling door medewerkers en stuurt een e-mail naar het Privatus Analytics-team, het verleent zelf geen korting. De programma's zijn nonprofit, education, open_source (50 procent korting), open_source_free (gratis Pro tot 1M gebeurtenissen per maand) en agency (20 procent korting op elke werkruimte die je bezit). Per werkruimte is maar één openstaande aanvraag (pending, approved of active) toegestaan en na een afwijzing of intrekking kun je opnieuw aanvragen. license wordt alleen bewaard voor de twee open-sourceprogramma's. Geeft de aanvraag terug met program, status, percent, comp_events (nullable), organization_name, website, proof_url, license, note, rejection_reason, created_at, reviewed_at, applied_at en revoked_at (nullable tijdstempels). Volg de voortgang later in het veld discount van billing_get. Vereist billing.manage.

Machtiging: billing.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Een link ophalen om de betaalmethode bij te werken billing_payment_method

Geeft een Paddle-link terug waar een persoon de betaalmethode van het abonnement kan bijwerken. De aanroep zelf wijzigt niets. Geef de url aan de persoon om in een browser te openen. Het resultaat heeft kind (payment_method) en url. Mislukt als de werkruimte geen actief abonnement heeft. Gebruik billing_portal voor facturen, adressen en alle andere factureringsgegevens. Vereist billing.manage.

Machtiging: billing.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Een link naar het Paddle-klantenportaal ophalen billing_portal

Geeft een link naar het Paddle-klantenportaal terug, waar een persoon facturen, betaalmethoden en adressen kan zien. De aanroep zelf wijzigt niets. Geef de url aan de persoon om in een browser te openen. Het resultaat heeft kind (portal) en url. Mislukt als de werkruimte nog geen Paddle-klant heeft (er is nooit afgerekend) of als de klant wordt gedeeld met andere werkruimtes waartoe de aanroeper geen toegang heeft, omdat het portaal alle gegevens van de klant toont. Gebruik billing_payment_method voor alleen de kaart. Vereist billing.manage.

Machtiging: billing.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Een abonnementswijziging bekijken met verrekening naar rato billing_preview

Toont wat het verplaatsen van het abonnement naar een ander abonnement, niveau of interval nu zou kosten, zonder iets te wijzigen. Voer het altijd uit vóór billing_change_plan, met dezelfde invoer voor plan, events en interval. Mislukt als de werkruimte geen abonnement heeft of het doel gelijk is aan de huidige prijs. Geeft plan, events, interval, price_id, amount (hele USD-catalogusprijs voor het interval), currency, charge_minor (wat nu in rekening zou worden gebracht), credit_minor (tegoed voor ongebruikte tijd) en result_minor (nettobedrag) terug, allemaal in kleinste valuta-eenheden, result_action (charge of credit, nullable), next_billed_at (nullable) en warnings (strings, bijvoorbeeld als het gebruik van vorige maand het nieuwe niveau overschrijdt of als abonnementslimieten zoals sites of leden door het nieuwe abonnement worden overschreden). Vereist billing.manage.

Machtiging: billing.manage

Voorbeeld
curl https://privatusanalytics.com/workspaces/:workspace_id/billing/preview.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /workspaces/:workspace_id/billing/resume.json Een geplande opzegging ongedaan maken of een pauze hervatten billing_resume

Maakt een geplande opzegging ongedaan, of hervat een gepauzeerd abonnement, zodat het abonnement blijft verlengen. Gebruik het na billing_cancel en vóór current_period_ends_at. Een gepauzeerd abonnement wordt direct hervat. Mislukt als er geen geplande opzegging is en het abonnement niet is gepauzeerd. Geeft het bijgewerkte factureringsobject terug. Vereist billing.manage.

Machtiging: billing.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Het abonnement, de subscriptie en het verbruik ophalen billing_get

Geeft het abonnement en de factureringsstatus van de werkruimte terug. Gebruik het voordat je iets in de facturering wijzigt en om te weten of het abonnement actief is of wordt opgezegd. De velden zijn onder meer workspace_id, plan (free, pro, business of enterprise), plan_events (het verkochte niveau voor gebeurtenissen per maand), allowance (het daadwerkelijk toegestane aantal gebeurtenissen per maand, inclusief een eventuele badgebonus), billing_interval (month of year, nullable), price (hele USD voor het interval, nullable), subscription_status, current_period_ends_at, cancel_at_period_end (true als een opzegging is gepland), canceled_at, auto_upgrade, discount (de laatste kortingsaanvraag, nullable), discount_percent, billing_emails (array), tax_id, badge (opted_in, verified_at, checked_at en de grootte van de bonus) en usage (hetzelfde object dat billing_usage teruggeeft). Vereist billing.manage. Facturen staan in billing_invoices_list en een maand-voor-maandoverzicht van het gebruik is billing_usage.

Machtiging: billing.manage

Voorbeeld
curl https://privatusanalytics.com/workspaces/:workspace_id/billing.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /workspaces/:workspace_id/billing.json Factuur-e-mails, btw-nummer en automatisch upgraden bijwerken billing_update

Werkt de factureringsinstellingen van de werkruimte bij. Alleen de invoer die je meestuurt verandert. billing_emails is een array van maximaal 5 extra adressen voor facturen en factureringsberichten en vervangt de hele lijst. tax_id wordt op de werkruimte opgeslagen en niet aan facturen toegevoegd, dus het moet ook in de checkout worden ingevuld. auto_upgrade is standaard false. Als het true is, verplaatst het bereiken van de maandelijkse gebeurtenissenlimiet de werkruimte naar het volgende niveau en wordt het verschil in rekening gebracht in plaats van het verzamelen te pauzeren. Als je het aanzet terwijl het verzamelen al bij de limiet is gepauzeerd, wordt direct geüpgraded en afgerekend en een bevestigingsmail verstuurd. Als Paddle de upgrade weigert, wordt niets opgeslagen. Geeft het factureringsobject terug zoals billing_get. Vereist billing.manage.

Machtiging: billing.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Het verbruik van deze maand, de prognose en de verdeling per site ophalen billing_usage

Geeft het gebruik van gebeurtenissen van de werkruimte voor één maand terug. Gebruik het om te controleren hoe dicht de werkruimte bij de harde maandlimiet zit. Invoer is month (een willekeurige dag in de maand, standaard de huidige maand). Alleen paginaweergaven en aangepaste gebeurtenissen tellen mee. De velden zijn month, events, bots (totaal aantal bots, niet gefactureerd), allowance, percent (0 tot 100 en hoger, één decimaal), forecast en forecast_percent (lineaire projectie naar het einde van de maand, null voor afgelopen maanden), days_left, status (ok, warning bij 80 procent, over bij 100 procent, paused of locked), sites (per site site_id, domain, name, events en share als percentage, grootste eerst), history (eerdere maanden als month en events), access_locked_at, collection_paused (true als nieuwe gebeurtenissen worden weggegooid), pause_reason (limit of staff, nullable), collection_paused_at en resumes_at (de 1e van de volgende maand als het door de limiet is gepauzeerd). Vereist billing.manage.

Machtiging: billing.manage

Voorbeeld
curl https://privatusanalytics.com/workspaces/:workspace_id/billing/usage.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /workspaces/:workspace_id/billing/invoices.json Facturen weergeven billing_invoices_list

Toont de factureringstransacties van de werkruimte, nieuwste eerst. Elk item heeft id (gebruik het met billing_invoices_get), invoice_number (nullable), status, amount_minor (geheel getal in kleinste valuta-eenheden, dus 900 betekent 9,00), currency (ISO-code zoals USD) en billed_at (nullable ISO 8601). Gepagineerd met page en per_page (maximaal 100). Het toont alleen transacties. Roep billing_invoices_get aan voor de pdf en gebruik billing_payment_method om de kaart bij te werken. Vereist billing.manage.

Machtiging: billing.manage

Voorbeeld
curl https://privatusanalytics.com/workspaces/:workspace_id/billing/invoices.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /workspaces/:workspace_id/billing/invoices/:id.json De pdf-link van een factuur ophalen billing_invoices_get

Geeft een link naar de pdf-factuur van één gefactureerde transactie terug. Haal de factuur-id uit billing_invoices_list (het veld id, een Paddle-transactie-id). Het resultaat heeft kind (invoice) en url, een link naar de pdf van Paddle, dus haal die kort na de aanroep op of deel hem. Mislukt als de id niet bij deze werkruimte hoort of Paddle er geen factuur voor heeft. Vereist billing.manage.

Machtiging: billing.manage

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

Formulieren

POST /sites/:site_id/testimonials/forms.json Maak een formulier testimonial_forms_create

Eén aanroep bevat het hele formulier: stappen, vragen, skip-logica, toestemmingstekst en taal. Alles wat wordt weggelaten begint met een verstandige standaard in de taal van het formulier, en de slug komt van de naam. De link is https://privatus.page/f/<slug>. Routering van lage beoordelingen en eigen CSS vereisen het Business-abonnement (402 plan_limit zonder). Video- en audio-antwoorden worden vanaf Pro aan de gever aangeboden.

Machtiging: content.write

Voorbeeld
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 Verwijder een formulier definitief testimonial_forms_delete

Verwijdert het formulier, zijn inzendingsrecords, zijn beloning en zijn privéfeedback. De testimonials die het verzamelde blijven bewaard. Het kan niet ongedaan worden gemaakt, dus een persoon doet het op de pagina. De API accepteert confirm (de naam of id van het formulier).

Machtiging: sites.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Verplaats een formulier naar de prullenbak testimonial_forms_trash

Zijn link reageert dat het formulier gesloten is tot het is hersteld. De prullenbak wordt na 30 dagen geleegd. Via MCP wijzigt de tool niets en reageert hij met de pagina van de app waar een persoon het doet.

Machtiging: content.write · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Kopieer een formulier, eventueel naar een andere taal testimonial_forms_duplicate

Kopieert elke instelling behalve de slug, de statistieken en de beloning.

Machtiging: content.write

Voorbeeld
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 Toon de formulieren van een site testimonial_forms_list

Formulieren in de prullenbak worden getoond met trashed true, en anders weggelaten. Elk formulier bevat zijn instellingen, zijn beloning en hoeveel inzendingen het heeft gehad.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/forms.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/testimonials/forms/:id/qr.json Haal de QR-code van een formulier op als SVG of PNG testimonial_forms_qr

De code bevat de link van het formulier met ?src=qr, zodat scans als een eigen kanaal worden geteld. Een gewijzigde slug laat een afgedrukte code werken.

Machtiging: analytics.read

Voorbeeld
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 Herstel een formulier uit de prullenbak. Zijn link werkt weer testimonial_forms_restore

Haalt een formulier uit de prullenbak zoals het was, met zijn vragen, inzendingen en privéfeedback. Zijn link (/f/<slug>) en zijn embeds nemen weer antwoorden aan. De server reageert met 422 en de code not_in_trash voor een formulier dat niet in de prullenbak zit.

Machtiging: content.write

Voorbeeld
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 Haal de link, de QR-codelinks en de embedfragmenten van een formulier op testimonial_forms_share

Geeft de link, het inline embedfragment en het popup-embedfragment terug. De popupinvoer (trigger, label, position, accent) wijzigt het popupfragment.

Machtiging: analytics.read

Voorbeeld
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 Haal één formulier op met elke stap, vraag, regel en instelling testimonial_forms_get

Geeft het hele formulier terug zoals testimonial_forms_create en testimonial_forms_update het accepteren, met zijn slug, zijn link, zijn beloning en hoeveel inzendingen het heeft. Een formulier in de prullenbak wordt hier niet gevonden: herstel het eerst.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/forms/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/testimonials/forms/:id.json Wijzig een formulier. Alleen de verstuurde invoer verandert testimonial_forms_update

Een wijziging aan een stap, een vraag of de toestemmingstekst verhoogt de versie van het formulier, die elke toestemmingsregistratie opslaat. Een gewijzigde slug laat de oude link doorverwijzen. Stuur vragen als de hele lijst.

Machtiging: content.write

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

Funnels

POST /sites/:site_id/funnels.json Een funnel aanmaken funnels_create

Maakt een funnel aan, een reeks stappen waar bezoeken doorheen gaan, gemeten per bezoek. Geef name en steps mee, een geordende lijst van {type, value, match, name}. type is page, event of goal. value is een pad voor paginastappen (bijvoorbeeld /pricing), een aangepaste gebeurtenisnaam voor gebeurtenisstappen of een doel-id (goal_..., uit goals_list) voor doelstappen. match is alleen voor paginastappen en is exact, prefix, glob (* als wildcard) of regex, standaard glob als de waarde een * bevat en anders exact. name is een optioneel label. Stappen met een lege waarde worden weggelaten. order_mode is strict (elke stap moet na de vorige komen, de standaard) of any (stappen in willekeurige volgorde). window is visit (de standaard) of day, en beide meten binnen één bezoek omdat er geen bezoekers-id wordt opgeslagen. Abonnementslimieten zijn van toepassing. Free staat 3 funnels per site en 5 stappen toe, Pro staat 10 stappen toe en Business 20, en een funnel heeft minstens 2 stappen nodig. Geeft de funnel terug met id (fun_...). Lees resultaten met funnels_get. Vereist het recht content.write.

Machtiging: content.write

Voorbeeld
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 Een funnel verwijderen funnels_delete

Verwijdert een funneldefinitie definitief. Er worden geen analytics-gegevens aangeraakt, maar de funnel en zijn instellingen kunnen niet worden hersteld en er is geen undo. Geeft de verwijderde funnel terug. Id's (fun_...) komen uit funnels_list. Gebruik funnels_update om in plaats daarvan een funnel te wijzigen. Vereist het recht content.write.

Machtiging: content.write

Voorbeeld
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 Funnels weergeven met instroom, voltooiingen en ratio funnels_list

Toont de funnels van een site met hun kernresultaten voor de periode, gesorteerd op naam. Elke funnel heeft id (fun_...), name, steps, order_mode, window en stats {entered, completed, conversion_rate}, waarbij entered de bezoeken zijn die stap 1 bereikten, completed de bezoeken die de laatste stap bereikten en conversion_rate een percentage is (0 tot 100). Gepagineerd met page en per_page (max 100, standaard 25). Accepteert de gedeelde invoer period en filters. Gebruik funnels_get voor detail per stap en funnels_create om er een toe te voegen.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/funnels.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/funnels/:id.json Funnelrapport: aantallen per stap, conversie, uitval, tijd tussen stappen en waar bezoeken in plaats daarvan naartoe gingen funnels_get

Het conversierapport van één funnel voor een periode. Geeft period, funnel_id, name, order_mode, window, steps, overall_conversion_rate, breakdown en, met compare, comparison terug. Elke stap heeft index (vanaf 1), name, type, value, match, count (bezoeken die hem bereikten), step_conversion_rate (percentage van de vorige stap), overall_conversion_rate (percentage van stap 1), dropoff en dropoff_rate (bezoeken die na deze stap vertrokken), median_seconds_from_previous (null voor stap 1) en next_pages (top 5 pagina's die daarna door afgehaakte bezoeken werden bezocht, met (exit) voor wie vertrok). Percentages zijn van 0 tot 100. Stel breakdown in op channel, device, country, utm_campaign, utm_source, browser of os om de totale conversie per waarde te krijgen (top 20). comparison heeft de aantallen van de andere periode, overall_conversion_rate en change (percentage, null als het eerdere percentage 0 was). Paginafilters worden hier genegeerd omdat ze bezoeken zouden afkappen, gebruik in plaats daarvan een paginastap. Accepteert de gedeelde invoer period, compare, filters en segment. Id's komen uit funnels_list.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/funnels/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/funnels/:id.json Een funnel bijwerken funnels_update

Wijzigt een funnel. Alleen de invoer die je meestuurt verandert. Het meesturen van steps vervangt de hele lijst met stappen, dus stuur elke stap op volgorde (formaat en staplimieten zijn dezelfde als bij funnels_create, Free staat 5 stappen toe, Pro 10 en Business 20, en doelstappen moeten doelen van deze site noemen). Je kunt ook name, order_mode (strict of any) en window (visit of day) wijzigen. Resultaten worden bij het lezen uit de definitie berekend, dus het wijzigen van een funnel geldt direct voor alle geschiedenis en eerder getoonde cijfers zullen afwijken. Geeft de funnel terug. Id's komen uit funnels_list. Vereist het recht content.write.

Machtiging: content.write

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

Gebeurtenissen

GET /sites/:site_id/events/properties.json Sleutels van gebeurteniseigenschappen van de afgelopen 30 dagen weergeven event_properties_list

Toont de eigenschapssleutels die aangepaste gebeurtenissen de afgelopen 30 dagen droegen, met weergave-instellingen. Geeft een lijst van {key, events, display_name, hidden, export_safe} terug. events is hoeveel aangepaste gebeurtenissen de sleutel droegen (0 voor een sleutel die instellingen heeft maar recent niet is gezien), display_name is de hernoeming (null als er geen is), hidden zegt dat de sleutel uit rapporten is verborgen en export_safe zegt dat hij is gemarkeerd als zonder persoonsgegevens. Er worden maximaal 200 sleutels teruggegeven, meest gebruikte eerst. Geef event mee om alleen sleutels te zien die bij één ruwe gebeurtenisnaam zijn gezien. Eigenschapswaarden worden hier nooit teruggegeven, gebruik stats_breakdown met dimension prop:<key> of events_get voor waarden. Wijzig instellingen met event_properties_update.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/events/properties.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/events/properties.json Een sleutel van een gebeurteniseigenschap hernoemen of verbergen event_properties_update

Hernoemt, verbergt of markeert één gebeurteniseigenschapssleutel als exportveilig, voor de hele site. Alleen de invoer die je meestuurt verandert. key moet de sleutel zijn zoals opgeslagen (kleine letters, cijfers en underscores, maximaal 64 tekens, bijvoorbeeld plan). display_name is een label van maximaal 64 tekens (stuur het leeg om de hernoeming te verwijderen). hidden haalt de sleutel uit rapporten en de gebeurtenisdetailpivot terwijl de gegevens bewaard blijven. export_safe verklaart dat de sleutel nooit persoonsgegevens bevat, wat zijn waarden opneemt in ruwe exports en warehouse-synchronisaties, dus zet het alleen aan als dat waar is. Hernoemen en verbergen gelden wanneer rapporten worden gelezen en herschrijven geen opgeslagen gegevens. Geeft {key, display_name, hidden, export_safe} terug. Vereist het recht sites.manage. Toon de sleutels met event_properties_list.

Machtiging: sites.manage

Voorbeeld
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 Een gebeurtenis en de geschiedenis ervan verwijderen (draait op de achtergrond, bevestig door de naam te typen) events_delete

Verwijdert een aangepaste gebeurtenis en zijn hele geschiedenis definitief. Dit kan niet ongedaan worden gemaakt. De ruwe gebeurtenisnaam moet twee keer worden verstuurd, in name en nogmaals in confirm, als veiligheidscontrole. Geeft {name, status: queued} terug met HTTP 202 omdat de rijen op de achtergrond in batches worden verwijderd, dus de cijfers blijven veranderen totdat het klaar is. De gebeurtenis wordt ook direct verborgen en de verwijdering wordt vastgelegd in het auditlogboek. Paginaweergaven worden niet beïnvloed. Als je een gebeurtenis alleen niet meer wilt tonen, gebruik dan events_update met hidden true, dat de gegevens behoudt. Vereist het recht sites.manage. Namen komen uit events_list (gebruik het veld raw_names als de gebeurtenis is hernoemd of samengevoegd).

Machtiging: sites.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Gebeurtenissen weergeven met voltooiingen, bezoeken, conversieratio en eerst/laatst gezien events_list

De gebeurtenissenverkenner: elke aangepaste gebeurtenis in de periode. Geeft period, events en hidden terug. Elke gebeurtenis heeft name (de weergavenaam na hernoemen en samenvoegen), raw_names (de namen die de tracker stuurde), completions, visits, conversion_rate (percentage van bezoeken, 0 tot 100), revenue (kleinste eenheden, centen), first_seen en last_seen (ISO 8601-tijdstempels binnen de periode) en currency (de omzetvaluta, null als niet ingesteld). hidden toont gebeurtenissen die je hebt verborgen als {name, display_name}. Gebruik search om gebeurtenissen te houden waarvan de naam bepaalde tekst bevat. Paginaweergaven zijn hier geen gebeurtenissen. Gebruik events_get voor één gebeurtenis in detail en stats_breakdown met dimension event voor een gerangschikte, gepagineerde lijst. Accepteert de gedeelde invoer period, compare, filters en segment.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/events.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/events/merge.json Meerdere gebeurtenissen samenvoegen onder één weergavenaam events_merge

Voegt meerdere ruwe gebeurtenisnamen samen tot één weergavenaam, bijvoorbeeld signup_click en signup_button tot Signup. Rapporten tonen dan één gebeurtenis met de gecombineerde aantallen. Het werkt wanneer rapporten worden gelezen en de opgeslagen gebeurtenissen worden niet gewijzigd of verwijderd. Geef names (de ruwe namen, minstens één) en into (de weergavenaam) mee. Geeft één instellingenobject per samengevoegde naam terug, elk {name, display_name, hidden, currency, updated_at}. Roep om dit ongedaan te maken events_update aan voor een naam met een lege display_name. Vereist het recht sites.manage. Namen komen uit events_list (raw_names).

Machtiging: sites.manage

Voorbeeld
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 Eén gebeurtenis: grafiek, eigenschappen-draaitabel, aggregaten van getaleigenschappen, pagina's en bronnen events_get

Detail van één aangepaste gebeurtenis. Geef name precies zoals getoond in events_list (de weergavenaam na hernoemen en samenvoegen). Geeft period, name, raw_names (de opgeslagen namen erachter), interval, totals, setting, series, property_keys, pivot, numeric, pages, channels en referrers terug. totals heeft completions, visits (bezoeken die hem afvuurden), revenue (kleinste eenheden, centen) en conversion_rate (percentage van alle bezoeken in de periode). series zijn voltooiingen per tijdsvak. setting heeft display_name, hidden en currency. property_keys toont de gevonden eigenschapssleutels. Stuur properties (maximaal 3 sleutels) mee om pivot te krijgen, rijen van {values, completions, visits} voor elke waardencombinatie, top 100. numeric geeft som, gemiddelde en andere cijfers voor eigenschappen die getallen bevatten. pages, channels en referrers zijn de top 10 plaatsen waar de gebeurtenis werd afgevuurd, als {value, completions, visits}. Gebruik events_list voor alle gebeurtenissen, stats_breakdown met dimension prop:<key> voor één eigenschap over de hele site en events_update om hem te hernoemen.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/events/detail.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/events/settings.json Een gebeurtenis hernoemen, verbergen of weer tonen, of de valuta instellen events_update

Wijzigt hoe één aangepaste gebeurtenis wordt getoond: hernoem hem met display_name, verberg of toon hem met hidden, of stel de omzetvaluta in. name is de ruwe gebeurtenisnaam zoals de tracker die stuurde (zie raw_names in events_list). Alleen de invoer die je meestuurt verandert. Een lege display_name verwijdert de hernoeming. hidden haalt de gebeurtenis uit lijsten en rapporten terwijl zijn gegevens bewaard blijven. currency is een ISO 4217-code van drie letters zoals USD, opgeslagen in hoofdletters. Dit werkt wanneer rapporten worden gelezen en er worden geen opgeslagen gebeurtenissen herschreven. Geeft {name, display_name, hidden, currency, updated_at} terug. Gebruik events_merge om meerdere gebeurtenissen te combineren en events_delete om gegevens te wissen. Vereist het recht sites.manage.

Machtiging: sites.manage

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

Help en feedback

POST /help.json Een vraag of feedback sturen naar het team van Privatus Analytics support_message_send

Het bericht wordt per e-mail naar het team gestuurd, samen met de gegevens van je account, werkruimte en abonnement. Het antwoord en een ontvangstbevestiging gaan naar het e-mailadres van je account. Maximaal 10 berichten per dag.

Machtiging: member

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

Imports

DELETE /sites/:site_id/imports/google/connection.json Je Google Analytics-account loskoppelen en de opgeslagen toegangstokens verwijderen imports_google_disconnect

Verwijdert de opgeslagen Google Analytics-koppeling van het aanroepende lid voor de werkruimte van deze site, zodat GA4-imports niet meer uit Google kunnen lezen totdat het opnieuw in de app wordt gekoppeld. Gegevens die al zijn geïmporteerd blijven staan en worden alleen verwijderd door hun import met imports_delete te verwijderen. De toestemming wordt aan de kant van Google niet ingetrokken. Het mislukt met een validatiefout als er geen koppeling is, of terwijl een van de GA4-imports van het lid in de wachtrij staat of draait. Geeft een object terug met disconnected true. Koppelen gebeurt in de app (het Google-inlogscherm), er is geen tool voor.

Machtiging: sites.manage

Voorbeeld
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 Google Analytics 4-properties weergeven om te importeren imports_google_properties

Toont de Google Analytics 4-properties die het gekoppelde Google-account van het aanroepende lid kan lezen. Roep het aan vóór imports_create met source ga4 om de te gebruiken property_id te krijgen. Geeft een lijst van objecten terug met id (zoals properties/123456789, geef die mee als property_id), name en account. Het mislukt met een validatiefout als het lid Google niet voor deze werkruimte heeft gekoppeld (dat gebeurt in de app, er is geen tool voor) of als Google het verzoek weigert. Het doet een live aanroep naar Google en wijzigt niets.

Machtiging: sites.manage

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/imports/google/properties.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/imports.json Een import starten (GA4-property of CSV-upload) imports_create

Start een import van historische gegevens uit een andere analyticstool in een site, op de achtergrond verwerkt, en geeft de import terug met status queued. Kies source ga4 om uit de Google Analytics 4 API te halen, wat een in de app gemaakte Google-koppeling, property_id (uit imports_google_properties) en date_from vereist. date_to is standaard de dag vóór de eerste getrackte gebeurtenis van de site, of gisteren. Andere bronnen (universal_analytics, fathom, simple_analytics, plausible, matomo, umami, clicky) nemen een CSV-export aan die als invoer file wordt geüpload (multipart-formulierupload, tot 50 MB), wat ze onpraktisch maakt om via MCP te starten en het best in de app kan. dimension is alleen nodig om de detectie te overschrijven van waarop de CSV-rijen zijn uitgesplitst, bijvoorbeeld Matomo Label-exports. Geïmporteerde rijen tellen nooit mee voor het gebeurtenissentegoed en verschijnen alleen in statistieken als je include_imported true meegeeft. Een werkruimte kan maximaal 5 imports tegelijk in de wachtrij hebben of laten draaien. Poll imports_get totdat status complete of failed is. Vereist het recht sites.manage.

Machtiging: sites.manage

Voorbeeld
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 Een import en alle geïmporteerde gegevens verwijderen imports_delete

Verwijdert een import definitief samen met elke rij die hij binnenbracht en zijn geüploade bestand. Statistieken die de geïmporteerde gegevens bevatten, veranderen direct als include_imported aan staat en dit kan niet ongedaan worden gemaakt, al kun je opnieuw importeren. De id komt uit imports_list en vereist de site_id. Geeft de verwijderde import terug. Vereist het recht sites.manage. Gegevens die door de tracker zijn verzameld, worden niet aangeraakt.

Machtiging: sites.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Imports van een site weergeven imports_list

Toont de imports van een site, nieuwste eerst. Gebruik het om een import-id te vinden of te controleren of er nog een draait. Filter optioneel op status (queued, running, complete of failed). Gepagineerd met page en per_page (tot 100). Elk item heeft id, site_id, source, status, date_from, date_to, rows_imported, error, completed_at en created_at. Zie imports_get voor details en imports_create om er een te starten.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/imports.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/imports/:id.json Een import en de status ervan ophalen imports_get

Geeft één import van een site terug, gebruikt om een met imports_create gestarte import te pollen. De velden zijn id (imp_...), site_id, source, status (queued, running, complete of failed), date_from en date_to (YYYY-MM-DD, null als onbekend), rows_imported (aantal geïmporteerde dagrijen), error (ingesteld bij failed), completed_at en created_at. De id komt uit imports_create of imports_list. Geïmporteerde rijen verschijnen alleen in statistieken als de statistiekaanroep include_imported op true zet.

Machtiging: analytics.read

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

Kanaalregels

POST /sites/:site_id/channel_rules.json Een kanaalregel toevoegen channel_rules_create

Voegt een aangepaste kanaalregel toe aan het einde van de lijst, zodat die na alle bestaande regels wordt uitgevoerd en de ingebouwde indeling alleen geldt als geen enkele regel overeenkomt. channel is de toe te kennen naam (maximaal 32 tekens, bijvoorbeeld Partners). conditions is een niet-lege lijst van objecten met field (referrer_host, utm_source, utm_medium, utm_campaign, ref of path), operator (is, contains, starts_with of regex) en value. Alle voorwaarden moeten overeenkomen om de regel toe te passen en de vergelijking is hoofdletterongevoelig. Een voorwaarde met een lege waarde wordt weggelaten en een regel zonder voorwaarden wordt afgewezen. Een regex die niet compileert, wordt afgewezen. De regel geldt binnen enkele minuten voor nieuwe bezoeken en wijzigt de geschiedenis niet. Gebruik channel_rules_move om te herordenen en channel_rules_preview om te testen. Vereist sites.manage.

Machtiging: sites.manage

Voorbeeld
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 Een kanaalregel verwijderen channel_rules_delete

Verwijdert een aangepaste kanaalregel, gevonden via zijn id uit channel_rules_list. Bezoeken die al zijn ingedeeld, houden hun kanaal en nieuwe bezoeken vallen door naar de volgende overeenkomende regel of de ingebouwde indeling. De overige regels behouden hun volgorde. Geeft de verwijderde regel terug. Vereist sites.manage.

Machtiging: sites.manage

Voorbeeld
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 Kanaalregels in volgorde weergeven channel_rules_list

Toont de aangepaste kanaalregels van een site in evaluatievolgorde (position 1 eerst). Regels worden van boven naar beneden uitgevoerd op elk nieuw bezoek en de eerste regel waarvan alle voorwaarden overeenkomen, bepaalt het kanaal. Een bezoek dat met geen enkele regel overeenkomt, krijgt het ingebouwde kanaal (direct, organic_search, paid_search, email enzovoort). Elke regel heeft id (een UUID), channel (de naam die hij toekent), position (beginnend bij 1), conditions (een lijst van objecten met field, operator en value, die allemaal moeten overeenkomen) en created_at. Regels beïnvloeden alleen bezoeken die zijn geregistreerd nadat de regel bestaat en herschrijven oude gegevens nooit. Gebruik channel_rules_preview om een voorbeeldbezoek te testen. Vereist analytics.read.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/channel_rules.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/channel_rules/:id/move.json Een kanaalregel omhoog of omlaag verplaatsen channel_rules_move

Verplaatst een kanaalregel binnen de evaluatievolgorde, omdat de eerste overeenkomende regel wint en de volgorde bepaalt welk kanaal een bezoek krijgt. direction is up of down (één plaats), of top of bottom (naar de uiteinden). Een regel die al aan de rand staat, blijft zonder fout staan. Posities worden opnieuw genummerd van 1 tot n en de bijgewerkte regel wordt teruggegeven met zijn nieuwe positie. Gebruik eerst channel_rules_list om de huidige volgorde te zien. Vereist sites.manage.

Machtiging: sites.manage

Voorbeeld
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 Het kanaal bekijken voor een voorbeeldverwijzer en UTM-tags channel_rules_preview

Proefrun die laat zien welk kanaal een voorbeeldbezoek met de huidige regels van de site zou krijgen. Er wordt niets opgeslagen. Stuur een van referrer (een URL of kale hostnaam, voorvoegsels www en m worden genegeerd), utm_source, utm_medium, utm_campaign, ref, path (landingspad zoals /pricing) en paid_click (true als de URL een klik-id zoals gclid bevatte). Het resultaat heeft channel (de naam van het winnende kanaal), custom_rule (true als een aangepaste regel het bepaalde, false als de ingebouwde indeling dat deed) en referrer_host (de opgeschoonde hostnaam die voor de vergelijking is gebruikt). Een verwijzer op de eigen domeinen van de site telt als intern. Gebruik dit na channel_rules_create of channel_rules_move om het effect te bevestigen. Vereist analytics.read.

Machtiging: analytics.read

Voorbeeld
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 Een kanaalregel wijzigen channel_rules_update

Wijzigt een aangepaste kanaalregel, gevonden via zijn id uit channel_rules_list. Stuur channel om het kanaal dat hij toekent te hernoemen en conditions om de hele voorwaardenlijst te vervangen (de lijst wordt vervangen, niet samengevoegd, dus stuur elke voorwaarde die je wilt behouden). Weggelaten invoer blijft ongewijzigd. Voorwaardevelden, operators en regex-geldigheid worden op dezelfde manier gecontroleerd als bij channel_rules_create. De wijziging geldt alleen voor nieuwe bezoeken. Gebruik channel_rules_move om de volgorde te wijzigen. Vereist sites.manage.

Machtiging: sites.manage

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

Leden

POST /workspaces/:workspace_id/invitations.json Mensen uitnodigen via e-mail invitations_create

Nodigt één of meer mensen per e-mail uit voor een werkruimte en stuurt elk een uitnodigingsmail met een link die 14 dagen geldig is. emails is een lijst van maximaal 50 adressen (een door komma's, spaties of puntkomma's gescheiden string werkt ook in het appformulier) en adressen die al lid zijn, worden overgeslagen, maar het is een fout als ze allemaal lid zijn. Een adres uitnodigen dat al een openstaande uitnodiging heeft, vervangt die uitnodiging en stuurt een nieuwe e-mail. role is een van de rollen in members_list (standaard viewer, owner kan niet worden uitgenodigd). Gebruik role custom samen met custom_role_id (de id uit roles_list, Business-abonnement). Standaard omvat de toegang alle sites, ook toekomstige. Om de toegang te beperken zet je all_sites op false en geef je site_ids op als publieke site-id's (pa_...). Openstaande uitnodigingen tellen mee voor de ledenlimiet van het abonnement (Free staat 3 leden toe) en de aanroep mislukt als de limiet zou worden overschreden. Uitnodigingsmails zijn beperkt in frequentie. Je kunt geen rol met meer rechten of sites dan je eigen toekennen. Vereist members.manage. Geeft de aangemaakte uitnodigingen terug (zie invitations_list voor de velden).

Machtiging: members.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Een openstaande uitnodiging intrekken invitations_delete

Trekt een openstaande uitnodiging in zodat de link niet meer werkt en geeft de plek vrij die hij innam. De verwijdering kan niet ongedaan worden gemaakt, nodig de persoon opnieuw uit met invitations_create. Haal de id (een uuid) uit invitations_list. Een aanroeper die tot bepaalde sites is beperkt, kan alleen uitnodigingen intrekken die niet meer dan zijn eigen sites toekennen. Vereist members.manage. Geeft de ingetrokken uitnodiging terug.

Machtiging: members.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Openstaande uitnodigingen weergeven invitations_list

Toont de openstaande teamuitnodigingen van een werkruimte, nieuwste eerst en gepagineerd. Geaccepteerde en ingetrokken uitnodigingen worden niet getoond (gebruik members_list voor mensen die zijn toegetreden) en verlopen uitnodigingen blijven staan totdat ze worden vervangen of ingetrokken. Vereist members.manage. Een aanroeper die tot bepaalde sites is beperkt, ziet alleen uitnodigingen binnen zijn bereik. Elk item heeft id (uuid, gebruikt door invitations_delete), email, role, custom_role (de naam van de aangepaste rol als role custom is, anders null), all_sites, site_ids (publieke site-id's pa_..., leeg als all_sites true is), invited_by (het e-mailadres van de uitnodiger), expires_at en created_at.

Machtiging: members.manage

Voorbeeld
curl https://privatusanalytics.com/workspaces/:workspace_id/invitations.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
DELETE /workspaces/:workspace_id/members/:id.json Een lid verwijderen (of de werkruimte verlaten) members_delete

Verwijdert een lid uit een werkruimte, of laat de aanroeper die verlaten als de id zijn eigen lidmaatschap is. Dit gebeurt direct en kan niet ongedaan worden gemaakt, de persoon verliest toegang, zijn API-tokens voor deze werkruimte worden ingetrokken en elke SCIM-koppeling wordt verwijderd. Zijn notities en eerdere auditregels blijven staan. De eigenaar kan niet worden verwijderd en kan niet vertrekken, draag eerst het eigenaarschap over met ownership_transfers_create. Iemand anders verwijderen vereist members.manage en je kunt niemand verwijderen met meer rechten of sites dan jij hebt. Vertrekken vereist geen recht, maar een token dat in rechten of sites is beperkt kan niet worden gebruikt om te vertrekken. De persoon kan later opnieuw worden uitgenodigd met invitations_create. Haal de id (de lidmaatschaps-uuid) uit members_list. Geeft het verwijderde lid terug.

Machtiging: member · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Werkruimteleden weergeven members_list

Toont de leden van een werkruimte in de volgorde waarin ze zijn toegetreden, gepagineerd. Gebruik query om op naam of e-mailadres te zoeken (gedeeltelijk, hoofdletterongevoelig) en role om op rol te filteren. Openstaande uitnodigingen zijn niet inbegrepen (gebruik invitations_list). Elk lid heeft id (de lidmaatschaps-uuid, gebruikt door members_update, members_delete en ownership_transfers_create), email, name (nullable), role, custom_role (naam, null tenzij role custom is), custom_role_id, all_sites, include_future_sites, site_ids (publieke site-id's pa_..., leeg als all_sites true is), two_factor (of het lid een authenticator-app of passkey heeft), last_active_at (nullable) en created_at. Aanroepers die tot bepaalde sites zijn beperkt, zien alleen leden binnen hun bereik.

Machtiging: member

Voorbeeld
curl https://privatusanalytics.com/workspaces/:workspace_id/members.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /workspaces/:workspace_id/members/:id.json De rol of sitetoegang van een lid wijzigen members_update

Wijzigt de rol en/of de sitetoegang van een lid in een werkruimte. Alleen de invoer die je meestuurt verandert. Om de rol te wijzigen stuur je role (admin, editor, analyst, viewer of billing, en custom met custom_role_id uit roles_list op het Business-abonnement). De rol van de eigenaar kan hier niet worden gewijzigd, gebruik in plaats daarvan ownership_transfers_create, en je kunt je eigen lidmaatschap of dat van iemand met een hogere rang niet bewerken. Om sites te beperken stuur je all_sites false samen met site_ids (publieke site-id's pa_...) en voeg je include_future_sites true toe om ook later aangemaakte sites toe te kennen. Stuur all_sites true om toegang tot elke site te geven. Een site_ids-lijst zonder all_sites false is een fout voor een lid dat nu elke site heeft. Je kunt niet meer rechten of sites toekennen dan je zelf hebt. Vereist members.manage. Haal de id uit members_list. Geeft het bijgewerkte lid terug.

Machtiging: members.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Het eigenaarschap van de werkruimte overdragen aan een ander lid (alleen eigenaar, jij wordt beheerder) ownership_transfers_create

Draagt het eigenaarschap van een werkruimte over aan een ander lid en degradeert de aanroeper tot admin, wat moeilijk ongedaan te maken is omdat alleen de nieuwe eigenaar het kan teruggeven. Alleen de huidige eigenaar kan dit aanroepen en een token mag niet tot bepaalde sites of rechten zijn beperkt. membership_id is de lidmaatschaps-uuid van de nieuwe eigenaar uit members_list (geen gebruikers-id of e-mailadres) en de persoon moet al lid zijn, nodig hem eerst uit als dat niet zo is. De nieuwe eigenaar krijgt de rol owner met toegang tot alle sites en de rol owner kan niet via members_update worden toegekend. Een Free-werkruimte kan niet worden gegeven aan iemand die al een andere Free-werkruimte bezit. De facturering blijft bij de werkruimte. Een token dat dit aanroept, heeft members.manage nodig. Geeft het lidrecord van de nieuwe eigenaar terug.

Machtiging: member · Alleen HTTP (geen MCP-tool)

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

Live

GET /sites/:site_id/live.json Live bezoekers, activiteitenstroom en wat nu populair is (laatste 30 minuten) live_get

Wat er nu op de site gebeurt. Geeft live_visitors (bezoekers van de afgelopen 5 minuten), window_minutes (30), sparkline (bezoeken per minuut van de afgelopen 30 minuten, oudste eerst, elk {minute, visits}), feed (de laatste activiteit), top_pages, top_referrers, top_countries (elk tot 8 rijen van {value, visits}) en top_events (tot 8 van {value, completions}) voor de afgelopen 30 minuten terug. feed-items hebben occurred_at, kind, name, path, channel, referrer_host, country, device en browser. Ze zijn anoniem, zonder IP, plaats of bezoekerspad. feed toont standaard alle hits, of alleen paginaweergaven of gebeurtenissen, met limit items (standaard 50, tot de buffergrootte van 100). De cijfers worden niet gecachet en accepteren geen periode. Geef filters mee (dezelfde indeling als stats_aggregate) om alle cijfers en de feed te beperken tot de overeenkomende hits. Gebruik live_wallboard voor een compact overzicht van meerdere sites en stats_overview voor een volledige periode.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/live.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/live/wallboard.json Wallboardkaarten (live en vandaag) voor een of meer sites live_wallboard

Compacte kaarten met grote getallen voor één of meer sites, gemaakt voor een kantoorscherm. Geeft rotate_seconds, generated_at en sites terug. Elke sitekaart heeft id (pa_...), name, domain, live_visitors (laatste 5 minuten), sparkline (per minuut, laatste 30 minuten), visitors_today, pageviews_today, bounce_rate_today (percentage, 0 tot 100), top_pages, top_countries en top_referrers (elk 5 rijen). Vandaag betekent de eigen tijdzone van de site en de cijfers worden uit live gegevens gelezen. site_ids toont de op te nemen sites (maximaal 12, alleen sites die je token kan openen), anders wordt de site in het pad gebruikt. rotate_seconds wordt begrensd tussen 5 en 300 en vertelt een scherm alleen hoe lang elke kaart wordt getoond. Gebruik wallboard_links_create voor een deelbaar openbaar scherm. Gebruik live_get voor de volledige live weergave van één site.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/live/wallboard.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /wallboard/:token.json Wallboard voor een wallboardtoken (geen aanmelding nodig) live_public_wallboard

Machtiging: public · Alleen HTTP (geen MCP-tool)

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

Meldingen

POST /alerts/:id/acknowledge.json Het laatste incident bevestigen alerts_acknowledge

Markeert het laatste onbevestigde incident van een melding als gezien door de aanroepende gebruiker. Het lost het incident niet op en dempt de melding niet, de melding lost zichzelf op als de voorwaarde verdwijnt. Als de melding geen onbevestigd incident heeft, mislukt de aanroep met een validatiefout. Geeft de melding terug. Gebruik alerts_history om incidenten te zien met hun acknowledged_at en acknowledged_by. Vereist alleen leestoegang tot analytics, dus viewers kunnen bevestigen.

Machtiging: analytics.read

Voorbeeld
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 Een melding aanmaken alerts_create

Maakt een meldingsregel aan die een site bewaakt (of bij kind usage de hele werkruimte) en de gekozen kanalen op de hoogte brengt als die afgaat. Het pad bevat workspace_id. name en kind zijn verplicht. kind bepaalt wat er verder nodig is. threshold vereist site_id, metric (visitors, visits, pageviews, bounce_rate of conversion), operator (gt, gte, lt of lte) en threshold, en conversion heeft ook goal_id nodig. anomaly vereist site_id en metric (visitors, visits of pageviews), vergelijkt het laatste venster met hetzelfde venster in elk van de afgelopen 4 weken en gebruikt sensitivity (low, medium of high). operator lt meldt alleen dalingen, gt alleen pieken en leeg beide. goal vereist site_id, goal_id en threshold (voltooiingen in het venster). no_data vereist site_id en threshold in uren zonder gebeurtenissen (standaard 24). usage heeft geen site nodig en threshold als percentage van het maandelijkse gebeurtenissentegoed (standaard 80). uptime vereist site_id en optioneel uptime_check_id (standaard alle controles van de site). ssl vereist site_id en threshold in dagen voordat een certificaat of domein verloopt (standaard 14). vitals vereist site_id, metric (lcp, inp, cls, fcp of ttfb) en threshold in milliseconden (een score voor cls). subscriptions vereist site_id, metric (mrr_drop: de MRR is de laatste 30 dagen met meer dan threshold procent gedaald, churn_rate of mrr_churn_rate: de churn over de laatste 30 dagen ligt boven threshold procent) en threshold (standaard 10), en wordt overgeslagen zolang de site geen betalingsprovider gekoppeld heeft of er niets te meten valt. window_minutes (standaard 60, 5 tot 10080) bepaalt hoe ver elke evaluatie terugkijkt. channel_ids komen uit notification_channels_list en sensitivity is standaard medium. Meldingen worden elke 5 minuten automatisch geëvalueerd. Drempels voor bounce_rate en conversion zijn percentages van 0 tot 100. testimonials vereist site_id en metric, die zegt wat er wordt bewaakt: new (er komt een nieuwe testimonial binnen), low_rating (er komt een beoordeling van 3 of lager binnen), approved (een testimonial wordt goedgekeurd), allowance (het maandtegoed aan nieuwe testimonials is voor 80% gebruikt, opgebruikt, of houdt een testimonial als wachtend vast), sync_found (een synchronisatie vindt nieuwe reviews), import_failed (een import mislukt, of een bron mislukt drie synchronisaties op rij), removal_requested (iemand vraagt om zijn testimonial te verwijderen) of request_bounced (een verzoekmail komt terug). Een testimonialmelding wordt niet elke 5 minuten geëvalueerd: ze gaat meteen af telkens als het gebeurt, legt een incident vast dat al is opgelost, en haar state blijft ok. Met metric allowance bewaakt ze de hele werkruimte en heeft ze geen site. Geeft de aangemaakte melding terug met state ok.

Machtiging: content.write

Voorbeeld
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 Een melding verwijderen alerts_delete

Verwijdert een meldingsregel en de hele incidentgeschiedenis definitief. Dit kan niet ongedaan worden gemaakt en de notificaties stoppen meteen. Gebruik alerts_update met enabled false of alerts_mute om een melding te pauzeren zonder de geschiedenis te verliezen. De id (alr_...) komt uit alerts_list. Geeft de verwijderde melding terug zoals die was. Vereist schrijfrechten voor content.

Machtiging: content.write

Voorbeeld
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 Incidentgeschiedenis van een melding alerts_history

Toont de incidenten van één melding, nieuwste eerst en gepagineerd. Elk incident heeft triggered_at, resolved_at (null zolang het nog openstaat), value (het gemeten getal toen het afging, in dezelfde eenheid als de drempel van de melding), message (een leesbare beschrijving), acknowledged_at en acknowledged_by (weergavenaam van het lid, of null). Zet open op true om alleen onopgeloste incidenten te zien. Gebruik alerts_acknowledge om het laatste als gezien te markeren en alerts_get voor de huidige status van de regel.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/alerts/:id/history.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /workspaces/:workspace_id/alerts.json Meldingen weergeven alerts_list

Toont de meldingsregels van een werkruimte (het pad bevat workspace_id), gesorteerd op naam en gepagineerd. Geeft een data-array met meldingen terug, met paginering in meta. Elke melding heeft id (alr_...), site_id (pa_..., null voor usage-meldingen die de hele werkruimte bewaken), name, kind, metric, operator, threshold, window_minutes, sensitivity, goal_id, channel_ids (nch_...-id's), state (ok of triggered), enabled, muted_until, last_triggered_at, last_evaluated_at en created_at. Beperk de lijst met site_id, state (ok of triggered) of kind. Gebruik site_alerts_list om de meldingen van één site te tonen via een sitepad, alerts_get voor één melding en alerts_history voor de incidenten. Een aanroeper die tot bepaalde sites is beperkt, ziet nooit usage-meldingen.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/workspaces/:workspace_id/alerts.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /alerts/:id/mute.json De notificaties van een melding dempen (of weer inschakelen) alerts_mute

Dempt de notificaties van één melding gedurende een aantal minuten terwijl die blijft evalueren en incidenten in de geschiedenis vastlegt. minutes is standaard 60, het maximum is 43200 (30 dagen) en 0 heft het dempen meteen op. Het antwoord is de melding met muted_until ingesteld op het einde van de demping (null als het dempen is opgeheven). Gebruik alerts_update met enabled false om helemaal te stoppen met evalueren en alerts_acknowledge om een incident als gezien te markeren zonder te dempen.

Machtiging: content.write

Voorbeeld
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 Een melding ophalen alerts_get

Geeft één meldingsregel terug op id (alr_..., uit alerts_list of site_alerts_list). Het antwoord is het meldingsobject met id, site_id (null voor usage-meldingen), name, kind, metric, operator, threshold, window_minutes, sensitivity, goal_id, channel_ids, state (ok of triggered), enabled, muted_until, last_triggered_at, last_evaluated_at en created_at. Het bevat geen incidenten, gebruik daarvoor alerts_history. threshold is een getal waarvan de eenheid afhangt van kind (zie alerts_create). Vereist leestoegang tot analytics.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/alerts/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /alerts/:id.json Een melding bijwerken alerts_update

Wijzigt een bestaande meldingsregel (id uit alerts_list). Alleen de invoer die je meestuurt verandert, al het andere behoudt zijn waarde. Dezelfde regels per kind als bij alerts_create gelden voor het resultaat, dus het wijzigen van kind of metric kan de bijbehorende site_id, goal_id, operator of threshold vereisen. Stuur channel_ids om de hele lijst met notificatiekanalen te vervangen en enabled false om te stoppen met evalueren zonder te verwijderen. Gebruik alerts_mute om notificaties een tijdje te dempen maar incidenten wel te blijven vastleggen. Geeft de bijgewerkte melding terug.

Machtiging: content.write

Voorbeeld
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 Meldingen van een site weergeven site_alerts_list

Toont de meldingsregels van één site (het pad bevat site_id), gesorteerd op naam en gepagineerd. Geeft dezelfde meldingsobjecten terug en accepteert dezelfde filters voor state en kind als alerts_list, maar alleen voor deze site, dus usage-meldingen (die geen site hebben) zijn niet inbegrepen. Kies dit als je al een site-id hebt en alerts_list als je elke melding in de werkruimte wilt. Elke melding heeft id (alr_...), site_id, name, kind, metric, operator, threshold, window_minutes, sensitivity, goal_id, channel_ids, state (ok of triggered), enabled, muted_until, last_triggered_at, last_evaluated_at en created_at.

Machtiging: analytics.read

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

Meldingskanalen

DELETE /channels/:id.json Een meldingskanaal verwijderen notification_channels_delete

Verwijdert een notificatiekanaal en haalt het uit elke melding die het gebruikte, zodat die meldingen daar niet meer notificeren. Dit kan niet ongedaan worden gemaakt en de meldingen zelf blijven bewaard. De id (nch_...) komt uit notification_channels_list. Geeft het verwijderde kanaal terug.

Machtiging: content.write

Voorbeeld
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 Meldingskanalen weergeven notification_channels_list

Toont de notificatiekanalen van een werkruimte (het pad bevat workspace_id), gesorteerd op naam en gepagineerd. Een kanaal is een plek waar meldingen naartoe worden bezorgd. Elk heeft id (nch_...), kind (email, slack, teams, discord, webhook, pagerduty, opsgenie of push), name, target (een gemaskeerde samenvatting zoals de e-mailadressen of het einde van een webhook-URL, geheimen worden nooit teruggegeven), last_used_at en created_at. Filter op kind. Gebruik de id's als channel_ids in alerts_create en alerts_update. Aanroepers die tot bepaalde sites zijn beperkt, zien alleen kanalen die door meldingen op hun sites worden gebruikt.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/workspaces/:workspace_id/channels.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /channels/:id/send_test.json Een testbericht via een kanaal versturen notification_channels_send_test

Verstuurt een echt testbericht via het kanaal (een e-mail, een chatbericht, een webhookaanroep enzovoort), dus gebruik het alleen als de gebruiker dat wil. De aanroep mislukt met een fout die de oorzaak noemt als bezorgen niet werkt, anders geeft hij het kanaal terug. Testverzendingen zijn per werkruimte beperkt in frequentie en e-mailkanalen ook per extern adres. Gebruik het na notification_channels_create of notification_channels_update om te bevestigen dat een URL of sleutel klopt.

Machtiging: content.write

Voorbeeld
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 Een meldingskanaal ophalen notification_channels_get

Geeft één notificatiekanaal terug op id (nch_..., uit notification_channels_list). Het antwoord heeft kind, name, target (een gemaskeerde samenvatting, geheimen zoals webhook-URL's en sleutels worden nooit teruggegeven), last_used_at en created_at. Gebruik notification_channels_send_test om te controleren of het bezorgt.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/channels/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /notifications/unsubscribe/:token.json Meld een adres af van één meldingskanaal of uptimecontrole met het token uit een e-mail notification_unsubscribes_create

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X POST https://privatusanalytics.com/notifications/unsubscribe/:token.json \
  -H "Content-Type: application/json" -d '{…}'
POST /push_subscription.json Een browser registreren voor pushmeldingen push_subscriptions_create

Registreert de huidige browser voor webpushmeldingen, met de drie waarden uit de PushSubscription van de browser (endpoint, p256dh en auth). Een abonnement ontvangt meldingen van elke werkruimte waartoe het lid behoort, voor elke site, daarom mag een API-token dit alleen gebruiken als het zijn hele werkruimte kan lezen en het lid geen andere werkruimte heeft. Opnieuw aanroepen met hetzelfde endpoint werkt de sleutels bij en verplaatst het abonnement naar de aanroeper. Het endpoint moet een openbare https-URL van een pushservice zijn. Dit registreert alleen de browser, dus meldingen hebben nog steeds een notificatiekanaal van het kind push nodig (notification_channels_create). Geeft endpoint_host (de hostnaam van de pushservice, niet het volledige endpoint) en created_at terug. Sessies die via een identiteitsprovider van een werkruimte zijn geopend, kunnen het niet gebruiken.

Machtiging: member

Voorbeeld
curl -X POST https://privatusanalytics.com/push_subscription.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'
DELETE /push_subscription.json Een pushregistratie van een browser verwijderen push_subscriptions_delete

Verwijdert een van de browserpushregistraties van het ingelogde lid zodat die browser geen meldingen meer ontvangt. Geef hetzelfde endpoint mee dat met push_subscriptions_create is gebruikt. Mislukt met not found als er geen zo'n abonnement voor het lid bestaat. Geeft het verwijderde abonnement terug als endpoint_host en created_at. Het verwijdert geen notificatiekanaal. Onderhevig aan dezelfde tokenbeperkingen als push_subscriptions_create.

Machtiging: member

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

Mobiele app

GET /workspaces/:workspace_id/app.json Haal op wat de mobiele app nodig heeft om een workspace te openen mobile_bootstraps_get

Geeft voor één workspace (het pad bevat workspace_id) de rol en rechten van de aanroeper terug, features (welke afgeschermde rapporten het abonnement bevat: traffic_quality, bot_detection, external_experiments, campaign_costs, status_pages, traffic_rules, experiment_advanced (de geavanceerde instellingen van een experiment) en survey_ai_themes (thema's voor de geschreven antwoorden van een enquête) als true of false, en retention_months als aantal maanden of null voor onbeperkt), sites_count (de sites die de aanroeper kan openen) en min_app_version (de oudste versie van de mobiele app die de API nog bedient). De mobiele app leest dit één keer bij het openen van een workspace, zodat ze een rapport dat het abonnement mist als niet inbegrepen kan tonen in plaats van het op te vragen. Vereist analytics.read.

Machtiging: analytics.read · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl https://privatusanalytics.com/workspaces/:workspace_id/app.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
DELETE /account/device.json Stop pushmeldingen naar de mobiele app mobile_devices_delete

Verwijdert de pushregistratie van de aanroepende login van de mobiele app, zodat het apparaat geen pushmeldingen meer krijgt. De login zelf blijft bestaan en de app kan zich opnieuw registreren. Uitloggen (POST /oauth/revoke met het refresh-token) verwijdert de registratie ook. Alleen een token van de mobiele app kan dit aanroepen.

Machtiging: member · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X DELETE https://privatusanalytics.com/account/device.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'
GET /account/device.json Haal de pushregistratie van de mobiele app op mobile_devices_get

Geeft het apparaat terug van de aanroepende login van de mobiele app: registered (false tot de app een pushtoken heeft geregistreerd), platform, locale, timezone, app_version, kinds (alle soorten push die er zijn), muted_kinds en muted_site_ids (wat de persoon heeft uitgezet). Alleen een token van de mobiele app kan dit aanroepen.

Machtiging: member · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl https://privatusanalytics.com/account/device.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /account/device.json Registreer de mobiele app voor pushmeldingen mobile_devices_update

Registreert het apparaat van de aanroepende login van de mobiele app voor pushmeldingen, of wijzigt wat het ontvangt. Alleen de gestuurde invoer verandert. De eerste aanroep vereist platform en push_token. Een apparaat krijgt een push voor uptime (een check viel uit of is weer bereikbaar), alert (een alert is afgegaan of opgelost), site_audit (een site-audit is klaar), experiment (een experiment heeft een resultaat of is beëindigd) en usage (het maandelijkse tegoed is bijna of helemaal verbruikt), voor elke site die het lid kan openen, op elk abonnement. muted_kinds en muted_site_ids zetten soorten en sites uit, en elk vervangt de hele lijst. Het registreren van een pushtoken die een andere login van de app heeft, verplaatst die naar deze. Alleen een token van de mobiele app kan dit aanroepen. Het is een van de twee schrijfacties die zo'n token mag uitvoeren.

Machtiging: member · Alleen HTTP (geen MCP-tool)

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

Notities

POST /sites/:site_id/notes.json Een notitie aan een site toevoegen (gebruik bron "deploy" voor release-webhooks) notes_create

Voegt een annotatie toe aan de grafieken van één site, bijvoorbeeld een lancering, een campagne of een release. Gebruik workspace_notes_create voor een notitie die op elke site wordt getoond. date is standaard vandaag in de tijdzone van de site en end_date markeert een bereik (YYYY-MM-DD). title wordt in de grafiek getoond, body is platte tekst en url kan naar een PR of changelog wijzen. color is een van neutral, brand, blue, amber, red of violet, standaard neutral. source is standaard manual. Deploy-integraties sturen source deploy en dan is title standaard een tekst die is opgebouwd uit version (een releaseversie of commit) en is color standaard blue. Vereist content.write. Geeft de aangemaakte notitie terug (zie notes_list voor de velden).

Machtiging: content.write

Voorbeeld
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 Een notitie verwijderen notes_delete

Verwijdert een sitenotitie definitief, die uit de grafieken verdwijnt en niet kan worden hersteld. De notitie moet bij deze site horen, notities voor de hele werkruimte worden verwijderd met workspace_notes_delete. Haal de id (note_...) uit notes_list. Vereist content.write. Geeft de verwijderde notitie terug.

Machtiging: content.write

Voorbeeld
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 Notities van een site weergeven (inclusief notities voor de hele werkruimte) notes_list

Toont de annotaties (notities) die op de grafieken van een site worden getoond, nieuwste datum eerst en gepagineerd. Het geeft de eigen notities van de site plus notities voor de hele werkruimte die voor elke site gelden. Filter met from en to (YYYY-MM-DD, een notitie komt overeen als zijn datum in het bereik valt), source (manual, deploy, system, import of incident) en query (een hoofdletterongevoelige zoekopdracht in title, body en url). Gebruik workspace_notes_list voor het werkruimteoverzicht over alle sites. Elke notitie heeft id (note_...), site_id (de publieke site-id pa_..., null voor een notitie voor de hele werkruimte), date, end_date (null voor één dag), title, body (nullable platte tekst), url (nullable), color (neutral, brand, blue, amber, red of violet), source en created_at. Vereist analytics.read.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/notes.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/notes/:id.json Een notitie ophalen notes_get

Geeft één notitie terug op zijn id (note_..., uit notes_list) voor een site, inclusief notities voor de hele werkruimte die voor de site gelden. Een notitie is een gedateerde annotatie die op grafieken wordt getoond, bijvoorbeeld een lancering, een campagne of een deploy. De velden zijn id, site_id (null als voor de hele werkruimte), date en end_date (YYYY-MM-DD, end_date null voor één dag), title, body (nullable), url (nullable), color (neutral, brand, blue, amber, red of violet), source (manual, deploy, system, import of incident) en created_at. Vereist analytics.read.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/notes/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/notes/:id.json Een notitie bewerken notes_update

Bewerkt een sitenotitie en wijzigt alleen de velden die je meestuurt (date, end_date, title, body, url, color). De source kan niet worden gewijzigd. Een lege url verwijdert de link en een date van null wordt genegeerd. De notitie moet bij deze site horen, notities voor de hele werkruimte worden bewerkt met workspace_notes_update. Haal de id (note_...) uit notes_list. Vereist content.write. Geeft de bijgewerkte notitie terug.

Machtiging: content.write

Voorbeeld
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 Een notitie voor de hele werkruimte toevoegen (getoond op elke site) workspace_notes_create

Voegt een annotatie voor de hele werkruimte toe die op de grafieken van elke site in de werkruimte verschijnt, bijvoorbeeld een bedrijfsbrede lancering of een storing. Hij wordt zonder site aangemaakt (site_id is null). Gebruik notes_create voor een notitie op één site. date is standaard vandaag in de tijdzone van de werkruimte, end_date markeert een bereik (YYYY-MM-DD), color is een van neutral, brand, blue, amber, red of violet. Vereist content.write en een aanroeper die tot bepaalde sites is beperkt, kan geen notities voor de hele werkruimte aanmaken. Geeft de aangemaakte notitie terug.

Machtiging: content.write

Voorbeeld
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 Een werkruimtenotitie verwijderen workspace_notes_delete

Verwijdert een notitie voor de hele werkruimte definitief zodat hij uit de grafieken van elke site verdwijnt, en hij kan niet worden hersteld. Alleen notities zonder site kunnen hier worden verwijderd, gebruik notes_delete voor een sitenotitie. Haal de id (note_...) uit workspace_notes_list. Vereist content.write en een aanroeper die tot bepaalde sites is beperkt, kan geen notities voor de hele werkruimte verwijderen. Geeft de verwijderde notitie terug.

Machtiging: content.write

Voorbeeld
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 Notities van een hele werkruimte weergeven workspace_notes_list

Toont de annotaties van een werkruimte, nieuwste datum eerst en gepagineerd. Het geeft notities voor de hele werkruimte (die op elke site worden getoond) plus de notities van elke site waartoe de aanroeper toegang heeft, dus controleer site_id bij elk item (null betekent voor de hele werkruimte). Gebruik notes_list voor één site. Filter met from en to (YYYY-MM-DD), source (manual, deploy, system, import of incident) en query (doorzoekt title, body en url). De velden zijn id (note_...), site_id, date, end_date, title, body, url, color (neutral, brand, blue, amber, red of violet), source en created_at. Vereist analytics.read.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/workspaces/:workspace_id/notes.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /workspaces/:workspace_id/notes/:id.json Een werkruimtenotitie bewerken workspace_notes_update

Bewerkt een notitie voor de hele werkruimte en wijzigt alleen de velden die je meestuurt (date, end_date, title, body, url, color). Alleen notities zonder site kunnen hier worden bewerkt, gebruik notes_update voor een sitenotitie. Haal de id (note_...) uit workspace_notes_list. Vereist content.write en een aanroeper die tot bepaalde sites is beperkt, kan geen notities voor de hele werkruimte bewerken. Geeft de bijgewerkte notitie terug.

Machtiging: content.write

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

Ontvangers van testimonial-verzoeken

POST /sites/:site_id/testimonials/requests/:request_id/recipients.json Voeg personen toe aan een verzoek testimonial_request_recipients_create

Maximaal 500 in één aanroep. Aan een concept toegevoegd wachten ze op testimonial_requests_send. Aan een lopend verzoek toegevoegd krijgen ze meteen hun eerste e-mail. De respons zegt hoeveel er in de wachtrij kwamen en hoeveel zijn overgeslagen, per reden. Toevoegen aan een lopend verzoek e-mailt mensen buiten de workspace, dus het lid wordt per e-mail verteld.

Machtiging: content.write

Voorbeeld
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 Verwijder gekozen personen uit een verzoek testimonial_request_recipients_delete

Alleen personen naar wie niets is verstuurd (queued of skipped). Accepteert maximaal 100 adressen in de body. Via MCP wijzigt de tool niets en reageert hij met de pagina van de app waar een persoon het doet.

Machtiging: content.write · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Voeg personen toe aan een verzoek vanuit een CSV-bestand testimonial_request_recipients_import

Twee aanroepen. Stuur het bestand (of zijn tekst als csv) om de kolommen, hun eerste rijen en een upload_token te krijgen. Stuur daarna de koppeling van kolomnummer naar veld. Maximaal 5 MB en 10.000 rijen. Toevoegen aan een lopend verzoek e-mailt mensen buiten de workspace, dus het lid wordt per e-mail verteld.

Machtiging: content.write

Voorbeeld
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 Toon de personen van een verzoek testimonial_request_recipients_list

Filter op waar een persoon nu staat: status opened is "geopend en niet geklikt of geantwoord". Het e-mailadres is null tenzij de aanroeper content mag bewerken.

Machtiging: analytics.read

Voorbeeld
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 Hervat gekozen personen van een verzoek testimonial_request_recipients_resume

Ze gaan verder waar ze stopten. Accepteert maximaal 100 adressen in de body. Dit e-mailt mensen buiten de workspace, dus het lid wordt per e-mail verteld.

Machtiging: content.write

Voorbeeld
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 Stop gekozen personen van een verzoek testimonial_request_recipients_stop

Ze krijgen geen verdere e-mail. Elk behoudt zijn status en krijgt "stopped" erbij. Accepteert maximaal 100 adressen in de body.

Machtiging: content.write

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

Opgeslagen testimonial-weergaven

POST /sites/:site_id/testimonials/views.json Sla een filter, zoektekst, sortering en lay-out van de inbox onder een naam op testimonial_saved_views_create

Een persoonlijke weergave vereist alleen analytics.read. Een gedeelde vereist content.write en wordt anders geweigerd met de code not_allowed. Een vastgezette weergave staat met zijn aantal in de zijbalk. Open hem met testimonials_list en view_id.

Machtiging: analytics.read

Voorbeeld
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 Verwijder een opgeslagen weergave. Er wordt geen testimonial aangeraakt testimonial_saved_views_destroy

Een opgeslagen weergave is een bewaard filter, dus alleen de weergave verdwijnt. Een widget of wall die door de weergave wordt gevoed behoudt zijn instellingen en heeft niets te tonen tot hij een andere feed krijgt. Een persoonlijke weergave wordt door zijn eigenaar verwijderd, en voor een gedeelde is content.write nodig. Anders wordt de aanroep geweigerd met de code not_allowed. Via MCP wijzigt de tool niets en reageert hij met de pagina van de app waar een persoon het doet.

Machtiging: analytics.read · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Toon de opgeslagen weergaven van een site die de aanroeper kan openen testimonial_saved_views_list

Geeft de eigen weergaven van de aanroeper en elke gedeelde, vastgezette eerst in hun volgorde, daarna op naam. scope is all (de standaard), mine of shared. Geef de id van een weergave als view_id door aan testimonials_list om de testimonials te lezen die hij bevat.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/views.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/testimonials/views/:id.json Hernoem een opgeslagen weergave, wijzig wat hij opslaat, zet hem vast of deel hem testimonial_saved_views_update

Alleen de verstuurde invoer verandert: name, de opgeslagen zoekopdracht (q), filters, sort, layout, columns, position, pinned en shared. Een persoonlijke weergave wordt door zijn eigenaar gewijzigd. Een gedeelde weergave wijzigen, en een weergave delen of niet meer delen, vereist content.write.

Machtiging: analytics.read

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

Prestaties

GET /sites/:site_id/performance.json Web Vitals: p75-scorekaart, dagelijkse trend en uitsplitsingen per pagina, apparaat, browser en land performance_report

Web Vitals-rapport van echte bezoekers. Geeft period, metric, sample_rate, scorecard, trend en breakdowns terug. scorecard heeft één rij voor elk van LCP, INP, CLS, FCP en TTFB met p75 (het 75e percentiel, in milliseconden behalve CLS, dat een eenheidloze score is), samples, rating (good, needs_improvement of poor, null zonder gegevens), good, needs_improvement en poor (percentage van de samples), previous_p75, change (percentage ten opzichte van de eerdere periode, null als onbekend) en thresholds [goede limiet, slechte limiet]. trend is de dagelijkse p75 van de gekozen metric als {date, p75, samples}. breakdowns heeft page, device, browser en country, elk met maximaal limit rijen (standaard 10, max 100) van de gekozen metric als {value, p75, samples, rating, slow_share, poor}, slechtste en drukste eerst. Kies metric met precies een van LCP, INP, CLS, FCP of TTFB in hoofdletters (standaard LCP). sample_rate is het aandeel bezoeken dat vitals rapporteert, dus aantallen zijn samples en niet alle bezoeken. Accepteert de gedeelde invoer period, compare, filters en segment. Gebruik pages_detail voor de vitals van één pagina.

Machtiging: analytics.read

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

Privéfeedback

GET /sites/:site_id/testimonials/forms/:form_id/feedback.json Toon de privéfeedback van een formulier, nieuwste eerst testimonial_feedback_list

Privéfeedback is een antwoord met een beoordeling van 1 tot 3 op een formulier met routering van lage beoordelingen aan (Business en hoger). Het is nooit een testimonial, nooit openbaar en nooit meegeteld.

Machtiging: analytics.read

Voorbeeld
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 Markeer een privéfeedbackantwoord als gelezen, of weer als ongelezen testimonial_feedback_mark_read

Stelt read_at in op één privéfeedbackantwoord, of wist het met read false. Een antwoord markeren dat al is gelezen behoudt het tijdstip waarop het voor het eerst is gelezen. Er wordt niets verstuurd naar de persoon die het schreef.

Machtiging: analytics.read

Voorbeeld
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 Haal één privéfeedbackantwoord op testimonial_feedback_get

Geeft de beoordeling, de tekst, de naam die de persoon opgaf en wanneer het is gelezen. Privéfeedback is een antwoord met een lage beoordeling op een formulier met routering van lage beoordelingen aan. Het is nooit een testimonial en nooit openbaar.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/forms/:form_id/feedback/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"

Rollen

POST /workspaces/:workspace_id/roles.json Een eigen rol aanmaken roles_create

Maakt een aangepaste rol aan, een benoemde set rechten die je aan leden kunt geven via invitations_create of members_update met role custom en de id van de rol als custom_role_id. Het vereist het Business-abonnement en members.manage. permissions moet minstens één naam uit de toegestane waarden opsommen (analytics.read, analytics.export, content.write, sites.manage, uptime.manage, members.manage, tokens.manage, billing.manage, workspace.manage) en je kunt geen recht opnemen dat je zelf niet hebt. Geeft de rol terug (zie roles_list voor de velden).

Machtiging: members.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Een eigen rol verwijderen (mag niet in gebruik zijn) roles_delete

Verwijdert een aangepaste rol. Dit kan niet ongedaan worden gemaakt en het mislukt zolang een lid of openstaande uitnodiging de rol nog gebruikt, dus verplaats die mensen eerst naar een andere rol met members_update (vind ze met members_list). De ingebouwde rollen kunnen niet worden verwijderd. Haal de id (uuid) uit roles_list. Vereist members.manage. Geeft de verwijderde rol terug.

Machtiging: members.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Eigen rollen weergeven roles_list

Toont de aangepaste rollen van een werkruimte, gesorteerd op naam. Aangepaste rollen zijn een functie van het Business-abonnement die rechten bundelen onder je eigen naam en de ingebouwde rollen (owner, admin, editor, analyst, viewer, billing) worden hier niet getoond. Elke rol heeft id (uuid, gebruikt als custom_role_id in invitations_create en members_update), name, permissions (namen zoals analytics.read, content.write, members.manage), members (het aantal leden dat de rol heeft) en created_at. Aanroepers die tot bepaalde sites zijn beperkt, zien alleen rollen binnen hun bereik.

Machtiging: member

Voorbeeld
curl https://privatusanalytics.com/workspaces/:workspace_id/roles.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /workspaces/:workspace_id/roles/:id.json Een eigen rol bijwerken roles_update

Hernoemt een aangepaste rol en/of vervangt zijn hele rechtenlijst. Alleen de invoer die je meestuurt verandert en permissions vervangt de bestaande lijst in plaats van eraan toe te voegen. De wijziging geldt direct voor elk lid en elke openstaande uitnodiging met de rol. Je kunt alleen een rol bewerken waarvan je alle rechten zelf hebt en een aanroeper die tot bepaalde sites is beperkt, heeft bereik nodig over elke site van de houders. Vereist members.manage. Haal de id (uuid) uit roles_list. Geeft de bijgewerkte rol terug.

Machtiging: members.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Een gebruiker provisionen scim_users_create

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X POST https://privatusanalytics.com/scim/v2/Users.json \
  -H "Content-Type: application/json" -d '{…}'
DELETE /scim/v2/Users/:id.json Een gebruiker deprovisionen scim_users_delete

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X DELETE https://privatusanalytics.com/scim/v2/Users/:id.json \
  -H "Content-Type: application/json" -d '{…}'
GET /scim/v2/Users.json Geprovisionde gebruikers weergeven scim_users_list

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl https://privatusanalytics.com/scim/v2/Users.json
GET /scim/v2/Users/:id.json Een geprovisionde gebruiker ophalen scim_users_get

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl https://privatusanalytics.com/scim/v2/Users/:id.json
PATCH /scim/v2/Users/:id.json Een gebruiker bijwerken (PATCH active, name) scim_users_update

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Een geteste SSO-configuratie activeren sso_activate

Zet SSO aan voor de werkruimte. De configuratie moet al status tested hebben, wat gebeurt na een geslaagde proefaanmelding (gestart vanaf de SSO-instellingenpagina van de werkruimte in de app, het vereist inloggen in een browser en kan hier niet worden uitgevoerd), of al active zijn. Alleen Business-abonnement. Na activering kunnen leden inloggen met SSO en het instellen van enforced via sso_update vereist dan SSO voor elke aanmelding. Het mislukt als de configuratie niet is getest of het abonnement geen SSO heeft. Vereist workspace.manage. Geeft de configuratie terug met status active (zie sso_get).

Machtiging: workspace.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 SSO uitschakelen (terug naar concept) sso_deactivate

Zet SSO uit door de configuratie terug te zetten naar draft en enforced te wissen, zodat leden teruggaan naar de andere inlogmethoden van de werkruimte. Providergegevens blijven bewaard. Opnieuw activeren vereist een nieuwe proefaanmelding en sso_activate. Zorg er eerst voor dat leden een andere manier hebben om in te loggen. Dit werkt op elk abonnement. Vereist workspace.manage. Geeft de configuratie terug met status draft (zie sso_get).

Machtiging: workspace.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Een nieuw SCIM-token genereren (wordt één keer getoond) sso_scim_token

Machtiging: workspace.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 SSO-instellingen ophalen sso_get

Geeft de single sign-on (SSO)-configuratie van de werkruimte terug, of een lege draft als er geen bestaat. De velden zijn protocol (saml of oidc), status (draft, testing, tested of active), enforced (leden moeten via SSO inloggen), domains (e-maildomeinen die deze SSO gebruiken), idp_sso_url en idp_entity_id voor SAML, oidc_issuer en oidc_client_id voor OIDC, default_role en jit_provisioning (leden aanmaken bij de eerste SSO-aanmelding) en scim_enabled. Geheimen worden nooit teruggegeven, alleen de booleans idp_cert_present en oidc_client_secret_present. SSO is een functie van het Business-abonnement. Vereist workspace.manage.

Machtiging: workspace.manage

Voorbeeld
curl https://privatusanalytics.com/workspaces/:workspace_id/sso.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /workspaces/:workspace_id/sso.json SSO-instellingen aanmaken of bijwerken sso_update

Maakt de SSO-instellingen van de werkruimte aan of bewerkt ze. Alleen Business-abonnement. Alleen de invoer die je meestuurt verandert. Stuur voor SAML protocol saml met idp_sso_url, idp_entity_id en idp_cert (PEM-tekst). Stuur voor OIDC protocol oidc met oidc_issuer, oidc_client_id en oidc_client_secret, dat alleen schrijfbaar is en waarbij een lege waarde het bestaande geheim behoudt. domains toont de e-maildomeinen die deze SSO gebruiken. default_role is de rol die wordt toegekend aan leden die door provisioning bij de eerste aanmelding of door SCIM zijn aangemaakt (niet owner of custom) en je kunt alleen een rol instellen die je zelf zou kunnen toekennen. Het wijzigen van een identiteitsproviderdetail zet een actieve of geteste configuratie terug naar draft en zet enforced uit, dus hij moet opnieuw worden getest voordat sso_activate werkt. enforced true wordt alleen geaccepteerd terwijl status active is. Vereist workspace.manage. Geeft de configuratie terug (zie sso_get).

Machtiging: workspace.manage · Alleen HTTP (geen MCP-tool)

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

Segmenten

POST /sites/:site_id/segments.json Filters opslaan als segment segments_create

Bewaart een set filters als een benoemd segment dat via segment_id op elke statistiektool kan worden hergebruikt. Geef name en filters mee (alle voorwaarden moeten overeenkomen en een {any: [...]}-groep komt overeen als een van meerdere dat doet, zie de invoer filters voor de dimensienamen en operators). De filters worden gecontroleerd, dus een onbekende dimensie of een onjuiste waarde geeft een 422 terug met een bericht per rij. Gebruik eerst segments_preview om te controleren waarmee een filterset overeenkomt. shared is standaard true en maakt het segment zichtbaar voor iedereen met toegang tot de site, false houdt het privé voor jou. Geeft het segment terug met id (seg_...), site_id, name, description, filters, summary (een beschrijving in gewone taal), shared, mine en tijdstempels. Vereist het recht content.write.

Machtiging: content.write

Voorbeeld
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 Een segment verwijderen segments_delete

Verwijdert een bewaard segment definitief. Dashboards en links die het gebruiken, vallen terug op al het verkeer. Er worden geen analytics-gegevens aangeraakt en er is geen undo. Geeft het verwijderde segment terug. Id's (seg_...) komen uit segments_list. Vereist het recht content.write.

Machtiging: content.write

Voorbeeld
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 Segmenten weergeven die je op een site kunt gebruiken segments_list

Toont de bewaarde segmenten van een site, gesorteerd op naam: de gedeelde plus je eigen privésegmenten. Elk segment heeft id (seg_...), site_id, name, description, filters, summary, shared, mine en tijdstempels. Geef een id als segment_id aan een statistiektool (stats_aggregate, stats_breakdown, funnels_get en andere) om de filters van het segment toe te passen. Gepagineerd via de standaardparameters voor pagina's. Gebruik segments_create om er een toe te voegen.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/segments.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/segments/preview.json Filters in gewone taal beschrijven en de bezoekers tellen die er in de afgelopen 30 dagen aan voldeden segments_preview

Controleert een set filters zonder iets op te slaan. Geeft summary (de filters in gewone taal), visitors (met hoeveel bezoekers het de afgelopen 30 dagen overeenkwam, null als de filters ongeldig zijn), period (altijd 30d) en filters (de opgeschoonde, canonieke vorm die zou worden opgeslagen) terug. Filters gebruiken hetzelfde formaat als segments_create, inclusief {any: [...]}-groepen en optionele uitgeschreven namen voor landen, kanalen en doelen, die worden omgezet in codes en id's. Ongeldige filters geven een 422 terug die de rij noemt. Gebruik het om filters te proberen vóór segments_create en stats_aggregate met filters voor cijfers over een andere periode.

Machtiging: analytics.read

Voorbeeld
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 Een segment ophalen segments_get

Geeft één bewaard segment terug: id (seg_...), site_id, name, description, filters (de opgeslagen voorwaarden), summary (een beschrijving in gewone taal zoals Visitors from the United States on mobile), shared (zichtbaar voor iedereen met sitetoegang), mine (true als jij het hebt aangemaakt) en tijdstempels. Je kunt gedeelde segmenten en je eigen privésegmenten lezen. Id's komen uit segments_list. Gebruik segments_preview om te tellen met hoeveel bezoekers een set filters overeenkomt.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/segments/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/segments/:id.json Een segment hernoemen of de filters of het delen ervan wijzigen segments_update

Hernoemt een segment, vervangt zijn filters of wijzigt wie het kan zien. Alleen de invoer die je meestuurt verandert. Het meesturen van filters vervangt alle bestaande filters, in hetzelfde formaat en met dezelfde controles als bij segments_create. shared false maakt het privé voor zijn maker. description kan worden gewist door het leeg te sturen. Alles wat het segment gebruikt, zoals statistiekaanroepen met zijn segment_id, verandert direct. Geeft het segment terug. Id's komen uit segments_list. Vereist het recht content.write.

Machtiging: content.write

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

Site-audit

GET /sites/:site_id/audit/issues.json Toon de problemen van een site-audit, één rij per controle site_audit_issues_list

Toont de problemen van één audit, één rij per controle die iets signaleerde, ergste eerst (fouten, dan waarschuwingen, dan opmerkingen, elk op aantal getroffen URL's). Elke rij heeft check_key (gebruik het met site_audit_issues_get en de mute-tools), title, category, severity (error, warning of notice), affected (gesignaleerde URL's, gedempte uitgezonderd), added en fixed (wijzigingen sinds de vorige audit) en pageviews (bezoeken aan getroffen pagina's in de 30 dagen vóór de audit). Standaard de laatste voltooide audit, of geef audit_id mee. Filter met severity, category en new_only (alleen controles met URL's die nieuw zijn sinds de vorige audit). Gepagineerd met page en per_page (max 100, standaard 50). Gebruik site_audit_issues_get om te zien welke URL's een controle signaleerde. Vereist analytics.read.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/audit/issues.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/audit/issues/:check_key.json Haal één controle van de site-audit op: waarom het ertoe doet, hoe je het oplost en de getroffen URL's site_audit_issues_get

Details van één controle in een audit, op check_key uit site_audit_issues_list (bijvoorbeeld title_missing). Geeft audit_id, issue (dezelfde rij als in de lijst), why (wat het probleem betekent), fix (hoe je het oplost), muted (true als de hele controle voor de site is gedempt) en urls terug, de gesignaleerde URL's met page_id (gebruik het met site_audit_pages_get), url, pageviews, detail (extra feiten over de bevinding, kan leeg zijn), is_new en muted. sort is pageviews (standaard, drukste eerst) of url. Gepagineerd met page en per_page (max 100, standaard 25). Standaard de laatste voltooide audit, of geef audit_id mee. Gedempte URL's staan onderaan. Vereist analytics.read.

Machtiging: analytics.read

Voorbeeld
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 Een controle van de site-audit dempen voor meerdere URL's, of meerdere hele controles, in één aanroep site_audit_mutes_bulk

Dempt veel bevindingen in één verzoek, alles of niets. Gebruik een van twee vormen. Stuur check_key plus urls (tot 100 URL's) om één controle op meerdere pagina's te dempen, of stuur check_keys (tot 100) om hele controles voor de site te dempen. Meng urls niet met check_keys. Een onbekende controle of een ongeldige URL laat het hele verzoek mislukken en dempt niets. Al gedempte items worden teruggegeven zoals ze zijn. De aantallen en score van de laatste audit worden aan het einde één keer ververst. Geeft de lijst met dempingen terug. Maak elke ongedaan met site_audit_mutes_delete. Vereist content.write.

Machtiging: content.write

Voorbeeld
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 Demp een controle van de site-audit, voor de hele site of één URL site_audit_mutes_create

Dempt één controle voor de site, of alleen voor één URL. check_key komt uit site_audit_issues_list. Laat url weg om de controle overal te dempen, of geef een volledige URL mee (zoals https://example.com/old) om hem alleen op die pagina te dempen, waarbij de URL wordt genormaliseerd zoals de crawler dat doet. De aantallen en score van de laatste audit worden direct bijgewerkt. Hetzelfde twee keer dempen geeft de bestaande demping terug in plaats van een fout. Gebruik site_audit_mutes_bulk om er veel tegelijk te dempen en site_audit_mutes_delete om ongedaan te maken. Vereist content.write.

Machtiging: content.write

Voorbeeld
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 Hef het dempen van een controle van de site-audit op site_audit_mutes_delete

Verwijdert een demping, gevonden via zijn id uit site_audit_mutes_list, zodat de controle of URL weer meetelt in de auditscore. De laatste audit wordt direct opnieuw geteld. Dit verwijdert alleen de demping en verwijdert geen auditgegevens. Geeft de verwijderde demping terug. Vereist content.write.

Machtiging: content.write

Voorbeeld
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 Toon de controles die een site heeft gedempt site_audit_mutes_list

Toont de controles die voor de site zijn gedempt, nieuwste eerst. Een demping verbergt een controle voor de hele site (url is null) of voor één URL, zodat die bevindingen buiten de aantallen en de score blijven hoewel audits ze nog wel vastleggen. Elke rij heeft id (een demp-id, gebruik het met site_audit_mutes_delete), site_id, check_key, title, url (null voor een demping voor de hele site), muted_by (de naam van het lid, null als onbekend) en created_at. Filter met check_key. Gepagineerd met page en per_page (max 100). Vereist analytics.read.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/audit/mutes.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/audit/notifications.json Zet je samenvattingsmail van de audit voor een site aan of uit site_audit_notifications_update

Zet de wekelijkse auditsamenvattingsmail aan of uit voor het aanroepende lid op één site. Het is een persoonlijke voorkeur en heeft geen invloed op andere leden. enabled true stuurt het lid de samenvatting na audits van deze site, false stopt dat. Geeft site_id, enabled en all_sites_enabled terug (false als het lid auditmails voor elke site in zijn accountinstellingen heeft uitgezet, wat dit overschrijft). Elk lid met analytics.read kan zijn eigen instelling wijzigen.

Machtiging: analytics.read

Voorbeeld
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 Toon en filter de pagina's van een site-audit site_audit_pages_list

De paginaverkenner, die de URL's van één audit toont (standaard de laatste voltooide, of audit_id). kind is page (standaard, HTML-documenten), resource (afbeeldingen, scripts, stylesheets) of external (links naar andere sites). Filter op state (queued, fetched, skipped, blocked, failed), status_class (2xx, 3xx, 4xx of 5xx), indexable, in_sitemap, has_issues (alleen niet-gedempte problemen tellen mee), depth (klikken vanaf de startpagina) en query (tekst in de URL of titel). sort is pageviews (standaard), inlinks, depth, response_ms (langzaamste eerst) of word_count (minste eerst). Elke rij heeft id (een UUID voor site_audit_pages_get), url, path, kind, state, status, depth, indexable, indexability_reason, title, word_count, response_ms, cache_status, inlinks, pageviews, in_sitemap en issues (aantal). Gepagineerd met page en per_page (max 100). Vereist analytics.read.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/audit/pages.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/audit/pages/:id.json Haal één gecontroleerde pagina op: metadata, problemen, inkomende en uitgaande links site_audit_pages_get

Alles wat de audit over één URL heeft opgeslagen, op id (een UUID uit site_audit_pages_list of uit de urls van site_audit_issues_get). Geeft id, audit_id, page (url, status, redirect_to, content_type, bytes, response_ms, title, meta_description, h1, canonical, robots_meta, indexable en indexability_reason, word_count, lang, hreflang, schema_types, social tags, images_count, images_missing_alt, linkaantallen, link_score, in_sitemap, has_tracker, pageviews en search_clicks, fetched_at en meer), redirect_target_id (de pagina waarnaar hij binnen de audit doorverwijst, of null), issues (check_key, title, category, severity, detail, is_new, muted) en inlinks en outlinks (elk tot 100 met page_id, url, status, kind, anchor, nofollow, count) terug. Vereist analytics.read.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/audit/pages/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/audit/settings.json Haal de auditinstellingen van een site op site_audit_settings_get

Geeft de auditinstellingen van de site terug. De velden zijn site_id, enabled (geplande audits aan of uit, standaard aan), include_subdomains, check_external_links, exclude_paths, ignored_params, extra_start_urls, next_run_at (wanneer de volgende geplande audit is gepland, null als er geen is), page_limit (pagina's per audit op het huidige abonnement, null als onbeperkt) en interval_days (dagen tussen geplande audits op het abonnement). Een site die zijn instellingen nooit heeft gewijzigd, geeft de standaardwaarden terug. Wijzig ze met site_audit_settings_update. Vereist sites.manage.

Machtiging: sites.manage

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/audit/settings.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/audit/settings.json Wijzig de auditinstellingen van een site site_audit_settings_update

Wijzigt hoe de site wordt geaudit. Alleen de invoer die je meestuurt verandert. enabled zet geplande en handmatige audits aan of uit (aanzetten plant de volgende audit één abonnementsinterval verderop). include_subdomains en check_external_links zijn booleans. De drie lijsten vervangen de opgeslagen lijst, ze worden niet samengevoegd, dus stuur de volledige lijst. exclude_paths zijn padvoorvoegsels die de crawler overslaat en elk moet met een slash beginnen (tot 50). ignored_params zijn namen van queryparameters die nooit een andere pagina opleveren, zoals utm_source of sessionid (tot 50, letters, cijfers, punt, streepje, underscore). extra_start_urls zijn volledige http- of https-URL's om naast de homepage te crawlen (tot 20). Een lijst kan ook als tekst worden verstuurd met één item per regel. Geeft de bijgewerkte instellingen terug. Vereist sites.manage.

Machtiging: sites.manage

Voorbeeld
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 Meld je af voor samenvattingsmails van de site-audit met het token uit een e-mail site_audit_unsubscribes_create

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X POST https://privatusanalytics.com/audit/unsubscribe/:token.json \
  -H "Content-Type: application/json" -d '{…}'
POST /sites/:site_id/audit/cancel.json Annuleer de site-audit die loopt site_audit_cancel

Stopt de audit die voor de site draait of in de wachtrij staat. De audit wordt als canceled gemarkeerd en niets van de onvoltooide crawl wordt gerapporteerd. Een geannuleerde audit verbruikt het maandelijkse tegoed van het Free-abonnement niet. Mislukt met een validatiefout als er geen audit live is. Geeft de geannuleerde audit terug. Vereist content.write.

Machtiging: content.write

Voorbeeld
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 Vergelijk twee site-audits: toegevoegde en opgeloste URL's per controle site_audit_compare

Vergelijkt twee audits van de site, controle voor controle. audit_id is de nieuwere audit en base_id de oudere. Beide hebben verstandige standaardwaarden (de laatste voltooide audit tegen de voltooide audit ervoor) en de tool wisselt ze om als je ze in de verkeerde volgorde meegeeft. Geeft audit en base (elk een auditsamenvatting, base null als er niets eerders is) en checks terug, één object per controle waarvan de URL's veranderden, met check_key, title, category, severity, base_affected, affected, added en fixed (aantallen URL's), fouten eerst gesorteerd. Controles zonder wijziging worden weggelaten. Voor twee opeenvolgende audits zijn added en fixed exact, voor audits die verder uit elkaar liggen zijn ze de nettoverandering. Vereist analytics.read.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/audit/compare.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/audit.json Start nu een site-audit site_audit_run

Start nu een nieuwe crawl en SEO-audit van de site. Het crawlt de openbare pagina's van de site op de achtergrond, dus dit geeft direct de nieuwe audit terug met status queued. Poll site_audit_get (veld live) of site_audit_history totdat de status complete is. Wordt geweigerd met een validatiefout als de audit is uitgezet in site_audit_settings_update, als er al een andere audit in de wachtrij staat of draait, als er in de afgelopen 24 uur een handmatige audit is gestart en op het Free-abonnement als er in de afgelopen 30 dagen een audit liep (mislukte en geannuleerde tellen niet mee). Niet-geverifieerde sites zonder gebeurtenissen zijn ook beperkt tot één audit per dag per domein. Gecrawlde pagina's worden door het abonnement begrensd (Free 100, Pro 1.000, Business 10.000). Controleer eerst can_run in site_audit_get. Vereist content.write.

Machtiging: content.write

Voorbeeld
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 Toon de audits van een site, nieuwste eerst site_audit_history

Toont de audits van de site, nieuwste eerst, elk met id (aud_...), status (queued, running, analyzing, complete, partial, failed of canceled), trigger (first, scheduled of manual), score (0 tot 100, null tot voltooid), score_band, page_limit, pages_crawled, urls_discovered, errors, warnings, notices, new_issues, fixed_issues, failure (reden bij failed, anders null) en de tijdstempels. Filter met status. Gepagineerd met page en per_page (max 100). Gebruik de id's met site_audit_get, site_audit_compare en de tools voor problemen en pagina's. Gebruik site_audit_get voor de huidige staat van één audit. Vereist analytics.read.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/audit/history.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/audit.json Haal het overzicht van de site-audit op: score, aantallen, belangrijkste problemen naar verkeer en de audit die nu loopt site_audit_get

Het overzicht van de SEO-siteaudit, de beste eerste aanroep voor vragen over audits. Standaard beschrijft het de laatste voltooide audit, of geef audit_id mee (aud_..., uit site_audit_history) voor een oudere. Het resultaat heeft audit (de voltooide audit met score 0 tot 100, score_band, score_delta, aantallen fouten, waarschuwingen en opmerkingen, pages_crawled, page_limit, capped, summary en robots-details, of null als er nog geen is voltooid), live (de audit die nu draait, of null), enabled en next_run_at (het schema), can_run met run_blocked (live, disabled of too_soon) en run_allowed_at (wanneer site_audit_run weer is toegestaan), changes (aantallen toegevoegde en opgeloste URL's per ernst), trend (tot 30 recente scores als id, finished_at, score), top_issues (tot 10 controles gerangschikt op ernst en daarna op paginaweergaven van de getroffen pagina's) en email_enabled (je eigen voorkeur voor de samenvattingsmail). Ga verder met site_audit_issues_list voor elk probleem en site_audit_pages_list voor URL's. Vereist analytics.read.

Machtiging: analytics.read

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

Sites

POST /sites/:site_id/data_reset.json Alle gebeurtenissen en bezoeken in een datumbereik verwijderen (draait op de achtergrond, kan niet ongedaan worden gemaakt) sites_reset_data

Verwijdert de paginaweergaven, aangepaste gebeurtenissen en bezoeken van een site voor een datumbereik onomkeerbaar en kan niet ongedaan worden gemaakt. Gebruik het om testverkeer te wissen of een foute periode te verwijderen. Het verwijdert de site, zijn doelen of zijn instellingen niet (gebruik sites_delete voor de site). from en to zijn YYYY-MM-DD-datums, beide inclusief en gelezen in de tijdzone van de site, en to mag niet vóór from liggen. confirm moet het domein van de site zijn precies zoals sites_get het toont (hoofdletters maken niet uit). Het verzoek wordt geaccepteerd en geeft direct status queued, site_id, from en to terug. De verwijdering draait op de achtergrond in batches, dus cijfers in de statistiektools hebben misschien even nodig om te bijsturen, en er is geen statuseindpunt om te pollen, controleer de statistiektools totdat het bereik leeg is. De actie wordt in het auditlogboek vastgelegd. Vereist het recht sites.manage.

Machtiging: sites.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Samenvatting van gefilterd verkeer: bots, verkeersregels of PII-redacties per reden en land (alleen aantallen) sites_filter_stats

Aantallen hits die vóór het opslaan zijn weggegooid of opgeschoond, over de afgelopen dagen. Gebruik het om te zien hoeveel botverkeer, door regels geblokkeerd verkeer of redactie een site heeft. Kies kind met bot (hits weggegooid als bots), rule (hits weggegooid door verkeersregels) of redaction (waarden die door de scrubber voor persoonsgegevens zijn geredigeerd). Geeft kind, days, total, by_reason, by_country en by_day terug. by_reason en by_country zijn lijsten van {value, count} (tot 50, grootste eerst, value null als onbekend) en by_day is een lijst van {date, count}. days wordt begrensd tussen 1 en 395 en is standaard 30. Dit zijn alleen totaalaantallen. Er worden geen IP-adressen, user agents of geredigeerde waarden opgeslagen, dus niets kan aan een persoon worden herleid. Deze hits tellen niet mee als gebeurtenissen voor facturering. Gebruik traffic_rules_list om de regels te zien of te wijzigen.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/filter_stats.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/access.json Leden weergeven en of ze deze site kunnen zien sites_access_list

Toont welke leden van de werkruimte één site kunnen zien. Elk lid van de werkruimte wordt getoond in volgorde van toetreding, niet gepagineerd. De velden zijn membership_id (de uuid die sites_access_update gebruikt), email, name, role, access (true als het lid deze site kan zien) en locked (true voor eigenaren en admins, die altijd toegang hebben en niet kunnen worden gewijzigd). Andere leden hebben toegang als ze alle sites hebben of een expliciete toekenning voor deze site. Gebruik members_list om de volledige sitelijst van een lid te zien. Vereist members.manage.

Machtiging: members.manage

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/access.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/access.json De toegang van één lid tot deze site verlenen of intrekken sites_access_update

Kent de toegang van één lid tot één site toe of verwijdert die. membership_id komt uit sites_access_list (of members_list) en access is true om toe te kennen of false om te verwijderen. Eigenaren en admins hebben altijd toegang en kunnen niet worden gewijzigd. Toegang verwijderen bij een lid dat alle sites had, zet hem over op een expliciete lijst van elke andere site in de werkruimte en zet zijn include_future_sites uit, zodat hij later aangemaakte sites niet krijgt. Toekennen aan iemand die al alle sites heeft, verandert niets. Je kunt geen lid wijzigen dat rechten heeft die jij mist of sites buiten de jouwe. Vereist members.manage. Geeft de rij van dat lid terug in dezelfde vorm als sites_access_list.

Machtiging: members.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Een site met een ster markeren (eerst vastgezet in Alle sites) sites_favorite

Markeert een site met een ster voor de aanroepende gebruiker zodat hij als eerste wordt getoond door sites_list en op de pagina Alle sites. Het geldt alleen voor de aanroeper, nooit voor andere leden, en een al gemarkeerde site markeren verandert niets. De aanroep heeft naast de site-id geen invoer nodig. Gebruik sites_unfavorite om de ster te verwijderen. Vereist analytics.read. Geeft de site terug (zie sites_get), met favorite true.

Machtiging: analytics.read

Voorbeeld
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 De ster van een site verwijderen sites_unfavorite

Verwijdert de ster van de aanroepende gebruiker van een site, zodat hij niet meer als eerste wordt vastgezet in sites_list. Het geldt alleen voor de aanroeper en doet niets als de site geen ster had. Gebruik sites_favorite om hem weer een ster te geven. Vereist analytics.read. Geeft de site terug (zie sites_get), met favorite false.

Machtiging: analytics.read

Voorbeeld
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 Installatiestatus en fragment voor een site sites_setup_get

Geeft terug wat nodig is om tracking op een site te installeren en of er gegevens zijn binnengekomen. De velden zijn site_id, snippet (de kant-en-klare HTML-scripttag met elke trackermodule ingeschakeld), receiving_data (true zodra de eerste gebeurtenis is ontvangen) en first_event_at (ISO 8601, null tot dan). Poll dit na de installatie om te zien of er gebeurtenissen binnenkomen. Gebruik tracking_snippet als je een aangepaste snippet wilt (gekozen modules, handmatige paginaweergaven, SPA-modus, maskers) en tracking_verify om de live pagina op te halen en te controleren of het script aanwezig is. Vereist analytics.read.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/setup.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /transfers/:token/accept.json Een siteoverdracht accepteren in een van je werkruimtes site_transfers_accept

Accepteert een uitnodiging voor een siteoverdracht en verplaatst de site naar een van de werkruimtes van de aanroeper. De padparameter token komt uit de uitnodigingslink en workspace_id is de doelwerkruimte (ws_...) waarin de aanroeper sites.manage heeft. Het eigen e-mailadres van de aanroeper moet overeenkomen met het adres waarnaar de uitnodiging is gestuurd en het doel mag niet de werkruimte zijn waar de site vandaan kwam. De site behoudt zijn id, instellingen, doelen en gegevens, maar toekenningen van toegang per lid worden gewist en zijn gedeelde links verhuizen mee naar de nieuwe werkruimte. Het mislukt als de uitnodiging niet meer openstaat of is verlopen, als het doel zijn sitelimiet van het abonnement heeft bereikt of als het al een actieve site met hetzelfde domein heeft. De verplaatsing kan alleen ongedaan worden gemaakt door terug te dragen. Een token dat dit aanroept, moet bij de doelwerkruimte horen en sites.manage hebben. Geeft de overdracht terug met status accepted.

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X POST https://privatusanalytics.com/transfers/:token/accept.json \
  -H "Content-Type: application/json" -d '{…}'
POST /sites/:site_id/transfer.json Beginnen met het overdragen van een site aan een andere werkruimte (e-mailt de ontvanger) sites_transfer_start

Start het verplaatsen van een site naar een andere werkruimte door de ontvanger een uitnodigingslink te mailen die 7 dagen geldig is. Er verplaatst niets totdat de ontvanger met dat e-mailadres inlogt en accepteert (site_transfers_accept), dus de site blijft tot dan hier. Het starten van een nieuwe overdracht annuleert elke eerdere openstaande overdracht voor dezelfde site. email moet een geldig adres zijn en de ontvanger kiest de doelwerkruimte. Overdrachtsmails zijn beperkt in frequentie. Gebruik sites_transfer_cancel om hem in te trekken. Vereist sites.manage. Geeft de overdracht terug met site_id, site_domain, from_workspace, to_email, status pending en expires_at.

Machtiging: sites.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Een openstaande siteoverdracht annuleren sites_transfer_cancel

Annuleert de openstaande overdrachtsuitnodiging van de site zodat zijn link niet meer werkt. Het mislukt met een validatiefout als er geen overdracht openstaat. Een overdracht die al is geaccepteerd, kan niet worden geannuleerd. Vereist sites.manage. Geeft de overdracht terug met status canceled.

Machtiging: sites.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Een openstaande overdracht ophalen met het token uit de e-mail site_transfers_get

Toont een uitnodiging voor een siteoverdracht aan de hand van het token in zijn link (de padparameter token, uit de uitnodigingsmail die sites_transfer_start verstuurde). De aanroeper moet zijn ingelogd of een API-token gebruiken. Geeft site_id, site_domain, from_workspace (de naam van de verzendende werkruimte), to_workspace_id (null tot geaccepteerd), to_email (het uitgenodigde adres), status (pending, accepted of canceled) en expires_at terug. Uitnodigingen verlopen 7 dagen nadat ze zijn verstuurd. Gebruik site_transfers_accept om hem te accepteren.

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl https://privatusanalytics.com/transfers/:token.json
POST /workspaces/:workspace_id/sites.json Een site toevoegen sites_create

Voegt een website toe aan een werkruimte en geeft hem terug, inclusief de te installeren trackingsnippet. Het abonnement van de werkruimte beperkt het aantal sites (Free staat 3 toe) en de aanroep mislukt met een abonnementslimietfout als die is bereikt. domain is verplicht en wordt genormaliseerd (bijvoorbeeld een volledige URL of voorvoegsel www wordt teruggebracht tot de hostnaam). name is standaard het domein, timezone is standaard de tijdzone van de werkruimte (een IANA-naam zoals Europe/Berlin) en currency de valuta van de werkruimte (een ISO 4217-code van 3 letters zoals USD). Bijwerkingen zijn een melding site.created naar de notificatiekanalen van de werkruimte, een eerste SEO-siteaudit en domeinbeoordelingscontrole die in de wachtrij worden gezet en een e-mail met de trackingcode aan het lid dat hem aanmaakte (met herinneringen zolang er geen gegevens binnenkomen). Leden die tot geselecteerde sites zijn beperkt en zich hebben aangemeld voor toekomstige sites, krijgen er toegang toe. Vereist sites.manage. Ga verder met tracking_snippet of sites_setup_get om te installeren en tracking_verify om te controleren.

Machtiging: sites.manage

Voorbeeld
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 Een site verwijderen (gewist na 7 dagen) sites_delete

Verwijdert een site. Het is een zachte verwijdering, de site stopt met verzamelen en verdwijnt direct uit lijsten en zijn gegevens worden na 7 dagen definitief gewist, dus beschouw het als onomkeerbaar en neem snel contact op met support als het een vergissing was. confirm moet het domein van de site zijn (hoofdletters maken niet uit). Openstaande overdrachten voor de site worden geannuleerd en een melding site.deleted wordt naar de notificatiekanalen van de werkruimte gestuurd. Gebruik sites_reset_data om slechts een deel van het verkeer te wissen en de site te behouden. Vereist sites.manage. Geeft de site terug.

Machtiging: sites.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Sites in een werkruimte weergeven sites_list

Toont de sites van een werkruimte waartoe de aanroeper toegang heeft, gepagineerd, met de sites met ster van de aanroeper eerst. Gebruik query om op domein of naam te zoeken (gedeeltelijk, hoofdletterongevoelig), label om sites te houden met één label en sort als position (de opgeslagen volgorde, de standaard), name of visitors (bezoekers in de laatste 30 dagen, meeste eerst). De response-meta heeft paginering per pagina plus stats, een object met de site-id als sleutel met visitors (recente unieke bezoekers), change (procentuele verandering ten opzichte van de vorige periode), sparkline (een lijst met dagwaarden) en live (huidige bezoekers), en totals over de pagina. Elk item heeft dezelfde velden als sites_get. Dit is het startpunt om de site-id's (pa_...) te vinden die elke andere sitetool gebruikt. Vereist analytics.read.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/workspaces/:workspace_id/sites.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:id.json Een site en alle instellingen ervan ophalen sites_get

Geeft de instellingen en status van één site terug aan de hand van zijn publieke id (pa_..., uit sites_list). Belangrijke velden zijn id, workspace_id (ws_...), domain, name, extra_domains en multi_domain_mode (combined of separate), timezone (IANA-naam), currency (ISO 4217), labels, privacyopties (honor_dnt, honor_gpc, pii_scrubber, redaction_rules, allowed_params, path_masks), retention_months (null betekent alle gegevens bewaren), bot_filtering, traffic_rule_modes (een object dat een regellijst koppelt aan block of allow), vitals_sample_rate (een percentage), conversion_denominator (visits of visitors), public_dashboard en public_indexable, ingest_key_prefix (null als de site geen crawlerlogsleutel heeft), verified_at, first_event_at en last_event_at (null tot er gegevens binnenkomen), domain_rating (nullable), snippet (de HTML-trackingtag), favorite (of de aanroeper hem een ster gaf) en created_at. Vereist analytics.read.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:id.json Site-instellingen bijwerken sites_update

Werkt instellingen van een site bij en wijzigt alleen de velden die je meestuurt. Naam- en identiteitsvelden zijn name, domain (wijzigen controleert de domeinbeoordeling opnieuw), extra_domains (een lijst met hostnamen) en multi_domain_mode (combined telt één bezoeker over domeinen heen, separate houdt ze gescheiden). timezone is een IANA-naam en currency een ISO 4217-code van 3 letters. Privacyvelden zijn honor_dnt, honor_gpc, pii_scrubber, redaction_rules (een lijst van objecten met name en pattern, pattern een reguliere expressie), allowed_params (te behouden queryparameters), path_masks (een lijst van objecten met pattern en replacement) en bot_filtering. Lijsten vervangen de hele bestaande lijst. retention_months mag de bewaartermijn van het abonnement niet overschrijden (Free 6 maanden). traffic_rule_modes koppelt een regellijst (hostnames, paths, referrers, countries, ip_ranges, user_agents of events) aan block of allow. vitals_sample_rate is een percentage en het abonnement begrenst het (10 op Free, 100 op betaalde abonnementen). conversion_denominator is visits of visitors. public_dashboard maakt statistieken zichtbaar voor iedereen met de link en public_indexable laat zoekmachines die pagina indexeren. Wijzigingen gelden binnen enkele ogenblikken voor nieuwe gebeurtenissen. Vereist sites.manage. Geeft de bijgewerkte site terug.

Machtiging: sites.manage

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

Sponsorrapport

GET /sponsor/:token.json Een sponsorrapport, via het token van zijn link ad_reports_get

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl https://privatusanalytics.com/sponsor/:token.json

Sponsorrapporten

Statuspagina's

GET /status/:slug/confirm/:token.json Een abonnement bevestigen via de link uit de e-mail public_status_pages_confirm

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl https://privatusanalytics.com/status/:slug/confirm/:token.json
GET /status/:slug.json Openbare statuspagina: huidige status, uptimebalken van 90 dagen, incidenten en berichten public_status_pages_get

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl https://privatusanalytics.com/status/:slug.json
POST /status/:slug/subscribers.json Een e-mailadres abonneren (dubbele opt-in) public_status_pages_subscribe

Browserclients sturen een Cloudflare Turnstile-token mee als `cf-turnstile-response`. Verzoeken met een API-token hebben dat niet nodig.

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X POST https://privatusanalytics.com/status/:slug/subscribers.json \
  -H "Content-Type: application/json" -d '{…}'
POST /status/:slug/unsubscribe/:token.json Afmelden met het token uit de e-mail public_status_pages_unsubscribe

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Een incidentupdate plaatsen (e-mailt abonnees) status_page_posts_create

Publiceert een incidentupdate op een statuspagina en mailt standaard de bevestigde abonnees. Kies het om een incident aan te kondigen of bij te werken en gebruik status_page_posts_update om een bestaand incident verder te brengen (bijvoorbeeld naar resolved) in plaats van een nieuw bericht te maken. Verplicht is title (max 200 tekens). status is een van investigating (standaard), identified, monitoring of resolved. body is platte tekst (max 10.000 tekens), posted_at is een ISO 8601-tijd die standaard nu is en notify (standaard true) bepaalt de e-mail. E-mails worden alleen verstuurd voor een gepubliceerde pagina en zijn per pagina beperkt in frequentie, boven de limiet wordt het bericht nog steeds gepubliceerd maar krijgt niemand een e-mail. De status_page_id komt uit status_pages_list. Vereist het recht uptime.manage. Geeft het bericht terug met id (spp_...), title, body, status, posted_at en updated_at.

Machtiging: uptime.manage

Voorbeeld
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 Een bericht op een statuspagina verwijderen status_page_posts_delete

Verwijdert een incidentbericht van een statuspagina definitief. Het verdwijnt direct van de openbare pagina en dit kan niet ongedaan worden gemaakt. Er wordt geen e-mail verstuurd. De id komt uit status_page_posts_list. Vereist het recht uptime.manage. Geeft het verwijderde bericht terug.

Machtiging: uptime.manage

Voorbeeld
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 Berichten op een statuspagina weergeven status_page_posts_list

Toont de incidentberichten van een statuspagina, nieuwste eerst op posted_at. Gebruik het om een bericht-id te vinden of de incidentgeschiedenis te zien. Filter optioneel op status (investigating, identified, monitoring of resolved). Gepagineerd met page en per_page (tot 100). Elk bericht heeft id (spp_...), title, body (null als leeg), status, posted_at en updated_at. De status_page_id komt uit status_pages_list.

Machtiging: analytics.read

Voorbeeld
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 Een bericht op een statuspagina bewerken status_page_posts_update

Bewerkt een incidentbericht. Alleen de invoer die je meestuurt verandert, dus stuur alleen status om een incident op te lossen. Abonnees krijgen alleen een e-mail als de status daadwerkelijk verandert en notify niet false is (standaard true). Alleen de title of body bewerken verstuurt geen e-mail. E-mails gaan naar bevestigde abonnees van een gepubliceerde pagina en zijn per pagina beperkt in frequentie. Geldige statuswaarden zijn investigating, identified, monitoring en resolved. De id komt uit status_page_posts_list. Vereist het recht uptime.manage. Geeft het bijgewerkte bericht terug.

Machtiging: uptime.manage

Voorbeeld
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 Een abonnee verwijderen status_page_subscribers_delete

Verwijdert een e-mailabonnee van een statuspagina zodat die geen incident- en uptimemails meer ontvangt. Dit kan niet ongedaan worden gemaakt, maar de persoon kan zich opnieuw abonneren op de openbare pagina. De id is de abonnee-id uit status_page_subscribers_list (een gewone UUID, geen id met voorvoegsel). Vereist het recht uptime.manage. Geeft de verwijderde abonnee terug.

Machtiging: uptime.manage

Voorbeeld
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 Abonnees van een statuspagina weergeven status_page_subscribers_list

Toont de e-mailabonnees van een statuspagina, gesorteerd op e-mailadres. Gebruik confirmed true om alleen mensen te zien die hun adres hebben bevestigd (alleen zij ontvangen e-mails) of confirmed false voor openstaande. Gepagineerd met page en per_page (tot 100). Elk item heeft id (een UUID, gebruikt door status_page_subscribers_delete), email, confirmed_at (null zolang openstaand) en created_at. De status_page_id komt uit status_pages_list. Vereist het recht uptime.manage en geeft persoonsgegevens terug (e-mailadressen). Vereist het Business- of Enterprise-abonnement (anders 402 plan_limit).

Machtiging: uptime.manage

Voorbeeld
curl https://privatusanalytics.com/status_pages/:status_page_id/subscribers.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /workspaces/:workspace_id/status_pages.json Een statuspagina aanmaken status_pages_create

Maakt een openbare statuspagina aan voor een werkruimte die gekozen uptimecontroles, incidentberichten en een e-mailaanmelding toont. Verplicht is name (max 100 tekens). slug (kleine letters, cijfers en koppeltekens, uniek over alle werkruimtes) wordt standaard van de naam afgeleid en de pagina wordt geserveerd op /status/<slug>. check_ids toont de te tonen uptimecontroles (upc_...-id's uit uptime_checks_list) en alleen controles die met public true zijn aangemaakt, worden geaccepteerd. published is standaard true, dus de pagina is direct voor iedereen zichtbaar. Optionele huisstijl is description (max 2.000 tekens), logo_url (moet https zijn), brand_color (hex zoals #06755b) en custom_domain (een hostnaam waarvan je een CNAME naar de app laat wijzen, uniek). Gebruik daarna status_page_posts_create om incidenten te publiceren. Vereist het recht uptime.manage. Geeft de pagina terug met id (sp_...), slug, check_ids en subscribers (aantal bevestigde abonnees). Het abonnement bepaalt hoeveel pagina's een werkruimte heeft: geen op Free (402 plan_limit), 1 op Pro en 10 op Business. Een custom_domain en e-mailabonnees vereisen het Business- of Enterprise-abonnement. Pagina's boven het aantal van het abonnement blijven bewaard en staan offline.

Machtiging: uptime.manage

Voorbeeld
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 Een statuspagina verwijderen status_pages_delete

Verwijdert een statuspagina definitief samen met al zijn incidentberichten en abonnees. De openbare pagina en zijn eigen domein werken direct niet meer en dit kan niet ongedaan worden gemaakt. De uptimecontroles zelf worden niet verwijderd. De id komt uit status_pages_list. Vereist het recht uptime.manage. Geeft de verwijderde pagina terug.

Machtiging: uptime.manage

Voorbeeld
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 Statuspagina's weergeven status_pages_list

Toont de statuspagina's van een werkruimte gesorteerd op naam. Gebruik query om een deel van een naam of slug te vinden. Als de aanroeper tot bepaalde sites is beperkt, worden alleen pagina's teruggegeven waarvan alle controles binnen die sites vallen. Gepagineerd met page en per_page (tot 100). Elk item heeft de velden die bij status_pages_get zijn beschreven. Vereist de workspace_id uit workspaces_list.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/workspaces/:workspace_id/status_pages.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /status_pages/:id.json Een statuspagina ophalen status_pages_get

Geeft één statuspagina terug met zijn instellingen. De velden zijn id (sp_...), workspace_id, name, slug, custom_domain (null als er geen is), description, logo_url, brand_color, published, check_ids (id's van uptimecontroles die op de pagina worden getoond), subscribers (aantal bevestigde e-mailabonnees) en created_at. Gebruik status_page_posts_list voor de incidenten en status_page_subscribers_list voor de mensen. De id komt uit status_pages_list.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/status_pages/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /status_pages/:id.json Een statuspagina wijzigen status_pages_update

Wijzigt een statuspagina. Alleen de invoer die je meestuurt verandert, dus stuur alleen published false om de pagina offline te halen of check_ids om de getoonde controles te vervangen (de hele lijst wordt vervangen, niet samengevoegd). De invoer en zijn limieten zijn dezelfde als bij status_pages_create. Stuur custom_domain als lege string om het eigen domein te verwijderen. Alleen controles met public true kunnen worden getoond en een aanroeper die tot bepaalde sites is beperkt, kan alleen controles van die sites op een pagina zetten. De id komt uit status_pages_list. Vereist het recht uptime.manage. Geeft de bijgewerkte pagina terug.

Machtiging: uptime.manage

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

Testimonial-aankoopkoppelingen

DELETE /sites/:site_id/testimonials/settings/purchase_connections/:id.json Koppel een betaalaccount los testimonial_purchase_connections_delete

Verwijdert de koppeling en zijn sleutel. Kopers die nog op hun eerste e-mail wachten worden niet gevraagd. Het doorlopende verzoek blijft als het record van wat is verstuurd.

Machtiging: sites.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Toon de aankoopkoppelingen van een site testimonial_purchase_connections_list

Elk met zijn regel, zijn status en zijn doorlopende verzoek. De sleutel wordt nooit teruggegeven. paused is true op een abonnement zonder verzoeken na een aankoop: de koppeling blijft bewaard, leest geen betalingen en vraagt niemand.

Machtiging: sites.manage

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

Testimonial-afbeeldingen

POST /sites/:site_id/testimonials/images/bulk.json Maak afbeeldingen voor elke goedgekeurde testimonial van een collectie testimonial_images_bulk_create

Maximaal 200 testimonials per run, elk één afbeelding per formaat. Een tekst die te lang is voor de afbeelding wordt getekend vanuit zijn highlight, of anders vanuit zijn openingszinnen (excerpted zegt hoeveel). De respons toont de gestarte afbeeldingen, de weggelaten testimonials met de reden en export_id: één zip van de PNG's verschijnt op de Exportpagina wanneer ze zijn getekend.

Machtiging: content.write

Voorbeeld
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 Maak afbeeldingen van één goedgekeurde testimonial, één per formaat testimonial_images_create

Alleen een goedgekeurde testimonial kan worden getekend, omdat de PNG een openbaar adres krijgt: elke andere wordt geweigerd met not_approved. Elke afbeelding begint als rendering en wordt op de achtergrond getekend. De respons is de lijst met gestarte afbeeldingen. Poll testimonial_images_get voor file_url. Een 422 met text_too_long betekent dat de woorden niet passen: gebruik text_mode highlight of excerpt, of een hoger formaat.

Machtiging: content.write

Voorbeeld
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 Verwijder een afbeelding en zijn bestand testimonial_images_delete

De PNG wordt van de mediahost verwijderd en zijn adres werkt niet meer. Een afbeelding heeft geen prullenbak. Hij kan opnieuw worden gemaakt vanuit zijn testimonial met testimonial_images_create. Via MCP wijzigt de tool niets en reageert hij met de pagina van de app waar een persoon het doet.

Machtiging: content.write · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Toon de afbeeldingen van een site testimonial_images_list

Afbeeldingen gemaakt van goedgekeurde testimonials, nieuwste eerst, 25 per pagina. Filter op status, template, size of testimonial_id. Elke bevat file_url zodra hij klaar is.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/images.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/testimonials/images/:id.json Haal één afbeelding op, met zijn status en het adres van zijn PNG testimonial_images_get

status is rendering, ready of failed. file_url is ingesteld zodra hij klaar is. Poll dit na testimonial_images_create tot de status niet langer rendering is.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/images/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/testimonials/images/:id.json Wijzig hoe een afbeelding wordt getekend en render hem opnieuw testimonial_images_update

Stuur alleen wat verandert. Zonder iets te sturen rendert hij dezelfde afbeelding opnieuw vanuit de testimonial zoals hij nu is, wat ook de manier is om een mislukte opnieuw te proberen. Een nieuwe render heeft een nieuwe file_url en het oude bestand wordt verwijderd.

Machtiging: content.write

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

Testimonial-analyse

GET /sites/:site_id/testimonials/analytics/breakdown.json Splits één testimonialmetriek op naar formulier, verzoek, widget, wall, testimonial, kanaal, pagina, land of bron testimonial_stats_breakdown

Geeft rijen, grootste eerst, elk met key, label, value en share (een percentage van het totaal), of numerator en denominator voor een percentage. Een rij van een record (formulier, verzoek, widget, wall, testimonial) bevat zijn id. Elke dimensie accepteert slechts enkele metrieken: form en channel nemen de formuliermetrieken, request de verzoekmetrieken, widget en wall hun eigen weergaven, klikken, klikpercentage en video_plays, testimonial neemt testimonial_views en video_plays, page en country nemen de weergave- en klikmetrieken, en source neemt new_testimonials. Een combinatie die niet past reageert met 422 en noemt de metrieken die wel passen.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/analytics/breakdown.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/testimonials/analytics/export.json Zet een bestand van één sectie van de testimonial-analyse in de wachtrij testimonial_stats_export

Maakt een export van het soort testimonial_stats voor de opgegeven periode en geeft hem in de wachtrij terug. Poll exports_get tot status complete is, daarna exports_download. section kiest de rijen: days (één rij per dag, week of maand met elke metriek), forms, channels, requests, widgets, walls, pages, testimonials, sources of countries. Het bestand wordt 7 dagen bewaard. Reageert met 422 in_progress wanneer er al te veel exports in de wachtrij staan.

Machtiging: analytics.export

Voorbeeld
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 Lees de testimonial-analyse van een site in één aanroep testimonial_stats_overview

Geeft alles wat het tabblad Analytics onder Testimonials toont voor een periode: cards (form_views, submissions, completion_rate, answer_rate, widget_views, wall_views, elk met previous en change wanneer compare is ingesteld), chart (één metriek in de tijd), een rij per formulier, verzoek, widget en wall, channels (hoe formulieren werden geopend), pages (waar widgets en walls werden gezien), top_testimonials, new_testimonials (per bron en per huidige status) en countries. Percentages zijn percentages van 0 tot 100 en zijn null wanneer er niets is om door te delen. blank is true zolang de site nooit iets heeft geteld, en recorded toont de metrieken die hij ooit heeft geteld. Dit zijn dagtotalen van de testimonialfunctie, geen webanalyse: gebruik stats_overview voor bezoekers en paginaweergaven.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/analytics.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/testimonials/analytics/timeseries.json Lees één testimonialmetriek per dag, week of maand testimonial_stats_timeseries

Geeft punten met date, to, value en, wanneer compare is ingesteld, previous en previous_date, plus total, previous_total en change. Een percentage (completion_rate, answer_rate, widget_click_rate, wall_click_rate) wordt berekend uit de totalen van elke bucket en is null voor een bucket zonder iets om door te delen. new_testimonials wordt geteld uit de testimonials zelf op de dag waarop elk is toegevoegd.

Machtiging: analytics.read

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

Testimonial-bedrijven

GET /sites/:site_id/testimonials/companies.json Toon de bedrijven van een site met hun personen, testimonials en gemiddelde beoordeling testimonial_companies_list

Eén rij per bedrijf, gegroepeerd op bedrijfsnaam en website van de personen van de site. Een persoon zonder bedrijf zit in geen enkel bedrijf. query komt overeen met een deel van een bedrijfsnaam of van de websitehost. sort is name (de standaard), people_desc, testimonials_desc of received_desc.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/companies.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/testimonials/companies/:id/merge.json Voeg een bedrijf samen met een ander, voor twee schrijfwijzen van één bedrijf testimonial_companies_merge

Elke persoon van het bedrijf in het pad neemt de naam en URL over van het bedrijf dat met into wordt genoemd.

Machtiging: content.write

Voorbeeld
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 Haal één bedrijf op met zijn personen testimonial_companies_get

De id is de sleutel van het bedrijf, een websitehost of een genormaliseerde naam, zoals testimonial_companies_list hem teruggeeft. Zijn testimonials zijn testimonials_list met company.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/companies/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/testimonials/companies/:id.json Corrigeer de naam en URL van een bedrijf voor al zijn personen tegelijk testimonial_companies_update

De id van een bedrijf komt van zijn URL of naam, dus de respons kan een nieuwe id bevatten.

Machtiging: content.write

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

Testimonial-collecties

POST /sites/:site_id/testimonials/collections/:id/items.json Voeg testimonials toe aan een handmatige collectie testimonial_collections_add_items

Maximaal 100 tegelijk. Ze komen onderaan, of bovenaan met position top, in de opgegeven volgorde. De respons heeft meta.undo_id, die testimonials_bulk_undo 7 dagen accepteert. Een slimme collectie accepteert niets met de hand.

Machtiging: content.write

Voorbeeld
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 Maak een collectie, handmatig of slim testimonial_collections_create

kind manual wordt met de hand samengesteld, en testimonial_ids start haar gevuld. kind smart wordt actueel gehouden door condities: rijen van veld, operator en waarde verbonden door match. De respons bevat het aantal en de regels in gewoon Engels, zodat één aanroep een zin in een levende collectie verandert. Probeer de regels eerst met testimonial_collections_preview. Het kind verandert daarna nooit.

Machtiging: content.write

Voorbeeld
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 Verplaats een collectie voor 30 dagen naar de prullenbak testimonial_collections_destroy

Haar testimonials worden niet aangeraakt. Een widget of wall die ze voedt toont er niets van tot ze is hersteld. Herstel haar met testimonial_trash_restore. Via MCP wijzigt de tool niets en reageert hij met de pagina van de app waar een persoon het doet.

Machtiging: content.write · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Toon de collecties van een site testimonial_collections_list

Elke collectie komt met hoeveel testimonials ze nu bevat, hoeveel daarvan zijn goedgekeurd, haar regels in gewoon Engels wanneer het een slimme is, en de widgets en walls die ze voedt. Collecties in de prullenbak worden weggelaten.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/collections.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/testimonials/collections/preview.json Probeer een set regels uit zonder iets op te slaan testimonial_collections_preview

Reageert met hoeveel testimonials er nu overeenkomen, de regels in gewoon Engels en vijf voorbeelden. Gebruik het vóór testimonial_collections_create of testimonial_tags_update. Een ongeldige rij is een 422 die de rij noemt.

Machtiging: analytics.read

Voorbeeld
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 Haal testimonials uit een handmatige collectie testimonial_collections_remove_items

Maximaal 100 tegelijk. De testimonials zelf worden niet gewijzigd. De respons heeft meta.undo_id, en een ongedaanmaking zet elk terug op zijn plaats.

Machtiging: content.write

Voorbeeld
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 Verplaats één testimonial naar een andere plaats in een handmatige collectie testimonial_collections_reorder

Noem de plaats met precies één van position (geteld vanaf 1), before_id of after_id. De volgorde is de volgorde die wordt geserveerd aan elke widget en wall die de collectie voedt.

Machtiging: content.write

Voorbeeld
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 Haal één collectie op met haar aantallen, haar regels en wat ze voedt testimonial_collections_get

Haar testimonials zijn testimonials_list met collection_id.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/collections/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/testimonials/collections/:id.json Wijzig de naam, beschrijving, regels of getoonde volgorde van een collectie testimonial_collections_update

Alleen wat wordt verstuurd verandert. Conditions sturen vervangt elke regel van een slimme collectie. Het kind ligt vast.

Machtiging: content.write

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

Testimonial-duplicaten

POST /sites/:site_id/testimonials/duplicates/dismiss.json Geef aan dat een groep geen duplicaten zijn. Hij keert nooit terug in de wachtrij testimonial_duplicates_dismiss

testimonial_ids moet elke kopie zijn van één open groep van de duplicatenwachtrij die niet in de prullenbak zit, zoals testimonial_duplicates_list ze teruggeeft. Er wordt niets samengevoegd of gewijzigd aan de testimonials, en ze worden nooit meer samen gegroepeerd. Om een groep van drie te splitsen voeg je eerst de twee samen die gelijk zijn. De server reageert met 422 wanneer de id's niet precies één open groep zijn.

Machtiging: content.write

Voorbeeld
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 Toon de groepen testimonials die waarschijnlijk dezelfde zijn, dubbel testimonial_duplicates_list

Exacte overeenkomsten komen eerst. Elke groep bevat zijn kopieën volledig en keeper_id, de kopie die zou blijven. meta.exact_groups is hoeveel groepen testimonial_duplicates_merge_exact zou samenvoegen.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/duplicates.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/testimonials/:id/merge.json Voeg kopieën van een testimonial samen met die in het pad testimonials_merge

De behouden testimonial houdt zijn status en geverifieerde staat, en zijn woorden tenzij body_from een andere kopie noemt. Hij krijgt de tags, handmatige collecties, plaatsingen en aangepaste eigenschappen die hij mist. De kopieën gaan naar de prullenbak, gemarkeerd als samengevoegd, en een kopie herstellen maakt de samenvoeging voor die kopie ongedaan. Een kopie die deze maand binnenkwam telt niet meer als nieuwe testimonial. De respons bevat meta.undo_id.

Machtiging: content.write

Voorbeeld
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 Voeg alle exacte overeenkomsten van de wachtrij in één keer samen testimonial_duplicates_merge_exact

Stuur eerst dry_run voor de aantallen, daarna confirm_count met het totaal dat het gaf. Per aanroep worden maximaal 100 groepen samengevoegd. De respons bevat meta.undo_id, en één ongedaanmaking draait de hele run terug.

Machtiging: content.write

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

Testimonial-huisstijl

DELETE /sites/:site_id/testimonials/settings/brand_kit.json Zet de huisstijl van de testimonials van een site terug naar de standaarden van Privatus Analytics testimonial_brand_kit_reset

Wist elke kleur, elk lettertype, de afronding, de beoordelingsstijl, de logo's en de eigen CSS in één stap, en elk formulier, elke widget en wall verandert mee. Het kan niet ongedaan worden gemaakt, dus een assistent wordt naar de Huisstijl-pagina gestuurd in plaats van het uit te voeren.

Machtiging: sites.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Haal de huisstijl van de testimonials van een site op, met elke kleur opgelost voor licht en donker testimonial_brand_kit_get

Geeft de kleuren, lettertypen, hoekafronding, beoordelingsstijl, logo's, badgeschakelaar en eigen CSS waarmee elk formulier, elke widget en wall van de site wordt getekend. Een instelling die nooit is gewijzigd komt terug met de standaard van Privatus Analytics.

Machtiging: analytics.read

Voorbeeld
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 Wijzig de huisstijl van de testimonials van een site testimonial_brand_kit_update

Alleen de invoer die je stuurt wordt gewijzigd. Stuur een lege tekenreeks om één instelling terug te zetten naar de standaard van Privatus Analytics. Eigen CSS wordt gecontroleerd wanneer hij wordt opgeslagen, en alles wat niet is toegestaan wordt geweigerd met de regel waarop het staat. Eigen CSS vereist het Business-abonnement en de badge verbergen vereist het Business-abonnement. Zonder reageert de server met 402 plan_limit.

Machtiging: sites.manage

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

Testimonial-importbronnen

POST /sites/:site_id/testimonials/imports/sources.json Voeg een importbron toe vanuit een link en start de eerste run testimonial_import_sources_create

Het platform wordt uit de link herkend. Wat de run vindt wacht in de beoordelingsstap (testimonial_import_sources_review) en er wordt niets opgeslagen tot testimonial_import_sources_keep. Niets wat is geïmporteerd telt mee voor de maandelijkse testimonials. Het Free-abonnement haalt 1 import per maand op van een reviewsite of pagina. Daarboven is de respons 402 plan_limit.

Machtiging: content.write

Voorbeeld
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 Verwijder een bron. De testimonials die hij binnenbracht blijven testimonial_import_sources_delete

Verwijdert de bron met zijn runhistorie, wat in zijn beoordelingsstap wacht en zijn geüploade bestand. Testimonials die al uit de bron zijn bewaard blijven in de site. Een persoon doet dit op de pagina van de bron, dus de tool voert niets uit en geeft die pagina terug.

Machtiging: content.write · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Verwerp gevonden items testimonial_import_sources_discard

Geef item_ids (id's uit testimonial_import_sources_review) of all true voor alles wat nog wacht, nooit beide. Een verworpen item verlaat de beoordelingsstap en wat over de persoon is gelezen wordt gewist. Er wordt geen testimonial verwijderd. De server reageert anders met 422 en de code selection of unknown_ids.

Machtiging: content.write

Voorbeeld
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 Zoek testimonials op de eigen website van de site testimonial_import_sources_find

Leest het domein van de site en de pagina's waarnaar het linkt die eruitzien alsof ze testimonials bevatten, eenmaal per site. Het is gratis: het is geen van de opgehaalde imports van het Free-abonnement. Wat het vindt wacht in de beoordelingsstap van de bron die het teruggeeft.

Machtiging: content.write

Voorbeeld
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 Toon de importbronnen van een site testimonial_import_sources_list

meta bevat fetched_imports (used, limit en resets_on voor de maand, limit null is onbeperkt) en sync (het tempo dat het abonnement toestaat).

Machtiging: analytics.read

Voorbeeld
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 Bewaar gevonden items als testimonials testimonial_import_sources_keep

Geef item_ids (maximaal 100) of all. Elk bewaard item wordt opgeslagen via dezelfde route als elke andere testimonial, zodat duplicaten nooit tweemaal worden opgeslagen. Niets wat is bewaard telt mee voor de maandelijkse testimonials. meta zegt hoeveel er zijn bewaard.

Machtiging: content.write

Voorbeeld
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 Toon de platforms die een import kan lezen testimonial_import_platforms_list

Het register van geteste bronnen. Een platform wordt pas getoond zodra zijn import is bewezen op een echte pagina. Elke vermelding geeft aan welke link je moet plakken.

Machtiging: analytics.read

Voorbeeld
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 Toon wat een bron heeft gevonden en waarover nog niet is beslist testimonial_import_sources_review

meta bevat de aantallen per badge (new, already_here, likely_duplicate).

Machtiging: analytics.read

Voorbeeld
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 Lees een bron nu opnieuw testimonial_import_sources_run

Een run met de hand is een opgehaalde import en telt op het Free-abonnement als een van de import van de maand (402 plan_limit daarboven). Geweigerd terwijl een run actief is (422 in_progress) en na 3 runs van de bron in 24 uur op elk abonnement (422 too_many_runs). Bij een bron met een fout wist hij het aantal mislukkingen.

Machtiging: content.write

Voorbeeld
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 Haal één importbron op met zijn status en aantallen testimonial_import_sources_get

Geeft het platform, de naam, het gelezen adres, hoe vaak het opnieuw wordt gelezen, de status, hoeveel items in de beoordelingsstap wachten, hoeveel er zijn bewaard, de mislukkingen op rij en wanneer hij het laatst draaide en de volgende keer draait.

Machtiging: analytics.read

Voorbeeld
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 Wijzig de link, naam, synchronisatie of automatische goedkeuring van een bron, of zet hem op pauze testimonial_import_sources_update

Een synchronisatie boven het abonnement (elke op Free, wekelijks op Pro) wordt geweigerd met 402 plan_limit.

Machtiging: content.write

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

Testimonial-importruns

GET /sites/:site_id/testimonials/imports/sources/:import_source_id/runs.json Toon de runs van een bron, nieuwste eerst testimonial_import_runs_list

Elke run heeft zijn nummer, wat hem startte, zijn status, de gelezen pagina's en hoeveel testimonials hij vond, hoeveel nieuw, duplicaat, mislukt en bewaard waren, met de tijden waarop hij begon en eindigde.

Machtiging: analytics.read

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

Testimonial-media

POST /sites/:site_id/testimonials/media/uploads.json Start een upload, of voeg een bestand toe vanaf een webadres testimonial_media_uploads_create

Twee manieren. Om te uploaden stuur je filename, content_type en byte_size: de respons bevat upload, met de url om het bestand naartoe te PUT'en, de headers om mee te sturen en, voor een groot bestand, parts die een voor een kunnen worden verstuurd. Roep daarna testimonial_media_uploads_finish aan. Of stuur source_url en het bestand wordt voor je gedownload en verwerkt: poll testimonial_media_get tot de state ready is. Limieten: video en audio tot 500 MB en zo lang als het abonnement toestaat (2 minuten op Pro, 10 minuten op Business, geen op Free, waar de server reageert met 402 plan_limit), afbeeldingen tot 10 MB, een logo tot 2 MB.

Machtiging: content.write

Voorbeeld
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 Verwijder een bestand dat geen testimonial bewaart testimonial_media_delete

Een bestand dat bij een testimonial hoort wordt met de testimonial verwijderd, via de prullenbak. De opgeslagen bestanden worden verwijderd en hun adressen worden uit de cache gewist.

Machtiging: content.write · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Meld dat een upload klaar is, zodat het bestand wordt gecontroleerd en verwerkt testimonial_media_uploads_finish

Roep het aan zodra het bestand is verstuurd. Het bestand moet in de uploadopslag staan en precies de beloofde grootte hebben. Twee keer aanroepen is veilig.

Machtiging: content.write

Voorbeeld
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 Probeer een mislukt bestand opnieuw testimonial_media_retry

Verwerkt het bestand opnieuw vanuit de upload die is bewaard. De upload wordt na een mislukking 24 uur bewaard. Daarna reageert de server met not_retryable en moet het bestand opnieuw worden geüpload.

Machtiging: content.write

Voorbeeld
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 Haal één bestand op met zijn status en waar het te laden is testimonial_media_get

De url is het blijvende adres van het voltooide bestand op de mediahost, en hij is null tot de state ready is. Het adres is voor iedereen hetzelfde en niet ondertekend, dus geef alleen het adres door van een bestand waarvan het veld shareable true is.

Machtiging: analytics.read

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

Testimonial-migraties

POST /sites/:site_id/testimonials/imports/migrations/:id/discard.json Verwerp wat een migratie heeft gelezen testimonial_migrations_discard

Geef item_ids (id's uit testimonial_migrations_review) of all true voor alles wat nog wacht, nooit beide. Een verworpen item verlaat de beoordelingsstap en wat over de persoon is gelezen wordt gewist. Er wordt geen testimonial verwijderd. De server reageert anders met 422 en de code selection of unknown_ids.

Machtiging: content.write

Voorbeeld
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 Toon de migraties van een site testimonial_migrations_list

Nieuwste eerst. Een migratie is één exportbestand van een andere testimonialtool. Elke heeft de tool waar hij vandaan kwam, zijn status en hoeveel testimonials zijn gevonden, bewaard, duplicaat en mislukt.

Machtiging: analytics.read

Voorbeeld
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 Bewaar wat een migratie heeft gelezen als testimonials testimonial_migrations_keep

Geef item_ids (maximaal 100 per aanroep, uit testimonial_migrations_review) of all true, nooit beide. Elk bewaard item wordt een testimonial met status pending of approved, en keep_approval true behoudt de goedkeuring die hij in de andere tool had. Met all worden waarschijnlijke duplicaten weggelaten tenzij include_likely_duplicates true is. Niets wat is bewaard telt mee voor de maandelijkse testimonials. Wat niet wordt bewaard blijft 30 dagen in de beoordelingsstap.

Machtiging: content.write

Voorbeeld
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 Toon wat een migratie heeft gelezen en waarover nog niet is beslist testimonial_migrations_review

Toont de items die nog op een beslissing wachten, nieuwste run eerst. show is new, duplicates of all (de standaard), en rating bewaart alleen de genoemde sterrenbeoordelingen. Geef de item-id's door aan testimonial_migrations_keep of testimonial_migrations_discard.

Machtiging: analytics.read

Voorbeeld
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 Haal de voortgang en aantallen van een migratie op testimonial_migrations_get

Geeft de tool waar het bestand vandaan kwam, de status, hoeveel testimonials zijn gevonden, bewaard, duplicaat en mislukt, hoeveel mediabestanden hij meebrengt en wanneer hij begon en eindigde. Poll hem zolang de status zegt dat het bestand nog wordt gelezen.

Machtiging: analytics.read

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

Testimonial-ongedaanmaaklijst

GET /sites/:site_id/testimonials/settings/undo.json Toon wat in de afgelopen 7 dagen is gewijzigd en ongedaan gemaakt kan worden testimonial_undo_records_list

Nieuwste eerst. Elk record zegt wat er draaide, wie het draaide, hoeveel het wijzigde en oversloeg en waarom, en tot wanneer het ongedaan kan worden gemaakt.

Machtiging: analytics.read

Voorbeeld
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 Lees één ongedaanmaakrecord testimonial_undo_records_get

Voor een run op de achtergrond is state running en zegt processed hoe ver hij is.

Machtiging: analytics.read

Voorbeeld
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 Maak een bulkactie of een enkele wijziging ongedaan binnen 7 dagen testimonial_undo_records_undo

Zet de eerdere waarde terug op alles wat de run wijzigde. Wat sindsdien opnieuw is gewijzigd blijft ongemoeid en wordt geteld in left. Een samenvoeging van personen of van duplicaten wordt op dezelfde manier ongedaan gemaakt. Via MCP wordt een ongedaanmaking die zou verwijderen of naar de prullenbak zou verplaatsen niet uitgevoerd (het ongedaan maken van een herstel, van een vertaalrun en van een run voor het maken van afbeeldingen): de tool reageert met human_only en de pagina van de app waar een persoon het doet.

Machtiging: content.write

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

Testimonial-personen

POST /sites/:site_id/testimonials/people/:id/ask_again.json Start een verzoek met deze persoon als enige ontvanger testimonial_people_ask_again

Het gebruikt het formulier dat ze het laatst gebruikten, of het startformulier. Er wordt niets verstuurd tot het verzoek wordt verzonden. De server reageert met 422 en de code no_email, bounced of unsubscribed wanneer de persoon niet kan worden gevraagd, en requests_unavailable zolang verzoeken niet beschikbaar zijn.

Machtiging: content.write

Voorbeeld
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 Voeg een persoon toe aan een site testimonial_people_create

name is verplicht (maximaal 120 tekens). email wordt nooit openbaar getoond: het groepeert latere testimonials onder deze persoon en laat de site hen opnieuw vragen, en een adres dat een andere persoon van de site al heeft wordt geweigerd. avatar_media_id is de id (med_...) van een afbeelding die al naar de site is geüpload. Een persoon toevoegen voegt geen testimonial toe.

Machtiging: content.write

Voorbeeld
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 Verwijder een persoon definitief, met alles wat ze zeiden, de bestanden en de vraaggeschiedenis testimonial_people_delete_permanently

Voor een wisverzoek. Dit kan niet ongedaan worden gemaakt. Het vereist confirm, de naam of id van de persoon, en laat één auditvermelding achter die noch de naam noch de woorden bevat.

Machtiging: sites.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Toon de personen van een site, gefilterd en gesorteerd testimonial_people_list

Elke persoon komt met zijn aantal testimonials, hoeveel er zijn goedgekeurd, zijn gemiddelde beoordeling en de laatste vraag met de uitkomst. Het e-mailadres is null tenzij de aanroeper content.write heeft, en has_email geeft nog steeds aan of er een is vastgelegd.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/people.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/testimonials/people/:id/merge.json Voeg andere records van dezelfde persoon samen met deze testimonial_people_merge

De persoon in het pad blijft. Alles wat de anderen zeiden en elk verzoek dat aan hen is gestuurd gaat over, en de anderen worden verwijderd. Een veld dat deze persoon leeg heeft wordt gevuld vanuit de anderen, oudste eerst, en use geeft aan wiens waarde voor een veld wint. De respons bevat meta.undo_id, die testimonial_undo_records_undo 7 dagen accepteert.

Machtiging: content.write

Voorbeeld
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 Haal één persoon op met wat hen is gevraagd en de personen die op dezelfde persoon lijken testimonial_people_get

Hun testimonials zijn testimonials_list met person_id. can_ask en cannot_ask_reason geven aan of testimonial_people_ask_again zou slagen.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/people/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/testimonials/people/:id.json Bewerk een persoon. Alleen de verstuurde velden veranderen testimonial_people_update

Een lege waarde wist een veld, behalve de naam. Een e-mailadres dat een andere persoon van de site al heeft wordt geweigerd. De bedrijfspagina waarop een persoon staat volgt de bedrijfsnaam en website.

Machtiging: content.write

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

Testimonial-prullenbak

DELETE /sites/:site_id/testimonials/trash/permanent.json Verwijder maximaal 100 items in de prullenbak definitief testimonial_trash_delete_permanently

Dit kan niet ongedaan worden gemaakt. confirm is de naam van het item (de naam van de persoon voor een testimonial) of zijn id voor één item, en de naam van de site voor meerdere. Alleen items in de prullenbak worden geaccepteerd.

Machtiging: sites.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Verwijder alles in de prullenbak definitief testimonial_trash_empty

Dit kan niet ongedaan worden gemaakt. confirm is de naam van de site. Maximaal 100 items worden tegelijk verwijderd. Een grotere prullenbak wordt op de achtergrond geleegd en de respons heeft state running.

Machtiging: sites.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Toon wat in de prullenbak zit, één soort tegelijk testimonial_trash_list

Reageert met de items van één soort (standaard testimonial) en, in meta.counts, hoeveel van elke soort in de prullenbak zitten. Elk item zegt waar het naar terugkeert, wat het toonde, wie het weggooide en wanneer het verdwijnt.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/trash.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/testimonials/trash/restore.json Herstel maximaal 100 items uit de prullenbak, precies zoals ze waren testimonial_trash_restore

De id's moeten van één soort zijn. Testimonials herstellen reageert met een undo-id (data.id en meta.undo_id) die testimonial_undo_records_undo 7 dagen accepteert. Een herstel telt nooit als een nieuwe testimonial.

Machtiging: content.write

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

Testimonial-spreadsheetimports

POST /sites/:site_id/testimonials/imports/spreadsheet.json Upload een spreadsheet (of stuur CSV-tekst) en lees de kolommen testimonial_spreadsheet_imports_create

Stap 1 van een spreadsheetimport. Stuur file (CSV, TSV of XLSX, maximaal 10 MB en 5.000 rijen, kopteksten in de eerste rij) of content (CSV-tekst tot 1 MB). De respons bevat de kolommen, drie voorbeeldwaarden van elk en een eerste gok waar elke kolom heen gaat. Er wordt nog niets geïmporteerd: ga verder met testimonial_spreadsheet_imports_update en testimonial_spreadsheet_imports_run. Een spreadsheet telt nooit mee voor de maandelijkse testimonials of de opgehaalde imports.

Machtiging: content.write

Voorbeeld
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 Lees het gekoppelde bestand in de beoordelingsstap in testimonial_spreadsheet_imports_run

Rijen die bruikbaar zijn wachten met een selectievakje. Rijen die dat niet zijn worden getoond met hun rijnummer en de reden. Bewaar ze met testimonial_import_sources_keep, met de id van de spreadsheet als bron-id.

Machtiging: content.write

Voorbeeld
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 Haal de kolommen, voorbeelden, koppeling, opties en aantallen van een spreadsheet op testimonial_spreadsheet_imports_get

Geeft de kolommen van het bestand met voorbeeldwaarden, naar welk veld elke kolom gaat, de opties (standaardstatus, tags, collectie, datumnotatie, wat er met duplicaten gebeurt) en, zodra hij heeft gedraaid, hoeveel rijen in de beoordelingsstap wachten en hoeveel er zijn bewaard.

Machtiging: analytics.read

Voorbeeld
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 Sla op welke kolom waarheen gaat, en de opties voor het bestand testimonial_spreadsheet_imports_update

Stap 2 en 3 van een spreadsheetimport. mapping is een object van kolomnaam naar veld, met een lege waarde voor een kolom die wordt weggelaten, en twee kolommen kunnen niet naar één veld gaan. De opties zijn default_status (pending of approved), tags, collection_id (een handmatige collectie), default_source_name, date_format (auto, ymd, dmy of mdy) en duplicates (skip of queue). Alleen wat wordt verstuurd verandert, en er wordt niets geïmporteerd tot testimonial_spreadsheet_imports_run.

Machtiging: content.write

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

Testimonial-tags

POST /sites/:site_id/testimonials/tags/:id/apply_rules.json Laat de regels van een tag los op de testimonials die al zijn opgeslagen testimonial_tags_apply_rules

dry_run true (de standaard) wijzigt niets en reageert met de aantallen: hoeveel er zouden worden getagd, van hoeveel, en hoeveel de tag al hebben. dry_run false tagt ze als één bulkactie en reageert met undo_id, die testimonials_bulk_undo 7 dagen accepteert. Meer dan 100 draaien op de achtergrond en de respons heeft state running.

Machtiging: content.write

Voorbeeld
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 Maak een tag, met autotagregels als je ze meestuurt testimonial_tags_create

Een regel is { match, conditions }. Een testimonial die aan één regel voldoet krijgt de tag op het moment dat hij binnenkomt. Regels voegen alleen ooit een tag toe. Om te taggen wat al is opgeslagen roep je daarna testimonial_tags_apply_rules aan.

Machtiging: content.write

Voorbeeld
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 Verplaats een tag voor 30 dagen naar de prullenbak testimonial_tags_destroy

Hij verdwijnt van elke testimonial, elk filter en elke kiezer. Hem herstellen met testimonial_trash_restore zet hem terug op elke testimonial die hem had. Een slimme collectie waarvan de regels hem noemen komt tot dan met niets overeen. Via MCP wijzigt de tool niets en reageert hij met de pagina van de app waar een persoon het doet.

Machtiging: content.write · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Toon de tags van een site met hun regels testimonial_tags_list

Elke tag komt met hoeveel testimonials hem dragen, zijn autotagregels als gestructureerde condities en in gewoon Engels, en wanneer een regel hem het laatst toepaste. Tags in de prullenbak worden weggelaten.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/tags.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/testimonials/tags/:id/merge.json Voeg een tag samen met een andere testimonial_tags_merge

Elke testimonial die deze tag had krijgt de andere, elke regel gaat naar de andere, elke slimme collectie, opgeslagen weergave, widget en wall die deze tag noemde noemt de andere, en deze tag gaat leeg naar de prullenbak. Reageert met de tag die blijft.

Machtiging: content.write

Voorbeeld
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 Wijzig de naam, kleur of regels van een tag testimonial_tags_update

Alleen wat wordt verstuurd verandert. Regels sturen vervangt elke regel van de tag, en een lege lijst verwijdert ze allemaal.

Machtiging: content.write

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

Testimonial-talen

GET /sites/:site_id/testimonials/settings/languages.json Haal de taalinstellingen van de testimonials van een site op testimonial_languages_get

De standaardtaal, de aangeboden talen, of nieuw goedgekeurde testimonials automatisch worden vertaald, of het abonnement vertalen omvat, of vertalen is ingesteld en de gebruikte en resterende tekens van de maand.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/settings/languages.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/testimonials/settings/languages.json Stel de standaardtaal, de aangeboden talen en automatisch vertalen in testimonial_languages_update

Stuur alleen wat verandert. De standaardtaal zit altijd bij de aangeboden talen, en een taal waarin een formulier is geschreven kan niet worden verwijderd (in_use). auto_translate aanzetten vereist Business of hoger (402 plan_limit elders): vanaf dan worden de woorden van elke nieuw goedgekeurde testimonial naar Google Cloud Translation gestuurd, en het lid krijgt een e-mail dat een assistent dit heeft gewijzigd.

Machtiging: sites.manage

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

Testimonial-vermeldingen

GET /sites/:site_id/testimonials/mentions.json Toon de woorden en uitdrukkingen die terugkomen in de testimonials van een site testimonial_mentions_list

Elke term komt met hoeveel testimonials hem bevatten, zijn aandeel, de gemiddelde beoordeling daarvan en de laatste 90 dagen tegenover de 90 daarvoor. Sorteer op rating_asc om te lezen waarover mensen klagen, of op rising voor wat nieuw is. meta.refreshed_at zegt wanneer de termen het laatst zijn opgebouwd. Geef een term als mention door aan testimonials_list om de testimonials te lezen.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/mentions.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/testimonials/mentions/tag.json Tag elke testimonial die een woord of uitdrukking noemt testimonial_mentions_tag

Eén bulkactie op het hele resultaat, met ongedaan maken. De term is elk woord of elke tweewoordsuitdrukking, vergeleken met stemming zoals Vermeldingen worden geteld. Een tag die voor het eerst wordt genoemd wordt aangemaakt. Reageert met een undo-id die testimonials_bulk_undo 7 dagen accepteert. Meer dan 100 draaien op de achtergrond.

Machtiging: content.write

Voorbeeld
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 Verberg een term die alleen ruis is, of toon hem weer testimonial_mentions_update

Een verborgen term verdwijnt uit de Vermeldingenlijst en de Vermeldingenfacet van de inbox, en blijft verborgen wanneer de termen opnieuw worden opgebouwd.

Machtiging: content.write

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

Testimonial-vertalingen

POST /sites/:site_id/testimonials/translations.json Vertaal testimonials naar de talen die een site aanbiedt testimonial_translations_create

Roep eerst testimonial_translations_estimate aan. Dit stuurt de body, titel en highlight van de gekozen testimonials naar Google Cloud Translation (nooit een naam, een e-mailadres of een bedrijf), en het lid krijgt een e-mail dat een assistent het heeft gestart. Het vertalen gebeurt op de achtergrond, en een rij die al is opgeslagen wordt nooit opnieuw opgehaald. Bij het tekenquotum van de maand worden de overige opgeslagen als wachtend en gaan door op de 1e. Reageert met 402 plan_limit onder Business, en met 422 not_configured zolang vertalen niet is ingesteld.

Machtiging: content.write

Voorbeeld
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 Verwijder één opgeslagen vertaling testimonial_translations_delete

De testimonial wordt weer in zijn eigen woorden getoond overal waar die taal werd gebruikt. Tekens die er al aan zijn besteed worden niet teruggegeven. Werkt op elk abonnement. Via MCP wijzigt de tool niets en reageert hij met de pagina van de app waar een persoon het doet.

Machtiging: content.write · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Tel de tekens die een vertaalrun zou versturen, voordat je hem uitvoert testimonial_translations_estimate

Geef op één manier aan welke testimonials: testimonial_ids, collection_id of all_approved. De respons geeft de testimonials, de tekens die zouden worden verstuurd, de tekens die al zijn opgeslagen en wat er van de maand over is. Hij noemt tekens, nooit een prijs. Er wordt niets opgehaald.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/translations/estimate.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/testimonials/translations.json Toon de opgeslagen vertalingen van een site testimonial_translations_list

Eén rij per testimonial en taal, meest recent gewijzigd eerst, 25 per pagina. Filter op language, state, origin of testimonial_id. Werkt op elk abonnement, zodat vertalingen die vóór een downgrade zijn gemaakt nog kunnen worden gelezen.

Machtiging: analytics.read

Voorbeeld
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 Schrijf of corrigeer één vertaling met de hand testimonial_translations_update

De rij wordt als bewerkt gemarkeerd, en een latere run overschrijft haar niet tenzij overwrite_edited wordt verstuurd. Er wordt niets opgehaald en niets telt mee voor het quotum. Het origineel wordt nooit gewijzigd. Business en hoger (402 plan_limit elders).

Machtiging: content.write

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

Testimonial-verzoeken

POST /requests/resubscribe/:token.json Bevestig dat je weer testimonial-verzoeken ontvangt testimonial_request_resubscribes_confirm

De POST achter de knop van de bevestigingspagina. Hij heft de afmelding op, zodat het adres weer kan worden gevraagd.

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X POST https://privatusanalytics.com/requests/resubscribe/:token.json \
  -H "Content-Type: application/json" -d '{…}'
POST /requests/resubscribe.json Vraag de e-mail aan waarmee een adres weer verzoeken kan ontvangen testimonial_request_resubscribes_create

Stuurt een bevestigingsmail naar het adres zelf, wanneer het was afgemeld. De respons is hetzelfde of het nu was afgemeld of niet.

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X POST https://privatusanalytics.com/requests/resubscribe.json \
  -H "Content-Type: application/json" -d '{…}'
POST /requests/unsubscribe/:token.json Meld een adres af voor testimonial-verzoeken testimonial_request_unsubscribes_create

De POST achter de knop van de afmeldpagina, en wat de eigen afmeldknop van een mailapp aanroept. De token komt uit de link in de e-mail.

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X POST https://privatusanalytics.com/requests/unsubscribe/:token.json \
  -H "Content-Type: application/json" -d '{…}'
POST /sites/:site_id/testimonials/requests.json Start een verzoek als concept testimonial_requests_create

Maakt een concept met zijn e-mail en zijn ontvangers. Er wordt niets verstuurd tot testimonial_requests_send. Alles wat wordt weggelaten begint met een standaard: de e-mail, één herinnering na 5 dagen, de naam van de site als afzender en jij als antwoordadres. Elke ontvanger wordt opgeslagen als queued, of als skipped met de reden.

Machtiging: content.write

Voorbeeld
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 Verwijder een concept testimonial_requests_delete

Alleen een verzoek dat nooit is verstuurd kan worden verwijderd. Een verstuurd verzoek blijft bewaard als het record van de verzonden e-mail. Via MCP wijzigt de tool niets en reageert hij met de pagina van de app waar een persoon het doet.

Machtiging: content.write · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Kopieer een verzoek naar een nieuw concept testimonial_requests_duplicate

De kopie heeft hetzelfde formulier en dezelfde e-mail, en nog geen ontvangers.

Machtiging: content.write

Voorbeeld
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 Toon de verzoeken van een site testimonial_requests_list

Nieuwste eerst, elk met zijn e-mail en zijn trechteraantallen. Filter op status, formulier of periode.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/requests.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/testimonials/requests/:id/preview.json Bekijk één e-mail van een verzoek zoals de eerste ontvanger hem krijgt testimonial_requests_preview

De afzender, het onderwerp en de tekst met de samenvoegvelden ingevuld. Er wordt niets verstuurd. step 0 is de eerste e-mail, 1 tot 3 de herinneringen.

Machtiging: analytics.read

Voorbeeld
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 Hervat een gestopt verzoek testimonial_requests_resume

Gaat verder waar het stopte. Een herinnering die verviel terwijl het gestopt was wordt opnieuw getimed vanaf nu, zodat er niets in één keer de deur uitgaat. Dit e-mailt mensen buiten de workspace, dus het lid wordt per e-mail verteld dat een assistent het heeft hervat.

Machtiging: content.write

Voorbeeld
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 Verstuur een verzoek, nu of op een tijdstip testimonial_requests_send

Vereist confirm_relationship: true. De ontvangers in de wachtrij worden nog eens gecontroleerd, daarna gaan de eerste e-mails de deur uit (of wachten op send_at). Herinneringen gaan naar de mensen die niet hebben geantwoord. E-mails voor verzoeken worden verstuurd via de eigen e-mailprovider van de site (Settings > Email sending, Business en hoger), dus een site zonder werkende koppeling krijgt 422 no_email_connection of email_connection_paused, en een ander abonnement krijgt 402 plan_limit. Elke e-mail telt mee voor het maandelijkse maximum van de site aan verzoek-e-mails (10.000 tenzij wij een ander instellen). Bij het maximum wordt niets weggegooid: de mensen blijven in de wachtrij en het verzenden gaat door op de 1e. Dit e-mailt mensen buiten de workspace, dus het lid wordt per e-mail verteld dat een assistent het heeft verstuurd.

Machtiging: content.write

Voorbeeld
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 Verstuur één e-mail van een verzoek naar je eigen adres testimonial_requests_send_test

Gaat alleen naar het eigen adres van de aanroeper, via de eigen e-mailprovider van de site zoals de echte (422 no_email_connection zonder). Het heeft geen persoonlijke link en geen opentelling, en telt niet mee voor het maandelijkse maximum van de site.

Machtiging: content.write

Voorbeeld
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 Haal één verzoek op met zijn e-mail, herinneringen en trechteraantallen testimonial_requests_get

Geeft de e-mail, de herinneringen, de status en de trechteraantallen (sent, opened, clicked, submitted, bounced, unsubscribed) van één verzoek.

Machtiging: analytics.read

Voorbeeld
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 Stop een verzoek testimonial_requests_stop

Annuleert onmiddellijk elke e-mail die nog niet is verstuurd. Wat al is verstuurd wordt niet beïnvloed, en testimonial_requests_resume gaat verder waar het stopte.

Machtiging: content.write

Voorbeeld
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 Wijzig de naam, het formulier of de e-mail van een verzoek testimonial_requests_update

Op elk moment toegestaan. Een wijziging geldt voor elke e-mail die nog niet is verstuurd. De vertraging van een herinnering wijzigen plant de wachtende herinneringen opnieuw.

Machtiging: content.write

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

Testimonials

GET /sites/:site_id/testimonials/overview.json Lees de cijfers van een site, wat aandacht nodig heeft en wat er onlangs is gebeurd testimonials_overview

stats bevat de vijf cijfers van de Overzichtspagina: goedgekeurde testimonials, in afwachting, nieuw deze maand, gemiddelde beoordeling en in gebruik. attention toont wat een beslissing nodig heeft met het aantal. activity zijn de laatste 10 gebeurtenissen en latest_approved de drie meest recent goedgekeurde testimonials.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/overview.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/testimonials/setup.json Haal de installatiechecklist van een site op testimonials_setup_get

Geeft de items import, testimonials, approve, ask, widget en teammate, elk met done en dismissed. Een item is done op grond van wat de site bevat, nooit door een klik. hidden is true zodra elk item klaar of genegeerd is, en dan toont de Inbox de kaart niet meer.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/setup.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/testimonials/setup.json Negeer één item van de installatiechecklist, of de hele kaart testimonials_setup_update

dismiss is één itemsleutel (import, testimonials, approve, ask, widget of teammate) of all voor de hele kaart. Negeren verbergt het item en markeert het nooit als klaar, en het kan niet via de API worden teruggehaald.

Machtiging: content.write

Voorbeeld
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 Keur een testimonial goed zodat hij getoond mag worden testimonials_approve

Een testimonial die op tegoed wacht kan niet worden goedgekeurd: de server reageert met 422 en de code waiting_for_allowance. De respons bevat meta.undo_id.

Machtiging: content.write

Voorbeeld
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 Voer één actie uit op een selectie testimonials, of op alles wat een filter oplevert testimonials_bulk

Stuur ids (maximaal 100, in één keer uitgevoerd, alles of niets) of filters met confirm_count (het hele resultaat). Meer dan 100 draaien op de achtergrond en de respons heeft state running. Acties: approve, reject, mark_pending, pin, unpin, add_tags, remove_tags, add_to_collection, remove_from_collection, set_property, trash, restore. Elke actie reageert met een undo-id die testimonials_bulk_undo 7 dagen accepteert. delete_permanently is de enige actie die niet ongedaan kan worden gemaakt: hij vereist sites.manage en zijn respons zegt undoable false. Via MCP worden de twee acties die verwijderen, trash en delete_permanently, niet uitgevoerd: de tool reageert met human_only en de pagina van de app waar een persoon het doet, en elke andere actie wordt uitgevoerd. Via de API verandert de actie export (met ids of filters en een optioneel format van csv, json, ndjson of xlsx) niets: ze vereist analytics.export en reageert met 202 en de export om te downloaden.

Machtiging: content.write · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Maak een bulkactie ongedaan binnen 7 dagen testimonials_bulk_undo

Zet de eerdere waarde terug op elke testimonial die de run wijzigde. Een testimonial die sindsdien opnieuw is gewijzigd blijft ongemoeid en wordt geteld in left. Via MCP wordt een ongedaanmaking die zou verwijderen of naar de prullenbak zou verplaatsen niet uitgevoerd (het ongedaan maken van een herstel, van een vertaalrun en van een run voor het maken van afbeeldingen): de tool reageert met human_only en de pagina van de app waar een persoon het doet.

Machtiging: content.write

Voorbeeld
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 Voeg een testimonial met de hand of via de API toe testimonials_create

Opgeslagen via de ene intake die elke route gebruikt. Telt mee voor het maandtegoed aan nieuwe testimonials van het abonnement, en bij het tegoed reageert de server met 422 en de code allowance_reached (alleen de inzending van een klantformulier wordt in plaats daarvan als wachtend vastgehouden). Dezelfde persoon die dezelfde woorden opnieuw zegt wordt geweigerd met de code duplicate, tenzij allow_duplicate true is. Dezelfde external_id nogmaals geeft de reeds opgeslagen testimonial terug.

Machtiging: content.write

Voorbeeld
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 Verwijder een testimonial definitief, met zijn geschiedenis, toestemmingsregistratie en bestanden testimonials_delete

Dit kan niet ongedaan worden gemaakt. Het werkt op een testimonial in de prullenbak of daarbuiten, vereist confirm en de machtiging sites.manage. Via MCP verwijdert de tool niets en reageert hij met de pagina waar een persoon het doet.

Machtiging: sites.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Verplaats een testimonial voor 30 dagen naar de prullenbak testimonials_trash

De testimonial behoudt zijn status, tags, collecties en bestanden, wordt nergens getoond en wordt na 30 dagen definitief verwijderd. testimonials_restore zet hem precies terug zoals hij was. De respons bevat meta.undo_id. Een testimonial naar de prullenbak verplaatsen die er al in zit verandert niets. Via MCP wijzigt de tool niets en reageert hij met de pagina van de app waar een persoon het doet.

Machtiging: content.write · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Tel de testimonials achter elke filterwaarde, voor dezelfde invoer als de lijst testimonials_facets

De vorm van de bibliotheek zonder een testimonial te lezen. Elke facet telt zijn waarden met zijn eigen keuze weggelaten en elk ander filter toegepast. meta bevat het totaal en het filter in woorden.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/facets.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/testimonials/:id/highlight.json Markeer de beste zin van een testimonial, of wis de markering testimonials_highlight

highlight moet een exact deel van de woorden van de testimonial zijn, anders reageert de server met 422. Een lege highlight wist hem. Elke wijziging is een versie in de geschiedenis.

Machtiging: content.write

Voorbeeld
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 Toon elke versie van de woorden, titel, beoordeling en highlight van een testimonial testimonials_history

Nieuwste eerst. Versie 1 is de testimonial zoals hij is ontvangen en heeft geen auteur. Elke latere versie heeft het lid dat haar maakte, wanneer, de notitie die ze achterlieten en, bij een herstel, de versie die is teruggezet. Gepagineerd met page en per_page.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/:id/history.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/testimonials.json Toon de testimonials van een site, gefilterd en gesorteerd testimonials_list

Drie manieren om aan te geven welke, en ze tellen op: de facetinvoer (status, tag_id, has_video en de rest), q (het zoekvak met zijn operatoren, bijvoorbeeld rating:5 has:video tag:onboarding "saved us") en conditions met match (gestructureerde rijen). Stuur facets als true voor het actuele aantal achter elke facetwaarde in meta.facets. Niets uit de prullenbak wordt getoond tenzij trashed true is, waarmee alleen de prullenbak wordt getoond.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/testimonials/:id/pend.json Zet een testimonial terug naar in afwachting testimonials_pend

Zet een goedgekeurde of afgewezen testimonial terug naar in afwachting, zodat hij nergens wordt getoond tot er opnieuw over is beslist. De respons bevat meta.undo_id. Een testimonial in de prullenbak wordt geweigerd met de code in_trash.

Machtiging: content.write

Voorbeeld
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 Zet een testimonial vast zodat hij als eerste wordt getoond, of maak hem los testimonials_pin

Een vastgezette testimonial wordt overal waar hij wordt weergegeven als eerste getoond. Stuur pinned false om los te maken. De respons bevat meta.undo_id wanneer er iets is gewijzigd.

Machtiging: content.write

Voorbeeld
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 Wijs een testimonial af. Hij blijft bewaard en wordt nergens getoond testimonials_reject

De testimonial behoudt alles wat hij heeft en wordt nergens getoond. Een testimonial afwijzen die al is afgewezen verandert niets. De respons bevat meta.undo_id, die testimonials_bulk_undo 7 dagen accepteert. Een testimonial in de prullenbak wordt geweigerd met de code in_trash.

Machtiging: content.write

Voorbeeld
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 Herstel een testimonial uit de prullenbak, precies zoals hij was testimonials_restore

Zet een testimonial uit de prullenbak terug naar zijn status, tags, collecties en de plaatsen waar hij werd getoond. Telt nooit als een nieuwe testimonial. Eentje die niet in de prullenbak zit wordt geweigerd met de code not_in_trash.

Machtiging: content.write

Voorbeeld
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 Zet de woorden, titel, beoordeling en highlight van een eerdere versie terug testimonials_restore_version

Er wordt niets uit de geschiedenis verwijderd. Het herstel is een nieuwe versie die aangeeft uit welke ze komt. version 1 brengt de testimonial terug naar de woorden zoals ontvangen. Een onbekend versienummer is een 422.

Machtiging: content.write

Voorbeeld
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 Haal één testimonial op met zijn persoon, bestanden, toestemmingsregistratie, tags en waar hij wordt gebruikt testimonials_get

Geeft één testimonial van de site terug op basis van zijn id (tm_...), in de prullenbak of niet. person.email is null tenzij de aanroeper content.write heeft, en has_email geeft aan of er een is vastgelegd. media toont de bestanden met hun verwerkingsstatus. used_in toont elke widget, wall en afbeelding waarin hij wordt getoond.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/testimonials/showable.json Toon de testimonials die het publiek mag zien, zoals het publiek ze mag zien testimonials_showable

De nieuwste goedgekeurde testimonials van een site die openbaar getoond mogen worden, voor een eigen weergave buiten de widgets en walls. Elke bevat alleen wat zijn toestemmingsregistratie toestaat: een persoon van wie de naam niet getoond mag worden leest als A customer, en een foto of opname wordt weggelaten tenzij die was toegestaan. Een testimonial in afwachting, afgewezen of in de prullenbak, of een die op het tegoed wacht, wordt nooit getoond. Er staat geen e-mailadres in de respons.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/showable.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/testimonials/triage.json Haal de volgende testimonial uit een triagewachtrij testimonials_triage

Zonder filter is de wachtrij Pending, niet wachtend op tegoed, oudst ontvangen eerst. Met de inboxfilters is het dat resultaat in zijn sortering. Stuur after met de zojuist behandelde id om de volgende te krijgen. data is null wanneer de wachtrij klaar is. meta bevat remaining en total.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/triage.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/testimonials/:id.json Bewerk een testimonial. Wijzigingen in de woorden, titel, beoordeling en highlight worden in de geschiedenis bewaard testimonials_update

Alleen de verstuurde invoer wordt gewijzigd. Een wijziging aan body, title, rating of highlight voegt met edit_note een versie aan de geschiedenis toe en wijzigt nooit de geverifieerd-markering. rating null wist die. highlight moet een exact deel van de woorden zijn, en een lege waarde wist hem. properties wijzigt alleen de verstuurde sleutels. add_tags en remove_tags accepteren namen of id's. Status, vastzetten en prullenbak hebben hun eigen tools. Een testimonial in de prullenbak kan niet worden bewerkt.

Machtiging: content.write

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

Tracking

POST /sites/:site_id/tracking/ingest_key.json De crawlerlogsleutel aanmaken of roteren (wordt één keer getoond) tracking_ingest_key_rotate

Maakt een nieuwe geheime crawlerlogsleutel aan (begint met pik_) voor een site en vervangt elke bestaande sleutel. De sleutel authenticeert uploads van servertoegangslogs voor het AI-crawlerrapport (POST /api/logs). Gebruik het zowel om de eerste sleutel aan te maken als om te roteren. De nieuwe sleutel werkt direct en de oude werkt direct niet meer, dus zet de nieuwe sleutel meteen uit om 401's bij loguploads te voorkomen. De volledige sleutel wordt alleen in dit antwoord teruggegeven, in het veld key, dus bewaar hem in een geheimenopslag. Daarna wordt alleen een kort voorvoegsel bewaard en getoond (prefix hier, ingest_key_prefix op de site). Geeft site_id, key en prefix terug. Vereist sites.manage. Gebruik tracking_ingest_key_revoke om de sleutel te verwijderen zonder hem te vervangen.

Machtiging: sites.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 De crawlerlogsleutel intrekken tracking_ingest_key_revoke

Verwijdert de crawlerlogsleutel van een site. Vanaf dan wordt elke logupload die met die sleutel is verstuurd geweigerd met 401 totdat je een nieuwe aanmaakt met tracking_ingest_key_rotate. Browsertracking met de publieke site-id wordt niet beïnvloed. De sleutel kan niet worden hersteld. Vereist sites.manage. Geeft het siteobject terug (zie sites_get), waarbij ingest_key_prefix nu null is.

Machtiging: sites.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Controleren of de tracker op de site is geïnstalleerd (scripttag, site-id, CSP en referrer policy) tracking_verify

Haalt de pagina van de site op en controleert of het Privatus Analytics-trackingscript correct is geïnstalleerd, en markeert de site als geverifieerd als het script met de id van deze site wordt gevonden. Standaard vraagt het de homepage op (https://domain/) en url kan een andere pagina noemen, maar alleen op het eigen domein van de site, extra domeinen of hun subdomeinen. Het resultaat (onder data) heeft url, status (HTTP-status), script_found, site_ids (elke data-site-id die op de pagina is gevonden), installed (true als de id van deze site daartussen zit), csp en csp_ok (of de Content-Security-Policy van de pagina de tracker laat laden en versturen), referrer_policy en referrer_ok (een no-referrer-beleid betekent dat elk bezoek als direct wordt getoond) en checked_at. Het haalt op via het openbare internet, leest maximaal 2 MB en is per werkruimte en per host beperkt in frequentie, dus het antwoordt 429 als het te vaak wordt aangeroepen. Als de pagina onbereikbaar is, geeft het een validatiefout terug. Gebruik sites_setup_get om te zien of er gebeurtenissen zijn binnengekomen. Vereist sites.manage.

Machtiging: sites.manage

Voorbeeld
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 Het trackingfragment bouwen voor gekozen opties tracking_snippet

Bouwt de HTML-scripttag om tracking op een site te installeren en geeft hem terug met de site-id als data.site_id en data.snippet. Kies dit boven sites_setup_get als je hem wilt aanpassen en gebruik daarna tracking_verify om de live pagina te controleren. Standaard wordt elke trackermodule geladen en zijn paginaweergaven automatisch. modules beperkt het tot een subset van engage (tijd en scrollen), auto (uitgaande links, downloads, formulieren, 404's), vitals (Web Vitals), clicks (klikkaarten) en ask (enquêtes op de site). manual true schakelt de automatische paginaweergave uit zodat je ze zelf verstuurt. spa stelt het tracken van navigatie in een single-page-app in op auto, history, hash of off. domains beperkt tracking tot die hostnamen, exclude toont padglobs om over te slaan, query_params toont extra queryparameters om te behouden en mask toont padmaskers aan de clientkant, geschreven als /u/*->/u/:id. Er wordt niets opgeslagen, de snippet wordt elke keer uit de invoer gegenereerd. Vereist analytics.read.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/tracking/snippet.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"

Uptime

POST /sites/:site_id/uptime.json Een uptimecontrole voor een site toevoegen uptime_checks_create

Voegt een uptimecontrole toe die aan één site is gekoppeld. Gebruik workspace_uptime_checks_create voor een controle die bij geen enkele site hoort. kind bepaalt het doel. http controleert de statuscode van url, keyword controleert of de antwoordbody van url keyword bevat, tcp maakt verbinding met host en port en dns controleert of host wordt omgezet. Velden voor andere kinds worden genegeerd. url is voor http-controles standaard de homepage van de site. expected_status (100 tot 599, standaard 200), http_method (GET of HEAD) en timeout_seconds (1 tot 30, standaard 20) gelden voor http- en keyword-controles. interval_seconds is de tijd tussen metingen, moet minstens het minimum van het abonnement zijn (Free 300, Pro 60, Business 30) en is standaard 300 of het minimum als dat hoger is. public true laat de controle op een statuspagina verschijnen. Privé- en interne adressen worden geweigerd en het abonnement beperkt het aantal controles per werkruimte (Free 3, Pro 20, Business 100). De eerste meting draait binnen enkele ogenblikken, status begint als pending. Vereist het recht uptime.manage. Geeft de controle terug met id (upc_...).

Machtiging: uptime.manage

Voorbeeld
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 Een uptimecontrole en de geschiedenis ervan verwijderen uptime_checks_delete

Verwijdert een uptimecontrole definitief met zijn resultaten en incidentgeschiedenis en haalt hem van elke statuspagina die hem toont. Dit kan niet ongedaan worden gemaakt. Gebruik uptime_checks_pause om het meten te stoppen maar de geschiedenis te behouden. De id komt uit uptime_checks_list. Vereist het recht uptime.manage. Geeft de verwijderde controle terug.

Machtiging: uptime.manage

Voorbeeld
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 De uptimecontroles van een site weergeven uptime_checks_list

Toont de uptimecontroles van één site, inclusief controles voor de hele werkruimte die het domein van de site of een subdomein ervan meten. Gesorteerd op naam. Gebruik workspace_uptime_checks_list voor elke controle in de werkruimte. Filter met status (up, down, pending of paused) of query (deel van name, url of host). Gepagineerd met page en per_page (tot 100). Elke controle heeft id (upc_...), workspace_id, site_id (null voor controles voor de hele werkruimte), name, kind, url, host, port, keyword, expected_status, http_method, interval_seconds, timeout_seconds, status (up, down, pending of paused), enabled, public, last_checked_at, next_check_at, last_response_ms (milliseconden), ssl_expires_at, ssl_issuer, domain_expires_at en created_at. Gebruik uptime_checks_get voor uptimepercentages en incidenten.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/uptime.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /uptime/checks/:id/pause.json Een uptimecontrole pauzeren uptime_checks_pause

Pauzeert een uptimecontrole zodat hij niet meer wordt gemeten. Elk openstaand incident wordt direct gesloten en er worden geen down- of up-meldingen verstuurd zolang hij gepauzeerd is. De geschiedenis blijft bewaard en zijn status wordt als paused getoond. Hervat hem met uptime_checks_resume. De id komt uit uptime_checks_list. Vereist het recht uptime.manage. Geeft de controle terug.

Machtiging: uptime.manage

Voorbeeld
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 Een gepauzeerde uptimecontrole hervatten uptime_checks_resume

Hervat een gepauzeerde uptimecontrole. Hij wordt bij de volgende planner-tik gemeten en zijn status is pending totdat het eerste resultaat binnenkomt. De id komt uit uptime_checks_list. Vereist het recht uptime.manage. Geeft de controle terug.

Machtiging: uptime.manage

Voorbeeld
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 Een uptimecontrole ophalen: uptime 24u/7d/30d, responstijden en incidenten uptime_checks_get

Geeft één uptimecontrole terug met zijn geschiedenis, niet alleen zijn instellingen. Kies range (24h standaard, 7d of 30d) voor de responstijdgrafiek. Het antwoord heeft check (instellingen en live status, zie uptime_checks_list), uptime (percentage voor 24h, 7d en 30d, null tot de eerste meting is gedraaid), range, response_times (unit hour of day, labels als ISO 8601-tijden en series van gemiddelde responstijd in milliseconden per locatie met null voor gaten) en incidents (de 50 meest recente met started_at, resolved_at null zolang nog open, duration_seconds, cause en failed_locations). Alleen geslaagde metingen tellen mee voor responstijden. De id komt uit uptime_checks_list.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/uptime/checks/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /uptime/checks/:id.json Een uptimecontrole wijzigen uptime_checks_update

Wijzigt een uptimecontrole. Alleen de invoer die je meestuurt verandert. Regels en limieten zijn dezelfde als bij uptime_checks_create (het interval moet minstens het minimum van het abonnement zijn, privéadressen worden geweigerd). Het wijzigen van kind wist de doelvelden die niet meer van toepassing zijn. Het wijzigen van interval_seconds plant de volgende meting direct. De id komt uit uptime_checks_list. Vereist het recht uptime.manage. Geeft de bijgewerkte controle terug.

Machtiging: uptime.manage

Voorbeeld
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 Probe-datacenter, User-Agent en egress-IP-bereiken (om onze uptimeprobes op de allowlist te zetten) uptime_probes_list

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl https://privatusanalytics.com/uptime/probes.json
POST /uptime/probes/results.json Resultaten van een externe probe-agent indienen (Bearer-uptimeprobetoken) uptime_probes_results

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X POST https://privatusanalytics.com/uptime/probes/results.json \
  -H "Content-Type: application/json" -d '{…}'
POST /workspaces/:workspace_id/uptime.json Een uptimecontrole voor de werkruimte toevoegen (niet aan een site gekoppeld) workspace_uptime_checks_create

Voegt een uptimecontrole toe die bij de hele werkruimte hoort in plaats van bij één site. Gebruik uptime_checks_create om een controle aan een site te koppelen. Invoer, abonnementslimieten en regels zijn dezelfde, zie uptime_checks_create. kind is http, keyword, tcp of dns en bepaalt welke van url, keyword, host en port gelden. Omdat er geen site is, heeft een http-controle een expliciete url nodig. Aanroepers die tot bepaalde sites zijn beperkt, kunnen geen controles voor de hele werkruimte aanmaken. Vereist de workspace_id uit workspaces_list en het recht uptime.manage. Geeft de controle terug met id (upc_...) en site_id null.

Machtiging: uptime.manage

Voorbeeld
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 Alle uptimecontroles in een werkruimte weergeven workspace_uptime_checks_list

Toont elke uptimecontrole van een werkruimte, inclusief controles die aan geen enkele site zijn gekoppeld, gesorteerd op naam. Een aanroeper die tot bepaalde sites is beperkt, ziet alleen controles van die sites. Gebruik uptime_checks_list voor de controles van één site. Filter met status (up, down, pending of paused) of query (deel van name, url of host). Gepagineerd met page en per_page (tot 100). Elk item heeft de velden die bij uptime_checks_list zijn beschreven. Vereist de workspace_id uit workspaces_list.

Machtiging: analytics.read

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

Verkeersregels

POST /sites/:site_id/traffic_rules.json Een verkeersregel toevoegen traffic_rules_create

Voegt een patroon toe aan een van de blokkeer- of toestaanlijsten van de site. list is een van hostnames, paths, referrers, countries, ip_ranges, user_agents of events. pattern gebruikt * als wildcard en de vergelijking is hoofdletterongevoelig, bijvoorbeeld /admin/*, een hostnaam, een verwijzerhost zoals spam.example, een landcode van twee letters (opgeslagen in hoofdletters), een browsernaam met hoofdversie omdat de user agent wordt teruggebracht (bijvoorbeeld Chrome 120) of een aangepaste gebeurtenisnaam. ip_ranges accepteren een IPv4- of IPv6-adres of CIDR (203.0.113.0/24), dat geldig moet zijn. Een patroon kan één keer per lijst voorkomen en een site kan maximaal 500 regels hebben. Of de lijst blokkeert of toestaat bij een overeenkomst hangt af van zijn modus, die standaard block is en wordt gewijzigd met sites_update. Overeenkomende hits worden bij het verzamelen weggegooid en niet opgeslagen, en de regel geldt binnen enkele minuten alleen voor nieuwe hits. Vereist sites.manage. Vereist het Pro-abonnement of hoger (anders 402 plan_limit).

Machtiging: sites.manage

Voorbeeld
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 Een verkeersregel verwijderen traffic_rules_delete

Verwijdert een verkeersregel, gevonden via zijn id uit traffic_rules_list. Hits die hij weggooide, worden vanaf dan weer geteld en hits die al zijn weggegooid, zijn voorgoed weg. Let op dat het verwijderen van het laatste patroon van een lijst in toestaanmodus ervoor zorgt dat die lijst niet meer filtert. Geeft de verwijderde regel terug. Vereist sites.manage.

Machtiging: sites.manage

Voorbeeld
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 Verkeersregels weergeven traffic_rules_list

Toont de verkeersregels van de site, de blokkeer- of toestaanlijsten die bij het verzamelen worden toegepast om te bepalen welke hits meetellen. Elke regel heeft id (een UUID voor bijwerken en verwijderen), list (hostnames, paths, referrers, countries, ip_ranges, user_agents of events), pattern, label (optionele notitie), mode (block of allow, de modus van die hele lijst) en created_at. In blokkeermodus wordt een hit die met een patroon van de lijst overeenkomt weggegooid, in toestaanmodus wordt een hit die met geen enkel patroon overeenkomt weggegooid en een lege lijst filtert niets. Filter met list. De modus van een lijst wordt hier niet ingesteld, maar met sites_update via traffic_rule_modes. Gebruik traffic_rules_test om een voorbeeldhit te controleren. Vereist analytics.read.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/traffic_rules.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/traffic_rules/test.json Testen of een hit zou worden geteld met de huidige regels van de site traffic_rules_test

Proefrun die laat zien of een voorbeeldhit zou worden geteld onder de huidige verkeersregels van de site. Er wordt niets opgeslagen. Stuur een van url (een volledige pagina-URL, de host en het pad worden gecontroleerd), referrer (URL of hostnaam), country (code van twee letters), ip (gecontroleerd tegen ip_ranges, nooit opgeslagen), user_agent (een volledige User-Agent-string, teruggebracht tot browser en hoofdversie) en event (een aangepaste gebeurtenisnaam). Waarden die je weglaat, worden niet gecontroleerd. Het resultaat heeft counted (true als de hit zou worden geregistreerd), blocked_by (de lijst die hem wegdeed, of null), mode (block of allow voor die lijst, of null) en values (de genormaliseerde waarden die zijn gecontroleerd). Regels worden live gelezen, dus een nieuwe regel is direct zichtbaar. Vereist analytics.read. Vereist het Pro-abonnement of hoger (anders 402 plan_limit).

Machtiging: analytics.read

Voorbeeld
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 Een verkeersregel wijzigen traffic_rules_update

Wijzigt het patroon of het label van een verkeersregel, gevonden via zijn id uit traffic_rules_list. Alleen de invoer die je meestuurt verandert. De lijst kan niet worden gewijzigd, verwijder de regel en maak hem opnieuw aan om hem naar een andere lijst te verplaatsen. Het patroon moet geldig blijven voor zijn lijst (een CIDR voor ip_ranges) en uniek binnen de lijst. Stuur een leeg label om het te wissen. Geldt alleen voor nieuwe hits. Vereist sites.manage. Vereist het Pro-abonnement of hoger (anders 402 plan_limit).

Machtiging: sites.manage

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

Verwijderverzoeken

POST /sites/:site_id/testimonials/removal_requests/:id/dismiss.json Wijs een verwijderverzoek af testimonial_removal_requests_dismiss

Sluit het verzoek met een notitie en laat de testimonial waar hij wordt getoond. Er wordt niets verwijderd en er wordt geen e-mail gestuurd naar de persoon die vroeg. De notitie is verplicht. Een verzoek waarover al is beslist reageert met 422.

Machtiging: content.write

Voorbeeld
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 Toon de verwijderverzoeken van een site testimonial_removal_requests_list

Open verzoeken tenzij om een andere status wordt gevraagd. Het e-mailadres dat de gever typte wordt alleen teruggegeven aan een aanroeper die content mag wijzigen.

Machtiging: analytics.read

Voorbeeld
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 Beslis over een verwijderverzoek testimonial_removal_requests_resolve

trash verplaatst de testimonial naar de prullenbak, wat hem meteen van elke widget, wall en openbare pagina haalt en 30 dagen ongedaan kan worden gemaakt. dismiss laat hem zichtbaar en vereist een notitie.

Machtiging: content.write · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Haal één verwijderverzoek op testimonial_removal_requests_get

Eén verzoek met de testimonial waar het over gaat, de notitie die de persoon achterliet, of het e-mailadres dat ze typten overeenkomt met het e-mailadres op de testimonial, hoe vaak ze hebben gevraagd en de beslissing zodra er een is. Het e-mailadres zelf wordt alleen teruggegeven aan een aanroeper met content.write.

Machtiging: analytics.read

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

Verzamelen

POST /embed/ads/e.json Registreer dat een advertentiemateriaal-item is getoond, gezien of aangeklikt, aangeroepen door de advertentieloader ad_serving_event

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X POST https://privatusanalytics.com/embed/ads/e.json \
  -H "Content-Type: application/json" -d '{…}'
GET /embed/ads/:site.json De advertentieplekken van een site en het advertentiemateriaal dat elke plek toont, aangeroepen door de advertentieloader ad_serving_slots

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl https://privatusanalytics.com/embed/ads/:site.json
POST /api/overlay.json De klikken van één pagina voor de klikkenlaag, aangeroepen door pa.overlay.js met zijn pas click_overlays_read

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X POST https://privatusanalytics.com/api/overlay.json \
  -H "Content-Type: application/json" -d '{…}'
POST /api/logs.json Verstuur servertoegangslogs voor AI-crawlerrapportage (JSON {lines: [...]} of gecombineerde logtekst, met de crawlerlogsleutel van de site als Bearer-token) crawler_logs_create

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X POST https://privatusanalytics.com/api/logs.json \
  -H "Content-Type: application/json" -d '{…}'
POST /api/event.json Een browserhit verzamelen (gebruikt door /js/pa.js) ingest_event

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X POST https://privatusanalytics.com/api/event.json \
  -H "Content-Type: application/json" -d '{…}'
GET /api/experiment.json Of een experiment deze bezoeker naar een variantpagina stuurt, aangeroepen door het head-script van experimenten ingest_experiment

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl https://privatusanalytics.com/api/experiment.json
GET /js/exp/:site.json Het script dat de optionele head-tag van experimenten voor een site laadt ingest_experiment_script

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl https://privatusanalytics.com/js/exp/:site.json
POST /api/survey.json Leg vast dat een enquêtekaart is getoond, gesloten of beantwoord ingest_survey

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X POST https://privatusanalytics.com/api/survey.json \
  -H "Content-Type: application/json" -d '{…}'
GET /api/surveys.json Welke enquête op een pagina getoond wordt, aangeroepen door de ask-module van de tracker ingest_surveys

Machtiging: public · Alleen HTTP (geen MCP-tool)

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

Walls of Love

POST /sites/:site_id/testimonials/walls.json Maak een Wall of Love testimonial_walls_create

Een gehoste pagina op https://privatus.page/w/<slug>. Alles wat wordt weggelaten begint met een standaard: de titel Wall of Love, de masonry-lay-out, de slug van de naam.

Machtiging: content.write

Voorbeeld
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 Verplaats een wall naar de prullenbak testimonial_walls_trash

Zijn pagina reageert dat hij is weggehaald tot hij is hersteld, en een ingesloten kopie rendert niets. Herstellen brengt hem terug op hetzelfde adres. Na 30 dagen wordt hij definitief verwijderd. Via MCP wijzigt de tool niets en reageert hij met de pagina van de app waar een persoon het doet.

Machtiging: content.write · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Kopieer een wall onder een nieuwe naam en een nieuw adres testimonial_walls_duplicate

Maakt een kopie met een nieuwe id, de naam eindigend op "copy" en een eigen slug, zodat hij een eigen adres heeft. Het origineel en zijn adres worden niet gewijzigd.

Machtiging: content.write

Voorbeeld
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 Haal de link naar een wall op en de code om hem in een andere pagina te plaatsen testimonial_walls_embed

Het openbare adres van de wall, en de script-, frame- en gewone linkfragmenten die hem in een andere pagina plaatsen. De fragmenten veranderen nooit wanneer de wall wordt bewerkt.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/walls/:id/embed.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/testimonials/walls.json Toon de Walls of Love van een site testimonial_walls_list

Elke Wall of Love van de site die niet in de prullenbak zit, met zijn adres, wat hem voedt en hoeveel testimonials hij toont. Gebruik q om op naam of slug te zoeken en sort om op naam of op nieuwste te ordenen.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/walls.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /sites/:site_id/testimonials/walls/:id/restore.json Herstel een wall uit de prullenbak testimonial_walls_restore

Haalt een wall uit de prullenbak. Zijn pagina reageert weer op hetzelfde adres, en elke ingesloten kopie toont hem weer zonder wijziging aan de code die was geplakt.

Machtiging: content.write

Voorbeeld
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 Haal één wall op met elke instelling testimonial_walls_get

Alles wat de builder opslaat: het adres (/w/<slug>), de kop en de knop, de lay-out, wat de wall voedt, wat elke kaart toont, de stijl en de instellingen voor zoekmachines. Een wall in de prullenbak reageert met 404.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/walls/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/testimonials/walls/:id.json Wijzig een wall testimonial_walls_update

Alleen de verstuurde invoer verandert. Een gewijzigde slug laat het oude adres doorverwijzen.

Machtiging: content.write

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

Warehouse-synchronisatie

POST /workspaces/:workspace_id/warehouses.json Een warehousebestemming toevoegen warehouse_destinations_create

Voegt een warehouse-bestemming toe die de ruwe gebeurtenissen van elke dag ontvangt (alleen Business-abonnement). Dagelijks om 02:00 UTC wordt de vorige UTC-dag geüpload, de eerste run is om de volgende 02:00 UTC en een mislukte run wordt een uur later opnieuw geprobeerd. kind moet worden opgegeven en bepaalt de vereiste instellingen. s3 (ook GCS, R2 en MinIO via endpoint) vereist bucket, access_key_id en secret_access_key, met optioneel region, prefix en endpoint (alleen https, openbare hosts). bigquery vereist service_account_json, dataset en table, met optioneel project_id. snowflake vereist account, user, private_key (PEM RSA), database, schema en table, met optioneel warehouse en role. azure vereist sas_url (een https-SAS-link naar een blobcontainer met schrijfrechten), met optioneel prefix. Geheimen (secret_access_key, service_account_json, private_key, sas_url) zijn alleen schrijfbaar en worden nooit teruggegeven. site_ids beperkt de sites (pa_...-id's), leeg betekent elke site, en een lid of token dat tot bepaalde sites is beperkt, moet ze noemen. Gebeurteniseigenschappen worden alleen verstuurd als ze als veilig om te exporteren zijn gemarkeerd (zie event_properties_list). Vereist het recht workspace.manage. Geeft de bestemming terug met id (whd_...), een gemaskeerd doel en configured (de namen van de ingevulde instellingen).

Machtiging: workspace.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Een warehousebestemming verwijderen warehouse_destinations_delete

Verwijdert een warehouse-bestemming zodat er niets meer wordt verstuurd. Gegevens die al zijn geüpload, blijven in je bucket of warehouse staan en dit kan niet ongedaan worden gemaakt, al kun je de bestemming opnieuw toevoegen (geschiedenis wordt niet automatisch opnieuw verstuurd). Een handmatige synchronisatie die nog in de wachtrij staat, wordt niet teruggehaald. De id komt uit warehouse_destinations_list. Vereist het recht workspace.manage. Geeft de verwijderde bestemming terug.

Machtiging: workspace.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Warehousebestemmingen weergeven warehouse_destinations_list

Toont de warehouse-bestemmingen van een werkruimte gesorteerd op naam, optioneel alleen één kind (s3, bigquery, snowflake of azure). Een lid of token dat tot bepaalde sites is beperkt, ziet alleen bestemmingen waarvan alle sites bij de zijne horen en bestemmingen die elke site versturen, zijn voor hen verborgen. Gepagineerd met page en per_page (tot 100). Elk item heeft de velden die bij warehouse_destinations_get zijn beschreven. Vereist de workspace_id uit workspaces_list en het recht workspace.manage.

Machtiging: workspace.manage

Voorbeeld
curl https://privatusanalytics.com/workspaces/:workspace_id/warehouses.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /warehouses/:id.json Een warehousebestemming ophalen (zonder geheimen) warehouse_destinations_get

Geeft één warehouse-bestemming terug zonder inloggegevens. De velden zijn id (whd_...), kind (s3, bigquery, snowflake of azure), name, target (een gemaskeerde samenvatting zoals s3://bucket/prefix), configured (namen van de ingevulde instellingen, geheimen verschijnen alleen bij naam), site_ids (leeg betekent elke site), schedule (daily), schema_version (de verstuurde rijindeling), last_run_at, next_run_at, last_error (null als de laatste run werkte) en created_at. De id komt uit warehouse_destinations_list. Controleer last_error na warehouse_destinations_sync om te zien hoe een synchronisatie verliep.

Machtiging: workspace.manage

Voorbeeld
curl https://privatusanalytics.com/warehouses/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /warehouses/:id/sync.json Nu een synchronisatie van één dag in de wachtrij zetten warehouse_destinations_sync

Zet een directe upload van één UTC-dag aan ruwe gebeurtenissen naar een bestemming in de wachtrij, buiten het dagelijkse schema. Alleen Business-abonnement. date (YYYY-MM-DD) moet vóór vandaag in UTC liggen en is standaard gisteren. Het uploadt die dag voor elke site van de bestemming, dus synchroniseer geen dag die al is verstuurd, en handmatige synchronisaties zijn beperkt tot 30 per uur per werkruimte. De aanroep geeft direct 202 terug met de bestemming en de upload draait op de achtergrond. Poll warehouse_destinations_get en lees last_run_at en last_error om het resultaat te zien. De id komt uit warehouse_destinations_list. Vereist het recht workspace.manage.

Machtiging: workspace.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Een warehousebestemming bijwerken (lege geheimen blijven behouden) warehouse_destinations_update

Wijzigt een warehouse-bestemming (alleen Business-abonnement). Alleen de invoer die je meestuurt verandert en de kind kan niet worden gewijzigd. Een leeg geheim behoudt de opgeslagen waarde, zodat je andere instellingen kunt bewerken zonder opnieuw inloggegevens te sturen. Instellingen worden gevalideerd voor de kind van de bestemming zoals bij warehouse_destinations_create. Het meesturen van site_ids vervangt de lijst met sites. Als het doel verandert (een andere bucket, dataset, tabel, database of iets dergelijks) begint de voortgang van onvoltooide dagen opnieuw, zodat die dagen opnieuw naar de nieuwe plek worden verstuurd. De id komt uit warehouse_destinations_list. Vereist het recht workspace.manage. Geeft de bijgewerkte bestemming terug.

Machtiging: workspace.manage · Alleen HTTP (geen MCP-tool)

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

Webhooks

GET /workspaces/:workspace_id/webhooks/:webhook_id/deliveries.json Bezorgingen van een webhook weergeven webhook_deliveries_list

Toont de bezorgingen die naar één webhook zijn verstuurd (het pad bevat webhook_id), nieuwste eerst en gepagineerd. Elk heeft id (whd_...), event, status (pending, succeeded bij elk 2xx-antwoord, of failed), status_code (null als er geen antwoord kwam), error (een korte reden zoals een timeout, anders null), attempt (hoeveel pogingen tot nu toe), duration_ms, payload (de JSON-gegevens die zijn verstuurd), response_body (de eerste 2000 tekens van het antwoord) en delivered_at en created_at. Filter met status succeeded of failed. Gebruik het om een eindpunt te debuggen en webhook_deliveries_redeliver om er een opnieuw te versturen.

Machtiging: workspace.manage

Voorbeeld
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 Een bezorging opnieuw versturen webhook_deliveries_redeliver

Verstuurt de payload van een eerdere bezorging opnieuw als nieuwe bezorging naar hetzelfde eindpunt (id whd_..., uit webhook_deliveries_list). Dit doet een HTTP-verzoek naar de URL van de klant, dus de ontvanger kan dezelfde gebeurtenis twee keer verwerken. Het is per werkruimte beperkt in frequentie (gedeeld met webhooks_test). Het wordt in de wachtrij gezet, dus het antwoord is een nieuwe bezorging met status pending, lees webhook_deliveries_list om de uitkomst te zien.

Machtiging: workspace.manage

Voorbeeld
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 Een webhook-eindpunt toevoegen webhooks_create

Voegt een eindpunt toe dat geposte JSON voor werkruimtegebeurtenissen ontvangt (het pad bevat workspace_id). url moet een openbaar https-adres zijn, privé- en interne adressen worden geweigerd. events is een verplichte lijst gekozen uit 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 en site_audit.completed. enabled is standaard true. Een ondertekeningsgeheim (whsec_...) wordt gegenereerd en in het antwoord teruggegeven en elke bezorging bevat een header Privatus-Signature met een tijdstempel en een HMAC-SHA256 van de body die ermee is gemaakt. Mislukte bezorgingen worden met uitstel opnieuw geprobeerd en het eindpunt wordt na 20 mislukkingen op rij uitgezet. Gebruik webhooks_test om een voorbeeld te versturen.

Machtiging: workspace.manage

Voorbeeld
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 Een webhook verwijderen webhooks_delete

Verwijdert een webhook-eindpunt en zijn hele bezorglogboek. Dit kan niet ongedaan worden gemaakt en openstaande nieuwe pogingen stoppen. Gebruik webhooks_update met enabled false om hem in plaats daarvan te pauzeren. De id (wh_...) komt uit webhooks_list. Geeft de verwijderde webhook terug.

Machtiging: workspace.manage

Voorbeeld
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 Webhooks weergeven webhooks_list

Toont de uitgaande webhook-eindpunten van een werkruimte (het pad bevat workspace_id), oudste eerst. Elk heeft id (wh_...), url, events (de gebeurtenisnamen die het ontvangt), enabled, status (active, failing na recente mislukkingen, of disabled), secret (het ondertekeningsgeheim, behandel het als gevoelig), consecutive_failures, last_success_at, last_failure_at en created_at. Vereist het recht workspace.manage. Dit is voor het versturen van ruwe gebeurtenissen naar je eigen server. Gebruik notification_channels_list om mensen te notificeren. Gebruik webhook_deliveries_list voor wat er is verstuurd.

Machtiging: workspace.manage

Voorbeeld
curl https://privatusanalytics.com/workspaces/:workspace_id/webhooks.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /workspaces/:workspace_id/webhooks/:id.json Een webhook ophalen webhooks_get

Geeft één webhook-eindpunt terug op id (wh_..., uit webhooks_list), inclusief zijn ondertekeningsgeheim (whsec_...), dat wordt gebruikt om de header Privatus-Signature bij elke bezorging te verifiëren. De velden zijn url, events, enabled, status (active, failing of disabled), secret, consecutive_failures, last_success_at, last_failure_at en created_at. Vereist het recht workspace.manage.

Machtiging: workspace.manage

Voorbeeld
curl https://privatusanalytics.com/workspaces/:workspace_id/webhooks/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
POST /workspaces/:workspace_id/webhooks/:id/test.json Een testbezorging versturen webhooks_test

Zet een bezorging webhook.test met een voorbeeldbericht naar één eindpunt in de wachtrij, ook als het is uitgezet, wat een HTTP-verzoek naar de URL van de klant doet. Het is per werkruimte beperkt in frequentie (gedeeld met webhook_deliveries_redeliver) en een test wordt niet opnieuw geprobeerd. De bezorging wordt op de achtergrond verstuurd, dus het antwoord geeft de bezorging in de wachtrij terug met status pending. Lees even later webhook_deliveries_list om status_code, error, duration_ms en response_body te zien.

Machtiging: workspace.manage

Voorbeeld
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 Een webhook bijwerken (gebeurtenissen, URL, ingeschakeld, geheim roteren) webhooks_update

Wijzigt een webhook (id uit webhooks_list). Alleen de invoer die je meestuurt verandert. Het meesturen van events vervangt de hele lijst. enabled true instellen op een uitgezet eindpunt zet zijn mislukkingenteller terug, zo zet je er een weer aan die na herhaalde mislukkingen was uitgezet. Stel rotate_secret true in om een nieuw ondertekeningsgeheim te genereren, getoond in het antwoord, en het oude werkt direct niet meer, dus de ontvanger moet worden bijgewerkt. De regels voor url zijn dezelfde als bij webhooks_create. Geeft de webhook terug.

Machtiging: workspace.manage

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

Website

GET /blog.json Toon blogberichten blog_list

Toont de berichten van de blog van Privatus Analytics, nieuwste eerst, met slug, title, kicker, rubric (de samenvatting in één zin), description, path en datums, en zonder body. Om er één te lezen gebruik je blog_get met zijn slug. Gepagineerd met page en per_page (maximaal 100). Openbaar, geen authenticatie nodig.

Machtiging: public

Voorbeeld
curl https://privatusanalytics.com/blog.json
GET /blog/:slug.json Lees een blogbericht (Markdown en HTML) blog_get

Geeft één blogbericht terug op basis van zijn slug (uit blog_list, het laatste deel van /blog/<slug>) met zijn koppen, zijn Markdown-body en de gerenderde HTML. Berichten zijn in het Engels geschreven. Openbaar, geen authenticatie nodig.

Machtiging: public

Voorbeeld
curl https://privatusanalytics.com/blog/:slug.json
GET /changelog.json Changelog-items weergeven changelog_list

Gepubliceerde productupdates, nieuwste eerst. Ook beschikbaar als RSS op /changelog.rss.

Machtiging: public

Voorbeeld
curl https://privatusanalytics.com/changelog.json
POST /contact.json Een bericht sturen naar het Privatus Analytics-team contact_create

Browserclients sturen een Cloudflare Turnstile-token mee als `cf-turnstile-response`. Verzoeken met een API-token hebben dat niet nodig.

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X POST https://privatusanalytics.com/contact.json \
  -H "Content-Type: application/json" -d '{…}'
POST /newsletter/confirm.json Een nieuwsbriefabonnement bevestigen (ondertekend token) newsletter_confirm

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X POST https://privatusanalytics.com/newsletter/confirm.json \
  -H "Content-Type: application/json" -d '{…}'
POST /newsletter.json Een e-mailadres abonneren op de nieuwsbrief newsletter_subscribe

Browserclients sturen een Cloudflare Turnstile-token mee als `cf-turnstile-response`. Verzoeken met een API-token hebben dat niet nodig.

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X POST https://privatusanalytics.com/newsletter.json \
  -H "Content-Type: application/json" -d '{…}'
POST /newsletter/unsubscribe.json Afmelden met een ondertekend linktoken newsletter_unsubscribe

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X POST https://privatusanalytics.com/newsletter/unsubscribe.json \
  -H "Content-Type: application/json" -d '{…}'
GET /pricing.json Abonnementen, prijzen en abonnementslimieten ophalen pricing_get

Dezelfde gegevens als de prijspagina: de gebeurtenissenladder, elke abonnementslimiet en wat als gebeurtenis telt. Geef events mee om het passende niveau te krijgen.

Machtiging: public

Voorbeeld
curl https://privatusanalytics.com/pricing.json
GET /status.json De huidige systeemstatus ophalen status_get

Gezondheid van database, Redis en achtergrondjobs, hoogstens elke 15 seconden gecontroleerd.

Machtiging: public

Voorbeeld
curl https://privatusanalytics.com/status.json
GET /tools/header-checker.json De Referrer-Policy en CSP van een pagina controleren voor analytics tools_header_check

Haalt één openbare pagina op en controleert de responseheaders die analytics beïnvloeden. Gebruik het als trackinggegevens ontbreken of verwijzers er verkeerd uitzien. Het kijkt naar Referrer-Policy, de Content-Security-Policy-directives script-src en connect-src (of Privatus Analytics gegevens mag laden en versturen), Permissions-Policy en het aantal Set-Cookie-headers. Geeft url (de uiteindelijke URL na maximaal 3 redirects), status (HTTP-status) en findings terug, elk met check, value (nullable), level (ok, warn of info) en een notitie in gewone taal. De URL moet http of https en openbaar zijn, privé- en interne adressen worden geweigerd, alleen de eerste 1 MB wordt gelezen en het ophalen verloopt na 5 seconden. Beperkt tot 10 aanroepen per minuut per client. Openbaar, geen authenticatie nodig.

Machtiging: public

Voorbeeld
curl https://privatusanalytics.com/tools/header-checker.json
GET /tools/privacy-policy-generator.json Een alinea voor een privacybeleid opstellen voor Privatus Analytics tools_privacy_policy

Stelt een alinea voor een privacybeleid op die beschrijft hoe Privatus Analytics gegevens op de site van de klant verzamelt (cookieloos, geen persoonsgegevens opgeslagen, locatie alleen op landniveau). Het is een startpunt, geen juridisch advies. Invoer is site_name (maximaal 120 tekens), contact_email (optioneel, voegt een contactzin toe) en honors_gpc (standaard true, voegt een zin toe die zegt dat Do Not Track en Global Privacy Control worden gerespecteerd). Geeft site_name, paragraphs (array van strings), text (de alinea's samengevoegd met lege regels, met het adres van Privatus Analytics tussen haakjes na de naam) en html (de alinea's als <p>-elementen, met de naam als gewone link) terug. De tekst is geschreven in de taal van het verzoek, standaard Engels. Het wijzigt niets aan een account. Openbaar, geen authenticatie nodig.

Machtiging: public

Voorbeeld
curl https://privatusanalytics.com/tools/privacy-policy-generator.json
GET /tools/qr-code.json Een QR-code als SVG genereren tools_qr_code

Genereert een QR-code als svg-afbeelding voor print of posters. Combineer het met een link met UTM-parameters uit tools_utm_builder. Invoer is text (de URL of tekst, tot 1.000 tekens) en level (foutcorrectie l, m, q of h, standaard m, hoger doorstaat meer schade maar vraagt een dichtere code). Geeft text, level, size (modules per zijde) en svg (een zelfstandig svg-document, zwart op wit) terug. Tekst die te lang is voor het gekozen niveau wordt geweigerd. Gebruik voor QR-codes van getrackte korte links in plaats daarvan links_qr. Openbaar, geen authenticatie nodig.

Machtiging: public

Voorbeeld
curl https://privatusanalytics.com/tools/qr-code.json
GET /tools/tracker-scanner.json Cookies en bekende trackers op een pagina weergeven tools_tracker_scan

Haalt één openbare pagina op en toont de cookies die hij zet en de bekende trackers van derden waarnaar hij verwijst. Gebruik het voor een snelle controle van wat een pagina laadt voordat je een toestemmingsaanpak kiest. Het is een statische scan van alleen de HTML en responseheaders, het voert geen JavaScript uit, dus cookies die door scripts worden gezet en tags die later door een tagmanager worden geladen, worden gemist. Geeft url (uiteindelijke URL na maximaal 3 redirects), status, truncated (true als alleen de eerste 1 MB is gelezen), cookies (name, domain, path, expires, secure, http_only en same_site, waarden worden nooit teruggegeven), trackers (name, category, match en evidence, waarbij category advertising, analytics, session_recording, tag_manager, marketing of privacy_analytics is) en third_party_hosts (gesorteerde hostnamen van andere sites) terug. De URL moet openbaar http of https zijn, met een time-out van 5 seconden voor het ophalen, en aanroepen zijn beperkt tot 10 per minuut per client. Openbaar, geen authenticatie nodig.

Machtiging: public

Voorbeeld
curl https://privatusanalytics.com/tools/tracker-scanner.json
GET /tools/utm-builder.json Een campagne-URL met UTM-parameters bouwen tools_utm_builder

Bouwt een campagne-URL met UTM-parameters en signaleert veelgemaakte fouten. Invoer is url (moet http of https zijn), source, medium en campaign (allemaal verplicht) en optioneel term en content. Bestaande utm_-parameters op de URL worden vervangen en andere queryparameters blijven behouden. Geeft url (de afgewerkte link), params (de utm_-waarden die zijn toegevoegd, lege weggelaten) en warnings (strings voor waarden met hoofdletters, spaties of tekst die op een e-mailadres of een lang getal lijkt, wat nooit in een URL hoort te staan) terug. Gebruik waarden in kleine letters zonder spaties zodat dezelfde campagne niet over meerdere rijen in rapporten wordt verdeeld. Het slaat niets op. Openbaar, geen authenticatie nodig.

Machtiging: public

Voorbeeld
curl https://privatusanalytics.com/tools/utm-builder.json
POST /waitlist.json Je op een wachtlijst zetten (EU-hosting) waitlist_join

Browserclients sturen een Cloudflare Turnstile-token mee als `cf-turnstile-response`. Verzoeken met een API-token hebben dat niet nodig.

Machtiging: public · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X POST https://privatusanalytics.com/waitlist.json \
  -H "Content-Type: application/json" -d '{…}'

Werkruimtes

GET /workspaces/:workspace_id/white_label.json Het white-labelmerk ophalen white_label_get

Geeft de white-labelhuisstijl van de werkruimte terug. De velden zijn workspace_id (ws_...), brand_name, brand_logo_url en brand_color (een hexkleur zoals #06755b), elk null als niet ingesteld, hide_branding, available (true als het abonnement white label bevat, dat is Business en hoger) en active (true als huisstijl is ingesteld en van kracht is). De huisstijl vervangt Privatus Analytics op gedeelde dashboards, embeds, statuspagina's en e-mailrapporten. Vereist workspace.manage.

Machtiging: workspace.manage

Voorbeeld
curl https://privatusanalytics.com/workspaces/:workspace_id/white_label.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /workspaces/:workspace_id/white_label.json Het white-labelmerk instellen voor gedeelde dashboards en e-mailrapporten (Business) white_label_update

Stelt de white-labelhuisstijl van de werkruimte in. Alleen Business-abonnement, anders mislukt het met een abonnementsfout. Alleen de invoer die je meestuurt verandert en een lege string wist brand_name, brand_logo_url of brand_color. brand_logo_url moet een https-URL naar een afbeelding zijn en brand_color een hexkleur zoals #06755b. hide_branding true verwijdert de Privatus Analytics-link van gedeelde dashboards, embeds en statuspagina's en het logo uit e-mailrapporten. De wijziging geldt direct voor bestaande deellinks. Vereist workspace.manage. Geeft de huisstijl terug (zie white_label_get).

Machtiging: workspace.manage

Voorbeeld
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 De beveiligingsinstellingen van de werkruimte ophalen workspace_security_get

Geeft het beveiligingsbeleid van de werkruimte terug. De velden zijn workspace_id (ws_...), enforce_2fa (leden moeten tweestapsverificatie gebruiken), login_methods (de toegestane uit password, magic_link, passkey, google, github en sso), session_ttl_hours (uitloggen na dit aantal uren, null voor geen limiet), app_ip_allowlist (IP's of CIDR-bereiken die de app en API mogen gebruiken, leeg betekent overal) en support_access_until (ISO 8601-tijd tot wanneer de support van Privatus Analytics de werkruimte mag bekijken, null als er geen toegang is verleend). Vereist workspace.manage.

Machtiging: workspace.manage

Voorbeeld
curl https://privatusanalytics.com/workspaces/:workspace_id/security.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /workspaces/:workspace_id/security.json De beveiligingsinstellingen van de werkruimte bijwerken (2FA, aanmeldmethoden, sessieduur, IP-allowlist, supporttoegang) workspace_security_update

Wijzigt het beveiligingsbeleid van de werkruimte, alleen de invoer die je meestuurt. enforce_2fa true vereist dat elk lid tweestapsverificatie gebruikt en vereist het Business-abonnement. login_methods vervangt de toegestane lijst door waarden uit password, magic_link, passkey, google, github en sso en het verwijderen van een methode logt de onthouden aanmeldingen van leden uit, zodat ze opnieuw moeten inloggen. session_ttl_hours logt leden uit na dat aantal uren (0 verwijdert de limiet). app_ip_allowlist vervangt de lijst met IP's of CIDR-bereiken die de app en API mogen bereiken (Business-abonnement, een lege lijst betekent overal) en wordt geweigerd als het het IP van de aanroeper zou uitsluiten, zodat je jezelf niet kunt buitensluiten. support_access true laat de support van Privatus Analytics de werkruimte 7 dagen bekijken en false trekt die toegang in. Vereist workspace.manage. Geeft het beleid terug (zie workspace_security_get).

Machtiging: workspace.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Een werkruimte aanmaken (jij wordt de eigenaar) workspaces_create

Machtiging: member · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X POST https://privatusanalytics.com/workspaces.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'
DELETE /workspaces/:id.json Een werkruimte en al zijn sites verwijderen (alleen eigenaar, zegt elk abonnement op) workspaces_delete

Verwijdert een werkruimte samen met al zijn sites. Het is een zachte verwijdering, alles verdwijnt direct en wordt na 7 dagen definitief gewist, dus beschouw het als onomkeerbaar. Alleen de eigenaar kan het doen en confirm moet de exacte naam van de werkruimte zijn (hoofdlettergevoelig). Een lopend betaald abonnement wordt eerst direct opgezegd en als die opzegging mislukt, wordt niets verwijderd. Openstaande siteoverdrachten vanuit de werkruimte worden geannuleerd. Leden verliezen toegang. Gebruik workspaces_get om de naam te lezen. Vereist workspace.manage en de rol owner. Geeft de werkruimte terug.

Machtiging: workspace.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
curl -X DELETE https://privatusanalytics.com/workspaces/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN" \
  -H "Content-Type: application/json" -d '{…}'
GET /workspaces.json Je werkruimtes weergeven workspaces_list

Toont de werkruimtes waartoe de aanroeper behoort, gesorteerd op naam. Een API-token of MCP-verbinding ziet alleen de ene werkruimte waarvoor het is uitgegeven. Elk item heeft id (ws_..., door de meeste tools gebruikt als workspace_id), name, timezone, currency, plan, plan_events, subscription_status en role (de rol van de aanroeper). Roep daarna sites_list aan met een werkruimte-id om site-id's te vinden. Een werkruimte aanmaken kan alleen in de app.

Machtiging: member

Voorbeeld
curl https://privatusanalytics.com/workspaces.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /workspaces/:id.json Een werkruimte ophalen workspaces_get

Geeft één werkruimte terug op zijn publieke id (ws_..., uit workspaces_list). De velden zijn id, name, timezone (IANA-naam), currency (ISO 4217), plan (free, pro, business of enterprise), plan_events (het maandelijkse gebeurtenissentegoed van het abonnement), subscription_status (none, trialing, active, past_due, paused of canceled), role (de rol van de aanroeper erin) en created_at. Gebruik billing_get voor alle factureringsdetails en billing_usage voor het gebruik van deze maand. Elk lid kan het lezen.

Machtiging: member

Voorbeeld
curl https://privatusanalytics.com/workspaces/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /workspaces/:id.json Werkruimte-instellingen bijwerken workspaces_update

Wijzigt de naam, standaardtijdzone of standaardvaluta van een werkruimte, alleen de invoer die je meestuurt. timezone is een IANA-naam zoals Europe/Berlin en currency is een ISO 4217-code van 3 letters. Dit zijn standaardwaarden voor nieuwe sites, ze wijzigen bestaande sites niet (gebruik daarvoor sites_update). Vereist workspace.manage. Geeft de werkruimte terug (zie workspaces_get).

Machtiging: workspace.manage

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

Widgets

POST /sites/:site_id/testimonials/widgets/:id/copied.json Noteer dat de geplakte HTML-embed van een widget is gekopieerd testimonial_widgets_mark_copied

De geplakte HTML wordt niet vanzelf bijgewerkt. Na deze aanroep meldt testimonial_widgets_embed hoe vaak de widget sindsdien is gewijzigd.

Machtiging: content.write

Voorbeeld
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 Maak een widget testimonial_widgets_create

Eén aanroep bevat de hele widget: de lay-out en zijn opties, wat hem voedt, wat elke kaart toont en hoe hij eruitziet. Alles wat wordt weggelaten begint met een standaard, en een lege stijlinstelling erft de huisstijl. Laat er testimonial_widgets_embed op volgen om de code te krijgen die je moet plakken.

Machtiging: content.write

Voorbeeld
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 Verplaats een widget naar de prullenbak testimonial_widgets_trash

Zijn embeds renderen niets en nemen geen ruimte in tot hij is hersteld. Na 30 dagen wordt hij definitief verwijderd. Via MCP wijzigt de tool niets en reageert hij met de pagina van de app waar een persoon het doet.

Machtiging: content.write · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Kopieer een widget met elke instelling testimonial_widgets_duplicate

Maakt een kopie met een nieuwe id en de naam eindigend op "copy". De kopie heeft zijn eigen embedcode en is nergens live gezien. Het origineel wordt niet gewijzigd.

Machtiging: content.write

Voorbeeld
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 Haal de embedcode van een widget op en wat hij weegt testimonial_widgets_embed

Geeft het scriptfragment (aanbevolen), de geplakte HTML, de framecode en het adres van de openbare data terug, met de gemeten grootte van het loaderscript en van deze widget. De geplakte HTML en het frame zijn null voor de hoekpopup.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/widgets/:id/embed.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/testimonials/widgets.json Toon de widgets van een site testimonial_widgets_list

Widgets in de prullenbak worden niet getoond. Elke widget bevat zijn instellingen, hoeveel testimonials hij nu toont, zijn weergaven en klikken van de afgelopen 30 dagen en de eerste pagina waarop hij live is gezien.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/widgets.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
GET /sites/:site_id/testimonials/widgets/:id/installs.json Toon de pagina's waarop een widget live is gezien testimonial_widgets_installs

Maximaal 50 pagina's, nieuwste eerst. Alleen het script en het frame kunnen worden gedetecteerd.

Machtiging: analytics.read

Voorbeeld
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 Herstel een widget uit de prullenbak testimonial_widgets_restore

Hij komt terug overal waar hij was geplakt.

Machtiging: content.write

Voorbeeld
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 Haal één widget op met elke instelling, wat hij toont en waar hij live staat testimonial_widgets_get

Alles wat de builder opslaat: de lay-out en zijn opties, wat de widget voedt (een collectie, een opgeslagen weergave, tags of een handmatig gekozen lijst), wat elke kaart toont, de stijl, de taal en de reviewmarkup, met waar hij live is gezien en hoeveel testimonials hij nu toont. Een widget in de prullenbak reageert met 404.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/testimonials/widgets/:id.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
PATCH /sites/:site_id/testimonials/widgets/:id.json Wijzig een widget testimonial_widgets_update

Alleen de verstuurde invoer verandert. Een opgeslagen wijziging bereikt elke site waarop de widget staat zonder hun code aan te raken, omdat zijn gecachete kopieën worden gewist.

Machtiging: content.write

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

Zoeken

GET /sites/:site_id/search.json Zoekrapport: klikken, vertoningen, CTR, positie, topzoekopdrachten en -pagina's, landingspagina's en kansen search_report

Zoekprestaties uit Google Search Console en Bing Webmaster, gekoppeld aan de eigen landingspaginametrics van de site. Kies provider: all (standaard) telt elke gekoppelde zoekmachine bij elkaar op, met de positie gewogen op vertoningen en landen en apparaten alleen van Google, of alleen google of bing, en de gebruikelijke period of aangepaste from en to. limit (1 tot 100, standaard 25) begrenst de rijen in elke tabel. Het resultaat heeft period, provider, connection (property, status, last_synced_at van de gekozen zoekmachine, of null als die niet gekoppeld is of provider all is), connections (elke gekoppelde zoekmachine met provider, property, status en last_synced_at), latest_date (nieuwste dag met gegevens), delayed (true als het bereik voorbij latest_date loopt), totals en series (per dag) elk met clicks, impressions, ctr (een percentage, geen breuk, 2 decimalen) en position (gemiddelde rang, 1 is het best, null als onbekend), breakdowns voor query, page, country en device (rijen van value plus dezelfde vier metrics), landing_pages (toppagina's met visits, bounce_rate en conversion_rate als percentages, en conversions) en opportunities (low_ctr_queries met minstens 100 vertoningen en een CTR onder 2 procent, en striking_distance-pagina's met een gemiddelde positie van 8 tot 20). Landwaarden zijn zoals de provider ze rapporteert. Gebruik stats_breakdown voor bezoekersgegevens en deze tool voor wat er vóór de klik gebeurt. Vereist analytics.read.

Machtiging: analytics.read

Voorbeeld
curl https://privatusanalytics.com/sites/:site_id/search.json \
  -H "Authorization: Bearer $PRIVATUS_TOKEN"
DELETE /sites/:site_id/search/connections/:provider.json Search Console of Bing ontkoppelen en de gegevens ervan verwijderen search_disconnect

Ontkoppelt een zoekprovider (google of bing) van een site en verwijdert de geïmporteerde zoekgegevens voor die provider definitief. Dit kan niet ongedaan worden gemaakt. De Google-autorisatie wordt ook verwijderd zodra geen enkele site hem meer gebruikt. Mislukt als die provider niet is gekoppeld. Geeft de verwijderde koppeling terug. Vereist sites.manage.

Machtiging: sites.manage · Alleen HTTP (geen MCP-tool)

Voorbeeld
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 Nu zoekgegevens importeren search_sync

Zet een directe import van zoekgegevens in de wachtrij voor een gekoppelde provider (google, de standaard, of bing) in plaats van op het reguliere schema te wachten. Het antwoordt meteen (HTTP 202) met de koppeling en de import draait op de achtergrond. Poll search_report en let op connection.last_synced_at. Zoekmachines rapporteren met een vertraging van een paar dagen, dus de nieuwste dagen blijven leeg, ook na een synchronisatie. Mislukt als de provider niet is gekoppeld. Vereist sites.manage.

Machtiging: sites.manage

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