---
title: "Get analytics stats"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.sureshake.com/llms.txt
> Use this file to discover all available pages before exploring further.

Path: Sureshake API › reports

`GET /v2/reports/{id}/analytics/stats`

## Path parameters

- `id` (`report-get-analytics-stats.path.id`; string, required)
  - format `uuid`

## Query parameters

- `period` (`report-get-analytics-stats.query.period`; string, optional)
  - one of `"day"`, `"week"`, `"month"`; default `"month"`

## Code samples

### cURL

```bash
curl --request GET \
  --url 'https://api.sureshake.com/v2/reports/<id>/analytics/stats'
```

### TypeScript

```typescript
const url = 'https://api.sureshake.com/v2/reports/<id>/analytics/stats';
const options = {method: 'GET'};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));
```

### Python

```python
import requests

url = "https://api.sureshake.com/v2/reports/<id>/analytics/stats"

response = requests.get(url)

print(response.text)
```

## Responses

### 200

Default Response

#### Example

```json
{
  "data": {
    "totalViews": 0,
    "uniqueViewers": 0,
    "anonymousViews": 0,
    "viewsBySource": {
      "share": 0,
      "vault": 0,
      "direct": 0,
      "api": 0,
      "unknown": 0
    },
    "audience": {
      "subject": {
        "type": "personal",
        "id": "string",
        "authorization": "authenticated_user",
        "actingContext": "personal"
      },
      "source": {
        "key": "directory_listing_views",
        "classification": "canonical",
        "recordAuthorities": [
          "directory.profile_viewed",
          "directory.result_clicked"
        ],
        "readAuthorities": [
          "directory_engagement_daily",
          "directory_engagement_viewers"
        ],
        "projectionAuthority": {
          "ordering": "events.stream_version",
          "receipts": "projection_event_receipts",
          "checkpoint": "projection_scoped_checkpoints",
          "lifecycle": "projection_lifecycles"
        },
        "countingPolicy": "eligible_event",
        "countingEnforcement": "partial",
        "viewerHistory": {
          "availability": "unavailable",
          "timeAuthority": "first_viewed_at_only",
          "blocker": "last_view_watermark_required"
        },
        "policyVersion": "directory-engagement-v1"
      },
      "period": {
        "key": "day",
        "startAt": "2019-08-24T14:15:22Z",
        "endAt": "2019-08-24T14:15:22Z",
        "timezone": "UTC",
        "interval": "half_open",
        "asOf": "2019-08-24T14:15:22Z",
        "coverage": "event_window",
        "comparison": {
          "startAt": "2019-08-24T14:15:22Z",
          "endAt": "2019-08-24T14:15:22Z",
          "relationship": "immediately_preceding_equal_duration"
        }
      },
      "policy": {
        "identifiedViewer": "currently_authorized_owner_or_manager_only",
        "anonymousViewerHistory": "aggregate_only",
        "privateViewerHistory": "aggregate_only",
        "identityInference": "prohibited",
        "minimumBreakdownCohort": 5,
        "selfViews": "excluded",
        "activeBlocks": "bidirectional_write_and_read_exclusion",
        "blockRationaleDisclosure": "never",
        "privateBrowsing": "anonymous_aggregate_only",
        "returningViewers": "disabled",
        "enforcement": {
          "selfViews": "enforced",
          "activeBlocks": "enforced",
          "privateBrowsing": "enforced",
          "excludedTraffic": "enforced"
        }
      },
      "freshness": {
        "consistency": "read_time",
        "computedAt": "2019-08-24T14:15:22Z",
        "projectedThrough": "null",
        "lagMilliseconds": "null"
      }
    }
  },
  "meta": {
    "timestamp": "2019-08-24T14:15:22Z"
  }
}
```

