PilotFoxDocs

Get page trends

GET
/api/v1/sites/{siteId}/pages/trends

Pageviews per time bucket of each of up to 20 pathnames.

Requires analytics:read on the site (an API key, or a signed-in member's role). Share links: allowed, with the analytics:read scope. Public sites: open to everyone, no credential needed.

Authorization

headerx-api-key<token>

An organization API key (ak_…), with the permissions and the sites it was created with. For servers and scripts: no cookie and no Origin check. Also accepted as Authorization: Bearer ak_… (apiKeyBearer). A request carries one credential: a key sent with a share token or a live session cookie is 400 (details.reason: ambiguous_credentials).

Scope: analytics:read

Path Parameters

siteId*string

Query Parameters

start?string
end?string
last?string
all?"true"
Value in"true"
tz?string
bucket?string
Value in"minute""5m""15m""hour""day""week""month""year"
filters?string
Lengthlength <= 64000
segment?string
Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid
paths*string

JSON array of 1-20 pathnames, matched exactly; section keys such as /blog/** are not resolved (they match no pageview)

Lengthlength <= 64000

Response Body

OK

application/json
  1. response
data*array<>
meta*
Example Request
curl -X GET 'https://pilotfox.app/api/v1/sites/string/pages/trends?paths=string'
Example Response200
{  "data": [    {      "key": "string",      "series": [        {          "t": "string",          "pageviews": 0        }      ]    }  ],  "meta": {    "window": {      "from": "string",      "to": "string",      "tz": "string",      "bucket": "minute"    },    "compare": {      "from": "string",      "to": "string"    },    "totalCount": -9007199254740991,    "nextCursor": "string",    "truncated": true,    "cache": "hit"  }}