Per-view breakdown
Page-by-page duration, viewer location, and client info for a single view event. Backed by Tinybird — tighter rate limit.
Authorization
bearerAuth analytics.readAuthorizationBearer <token>
Dashboard-issued token (pm_live_...) or OAuth-issued access token.
In: header
Scope: analytics.read
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/views/{id}"{
"view_id": "string",
"document_id": "string",
"viewer_email": "string",
"viewed_at": "2019-08-24T14:15:22Z",
"page_durations": [
{
"page_number": 0,
"duration_seconds": 0
}
],
"total_duration_seconds": 0,
"location": {
"country": "string",
"city": "string"
},
"client": {
"browser": "string",
"os": "string",
"device": "string"
}
}{
"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
}
}