- `data` (`report-get-analytics-stats.response.200.data`; object, required)
  - `totalViews` (`report-get-analytics-stats.response.200.data.totalViews`; integer, required)
    - min 0
  - `uniqueViewers` (`report-get-analytics-stats.response.200.data.uniqueViewers`; integer, required)
    - min 0
  - `anonymousViews` (`report-get-analytics-stats.response.200.data.anonymousViews`; integer, required)
    - min 0
  - `viewsBySource` (`report-get-analytics-stats.response.200.data.viewsBySource`; object, required)
    - `share` (`report-get-analytics-stats.response.200.data.viewsBySource.share`; integer, required)
      - min 0
    - `vault` (`report-get-analytics-stats.response.200.data.viewsBySource.vault`; integer, required)
      - min 0
    - `direct` (`report-get-analytics-stats.response.200.data.viewsBySource.direct`; integer, required)
      - min 0
    - `api` (`report-get-analytics-stats.response.200.data.viewsBySource.api`; integer, required)
      - min 0
    - `unknown` (`report-get-analytics-stats.response.200.data.viewsBySource.unknown`; integer, required)
      - min 0
  - `audience` (`report-get-analytics-stats.response.200.data.audience`; object, required)
    - `subject` (`report-get-analytics-stats.response.200.data.audience.subject`; any of, required)
      - any of:
        - `object`
          - `type` (`report-get-analytics-stats.response.200.data.audience.subject.1.type`; string, required)
            - one of `"personal"`
          - `id` (`report-get-analytics-stats.response.200.data.audience.subject.1.id`; string, required)
            - minLength 1; maxLength 256
          - `authorization` (`report-get-analytics-stats.response.200.data.audience.subject.1.authorization`; string, required)
            - one of `"authenticated_user"`
          - `actingContext` (`report-get-analytics-stats.response.200.data.audience.subject.1.actingContext`; string, required)
            - one of `"personal"`
        - `object`
          - `type` (`report-get-analytics-stats.response.200.data.audience.subject.2.type`; string, required)
            - one of `"directory_listing"`
          - `id` (`report-get-analytics-stats.response.200.data.audience.subject.2.id`; string, required)
            - minLength 1; maxLength 256
          - `authorization` (`report-get-analytics-stats.response.200.data.audience.subject.2.authorization`; string, required)
            - one of `"current_directory_management_authority"`
        - `object`
          - `type` (`report-get-analytics-stats.response.200.data.audience.subject.3.type`; string, required)
            - one of `"entity"`
          - `id` (`report-get-analytics-stats.response.200.data.audience.subject.3.id`; string, required)
            - minLength 1; maxLength 256
          - `status` (`report-get-analytics-stats.response.200.data.audience.subject.3.status`; string, required)
            - one of `"compatibility_labeled"`
          - `authorization` (`report-get-analytics-stats.response.200.data.audience.subject.3.authorization`; string, required)
            - one of `"current_entity_owner"`
        - `object`
          - `type` (`report-get-analytics-stats.response.200.data.audience.subject.4.type`; string, required)
            - one of `"report"`
          - `id` (`report-get-analytics-stats.response.200.data.audience.subject.4.id`; string, required)
            - minLength 1; maxLength 256
          - `authorization` (`report-get-analytics-stats.response.200.data.audience.subject.4.authorization`; string, required)
            - one of `"report_owner_only"`
    - `source` (`report-get-analytics-stats.response.200.data.audience.source`; any of, required)
      - any of:
        - `object`
          - `key` (`report-get-analytics-stats.response.200.data.audience.source.1.key`; string, required)
            - one of `"directory_listing_views"`
          - `classification` (`report-get-analytics-stats.response.200.data.audience.source.1.classification`; string, required)
            - one of `"canonical"`
          - `recordAuthorities` (`report-get-analytics-stats.response.200.data.audience.source.1.recordAuthorities`; array<unknown>, required)
          - `readAuthorities` (`report-get-analytics-stats.response.200.data.audience.source.1.readAuthorities`; array<unknown>, required)
          - `projectionAuthority` (`report-get-analytics-stats.response.200.data.audience.source.1.projectionAuthority`; object, required)
            - `ordering` (`report-get-analytics-stats.response.200.data.audience.source.1.projectionAuthority.ordering`; string, required)
              - one of `"events.stream_version"`
            - `receipts` (`report-get-analytics-stats.response.200.data.audience.source.1.projectionAuthority.receipts`; string, required)
              - one of `"projection_event_receipts"`
            - `checkpoint` (`report-get-analytics-stats.response.200.data.audience.source.1.projectionAuthority.checkpoint`; string, required)
              - one of `"projection_scoped_checkpoints"`
            - `lifecycle` (`report-get-analytics-stats.response.200.data.audience.source.1.projectionAuthority.lifecycle`; string, required)
              - one of `"projection_lifecycles"`
          - `countingPolicy` (`report-get-analytics-stats.response.200.data.audience.source.1.countingPolicy`; string, required)
            - one of `"eligible_event"`
          - `countingEnforcement` (`report-get-analytics-stats.response.200.data.audience.source.1.countingEnforcement`; string, required)
            - one of `"partial"`
          - `viewerHistory` (`report-get-analytics-stats.response.200.data.audience.source.1.viewerHistory`; object, required)
            - `availability` (`report-get-analytics-stats.response.200.data.audience.source.1.viewerHistory.availability`; string, required)
              - one of `"unavailable"`
            - `timeAuthority` (`report-get-analytics-stats.response.200.data.audience.source.1.viewerHistory.timeAuthority`; string, required)
              - one of `"first_viewed_at_only"`
            - `blocker` (`report-get-analytics-stats.response.200.data.audience.source.1.viewerHistory.blocker`; string, required)
              - one of `"last_view_watermark_required"`
          - `policyVersion` (`report-get-analytics-stats.response.200.data.audience.source.1.policyVersion`; string, required)
            - one of `"directory-engagement-v1"`
        - `object`
          - `key` (`report-get-analytics-stats.response.200.data.audience.source.2.key`; string, required)
            - one of `"compatibility_profile_views"`
          - `classification` (`report-get-analytics-stats.response.200.data.audience.source.2.classification`; string, required)
            - one of `"compatibility"`
          - `recordAuthority` (`report-get-analytics-stats.response.200.data.audience.source.2.recordAuthority`; string, required)
            - one of `"profile_views"`
          - `readAuthorities` (`report-get-analytics-stats.response.200.data.audience.source.2.readAuthorities`; array<unknown>, required)
          - `countingPolicy` (`report-get-analytics-stats.response.200.data.audience.source.2.countingPolicy`; string, required)
            - one of `"deduplicated_24_hours"`
          - `countingEnforcement` (`report-get-analytics-stats.response.200.data.audience.source.2.countingEnforcement`; string, required)
            - one of `"enforced"`
          - `viewerHistory` (`report-get-analytics-stats.response.200.data.audience.source.2.viewerHistory`; object, required)
            - `availability` (`report-get-analytics-stats.response.200.data.audience.source.2.viewerHistory.availability`; string, required)
              - one of `"available"`
            - `timeAuthority` (`report-get-analytics-stats.response.200.data.audience.source.2.viewerHistory.timeAuthority`; string, required)
              - one of `"latest_viewed_at"`
          - `policyVersion` (`report-get-analytics-stats.response.200.data.audience.source.2.policyVersion`; string, required)
            - one of `"profile-views-v1"`
        - `object`
          - `key` (`report-get-analytics-stats.response.200.data.audience.source.3.key`; string, required)
            - one of `"compatibility_entity_views"`
          - `classification` (`report-get-analytics-stats.response.200.data.audience.source.3.classification`; string, required)
            - one of `"compatibility"`
          - `recordAuthority` (`report-get-analytics-stats.response.200.data.audience.source.3.recordAuthority`; string, required)
            - one of `"entity_views"`
          - `readAuthorities` (`report-get-analytics-stats.response.200.data.audience.source.3.readAuthorities`; array<unknown>, required)
          - `countingPolicy` (`report-get-analytics-stats.response.200.data.audience.source.3.countingPolicy`; string, required)
            - one of `"compatibility_source_owned"`
          - `countingEnforcement` (`report-get-analytics-stats.response.200.data.audience.source.3.countingEnforcement`; string, required)
            - one of `"partial"`
          - `viewerHistory` (`report-get-analytics-stats.response.200.data.audience.source.3.viewerHistory`; object, required)
            - `availability` (`report-get-analytics-stats.response.200.data.audience.source.3.viewerHistory.availability`; string, required)
              - one of `"available"`
            - `timeAuthority` (`report-get-analytics-stats.response.200.data.audience.source.3.viewerHistory.timeAuthority`; string, required)
              - one of `"latest_viewed_at"`
          - `policyVersion` (`report-get-analytics-stats.response.200.data.audience.source.3.policyVersion`; string, required)
            - one of `"entity-views-v1"`
        - `object`
          - `key` (`report-get-analytics-stats.response.200.data.audience.source.4.key`; string, required)
            - one of `"report_views"`
          - `classification` (`report-get-analytics-stats.response.200.data.audience.source.4.classification`; string, required)
            - one of `"canonical"`
          - `recordAuthority` (`report-get-analytics-stats.response.200.data.audience.source.4.recordAuthority`; string, required)
            - one of `"document_views"`
          - `readAuthorities` (`report-get-analytics-stats.response.200.data.audience.source.4.readAuthorities`; array<unknown>, required)
          - `countingPolicy` (`report-get-analytics-stats.response.200.data.audience.source.4.countingPolicy`; string, required)
            - one of `"idempotent_document_view"`
          - `countingEnforcement` (`report-get-analytics-stats.response.200.data.audience.source.4.countingEnforcement`; string, required)
            - one of `"enforced"`
          - `viewerHistory` (`report-get-analytics-stats.response.200.data.audience.source.4.viewerHistory`; object, required)
            - `availability` (`report-get-analytics-stats.response.200.data.audience.source.4.viewerHistory.availability`; string, required)
              - one of `"available"`
            - `timeAuthority` (`report-get-analytics-stats.response.200.data.audience.source.4.viewerHistory.timeAuthority`; string, required)
              - one of `"latest_viewed_at"`
            - `attributionAuthority` (`report-get-analytics-stats.response.200.data.audience.source.4.viewerHistory.attributionAuthority`; string, required)
              - one of `"report_view_delivery_receipts.private_attribution"`
          - `idempotencyEnforcement` (`report-get-analytics-stats.response.200.data.audience.source.4.idempotencyEnforcement`; object, required)
            - `share` (`report-get-analytics-stats.response.200.data.audience.source.4.idempotencyEnforcement.share`; string, required)
              - one of `"enforced"`
            - `direct` (`report-get-analytics-stats.response.200.data.audience.source.4.idempotencyEnforcement.direct`; string, required)
              - one of `"enforced"`
            - `vaultOrCollection` (`report-get-analytics-stats.response.200.data.audience.source.4.idempotencyEnforcement.vaultOrCollection`; string, required)
              - one of `"enforced"`
            - `api` (`report-get-analytics-stats.response.200.data.audience.source.4.idempotencyEnforcement.api`; string, required)
              - one of `"enforced"`
          - `policyVersion` (`report-get-analytics-stats.response.200.data.audience.source.4.policyVersion`; string, required)
            - one of `"report-views-v1"`
    - `period` (`report-get-analytics-stats.response.200.data.audience.period`; object, required)
      - `key` (`report-get-analytics-stats.response.200.data.audience.period.key`; string, required)
        - one of `"day"`, `"week"`, `"month"`, `"custom"`
      - `startAt` (`report-get-analytics-stats.response.200.data.audience.period.startAt`; string, required)
        - format `date-time`
      - `endAt` (`report-get-analytics-stats.response.200.data.audience.period.endAt`; string, required)
        - format `date-time`
      - `timezone` (`report-get-analytics-stats.response.200.data.audience.period.timezone`; string, required)
        - one of `"UTC"`
      - `interval` (`report-get-analytics-stats.response.200.data.audience.period.interval`; string, required)
        - one of `"half_open"`
      - `asOf` (`report-get-analytics-stats.response.200.data.audience.period.asOf`; string, required)
        - format `date-time`
      - `coverage` (`report-get-analytics-stats.response.200.data.audience.period.coverage`; string, required)
        - one of `"event_window"`, `"snapshot"`, `"projection"`
      - `comparison` (`report-get-analytics-stats.response.200.data.audience.period.comparison`; object, required)
        - `startAt` (`report-get-analytics-stats.response.200.data.audience.period.comparison.startAt`; string, required)
          - format `date-time`
        - `endAt` (`report-get-analytics-stats.response.200.data.audience.period.comparison.endAt`; string, required)
          - format `date-time`
        - `relationship` (`report-get-analytics-stats.response.200.data.audience.period.comparison.relationship`; string, required)
          - one of `"immediately_preceding_equal_duration"`
    - `policy` (`report-get-analytics-stats.response.200.data.audience.policy`; object, required)
      - `identifiedViewer` (`report-get-analytics-stats.response.200.data.audience.policy.identifiedViewer`; string, required)
        - one of `"currently_authorized_owner_or_manager_only"`
      - `anonymousViewerHistory` (`report-get-analytics-stats.response.200.data.audience.policy.anonymousViewerHistory`; string, required)
        - one of `"aggregate_only"`
      - `privateViewerHistory` (`report-get-analytics-stats.response.200.data.audience.policy.privateViewerHistory`; string, required)
        - one of `"aggregate_only"`
      - `identityInference` (`report-get-analytics-stats.response.200.data.audience.policy.identityInference`; string, required)
        - one of `"prohibited"`
      - `minimumBreakdownCohort` (`report-get-analytics-stats.response.200.data.audience.policy.minimumBreakdownCohort`; number, required)
        - one of `5`
      - `selfViews` (`report-get-analytics-stats.response.200.data.audience.policy.selfViews`; string, required)
        - one of `"excluded"`
      - `activeBlocks` (`report-get-analytics-stats.response.200.data.audience.policy.activeBlocks`; string, required)
        - one of `"bidirectional_write_and_read_exclusion"`
      - `blockRationaleDisclosure` (`report-get-analytics-stats.response.200.data.audience.policy.blockRationaleDisclosure`; string, required)
        - one of `"never"`
      - `privateBrowsing` (`report-get-analytics-stats.response.200.data.audience.policy.privateBrowsing`; string, required)
        - one of `"anonymous_aggregate_only"`
      - `returningViewers` (`report-get-analytics-stats.response.200.data.audience.policy.returningViewers`; string, required)
        - one of `"disabled"`
      - `enforcement` (`report-get-analytics-stats.response.200.data.audience.policy.enforcement`; object, required)
        - `selfViews` (`report-get-analytics-stats.response.200.data.audience.policy.enforcement.selfViews`; string, required)
          - one of `"enforced"`, `"partial"`, `"pending"`
        - `activeBlocks` (`report-get-analytics-stats.response.200.data.audience.policy.enforcement.activeBlocks`; string, required)
          - one of `"enforced"`, `"partial"`, `"pending"`
        - `privateBrowsing` (`report-get-analytics-stats.response.200.data.audience.policy.enforcement.privateBrowsing`; string, required)
          - one of `"enforced"`, `"partial"`, `"pending"`
        - `excludedTraffic` (`report-get-analytics-stats.response.200.data.audience.policy.enforcement.excludedTraffic`; string, required)
          - one of `"enforced"`, `"partial"`, `"pending"`
    - `freshness` (`report-get-analytics-stats.response.200.data.audience.freshness`; object, required)
      - `consistency` (`report-get-analytics-stats.response.200.data.audience.freshness.consistency`; string, required)
        - one of `"read_time"`
      - `computedAt` (`report-get-analytics-stats.response.200.data.audience.freshness.computedAt`; string, required)
        - format `date-time`
      - `projectedThrough` (`report-get-analytics-stats.response.200.data.audience.freshness.projectedThrough`; unknown, required, nullable)
        - one of `"null"`
      - `lagMilliseconds` (`report-get-analytics-stats.response.200.data.audience.freshness.lagMilliseconds`; unknown, required, nullable)
        - one of `"null"`
