PapermarkDocs

Link analytics

Aggregate analytics for a single share link: total views, total read time, unique viewers. Backed by Tinybird — tighter rate limit.

GET
/v1/analytics/links/{id}

Authorization

bearerAuth analytics.read
AuthorizationBearer <token>

Dashboard-issued token (pm_live_...) or OAuth-issued access token.

In: header

Scope: analytics.read

Query Parameters

since?integer

Unix milliseconds — start of window (default: 30 days ago)

until?integer

Unix milliseconds — end of window (default: now)

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.papermark.com/v1/analytics/links/{id}"
{
  "link_id": "string",
  "total_views": 0,
  "total_duration_seconds": 0,
  "unique_viewers": 0,
  "since": "2019-08-24T14:15:22Z",
  "until": "2019-08-24T14:15:22Z"
}
{
  "error": {
    "code": "unauthorized",
    "message": "Missing bearer token.",
    "doc_url": "https://www.papermark.com/docs/api/errors#unauthorized",
    "details": null
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "Missing bearer token.",
    "doc_url": "https://www.papermark.com/docs/api/errors#unauthorized",
    "details": null
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "Missing bearer token.",
    "doc_url": "https://www.papermark.com/docs/api/errors#unauthorized",
    "details": null
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "Missing bearer token.",
    "doc_url": "https://www.papermark.com/docs/api/errors#unauthorized",
    "details": null
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "Missing bearer token.",
    "doc_url": "https://www.papermark.com/docs/api/errors#unauthorized",
    "details": null
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "Missing bearer token.",
    "doc_url": "https://www.papermark.com/docs/api/errors#unauthorized",
    "details": null
  }
}