- `meta` (`report-get-analytics-stats.response.200.meta`; object, optional)
  - `timestamp` (`report-get-analytics-stats.response.200.meta.timestamp`; string, required)
    - format `date-time`

### 400

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`report-get-analytics-stats.response.400.error`; object, required)
  - `code` (`report-get-analytics-stats.response.400.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`report-get-analytics-stats.response.400.error.message`; string, required) — Human-readable error message
  - `details` (`report-get-analytics-stats.response.400.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`report-get-analytics-stats.response.400.error.traceId`; string, optional) — Unique ID for log correlation

### 401

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`report-get-analytics-stats.response.401.error`; object, required)
  - `code` (`report-get-analytics-stats.response.401.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`report-get-analytics-stats.response.401.error.message`; string, required) — Human-readable error message
  - `details` (`report-get-analytics-stats.response.401.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`report-get-analytics-stats.response.401.error.traceId`; string, optional) — Unique ID for log correlation

### 403

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`report-get-analytics-stats.response.403.error`; object, required)
  - `code` (`report-get-analytics-stats.response.403.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`report-get-analytics-stats.response.403.error.message`; string, required) — Human-readable error message
  - `details` (`report-get-analytics-stats.response.403.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`report-get-analytics-stats.response.403.error.traceId`; string, optional) — Unique ID for log correlation

### 404

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`report-get-analytics-stats.response.404.error`; object, required)
  - `code` (`report-get-analytics-stats.response.404.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`report-get-analytics-stats.response.404.error.message`; string, required) — Human-readable error message
  - `details` (`report-get-analytics-stats.response.404.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`report-get-analytics-stats.response.404.error.traceId`; string, optional) — Unique ID for log correlation

### 500

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`report-get-analytics-stats.response.500.error`; object, required)
  - `code` (`report-get-analytics-stats.response.500.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`report-get-analytics-stats.response.500.error.message`; string, required) — Human-readable error message
  - `details` (`report-get-analytics-stats.response.500.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`report-get-analytics-stats.response.500.error.traceId`; string, optional) — Unique ID for log correlation


Source: https://docs.sureshake.com/reference/report-get-analytics-stats/index.md
