---
title: "GET /v1/designs/{designId}/analytics/viewers"
method: GET
path: "/v1/designs/{designId}/analytics/viewers"
tags: ["analytics"]
---

# GET /v1/designs/{designId}/analytics/viewers

`GET /v1/designs/{designId}/analytics/viewers`

<Warning>

This API is currently provided as a preview. Be aware of the following:

- There might be unannounced breaking changes.
- Any breaking changes to preview APIs won't produce a new [API version](https://www.canva.dev/docs/connect/versions/).
- Public integrations that use preview APIs will not pass the review process, and can't be made available to all Canva users.

</Warning>

<Availability>
To use this API, your integration must act on behalf of a user who is a member of a [Canva Enterprise](https://www.canva.com/enterprise/) organization.
</Availability>

Lists viewers for a design, ordered by most recent view first.

## Path parameters

- `designId` string, required

## Query parameters

- `link_id` string
- `first_viewed_after` integer
- `limit` integer
- `continuation` string

## Response `200`

OK

- GetDesignAnalyticsViewersResponse — Successful response from a `getDesignAnalyticsViewers` request.
  - `items` Viewer[], required — The list of viewers.
    - `viewer_id` string, required — An opaque identifier for the viewer. Use this value when filtering page view results by viewer.
    - `user` TeamUser — Metadata for the user, consisting of the User ID, Team ID, and display name.
      - `user_id` string — The ID of the user.
      - `team_id` string — The ID of the user's Canva Team.
      - `display_name` string — The name of the user as shown in the Canva UI.
    - `last_viewed_at` integer, required — When the viewer most recently opened the design, as a Unix timestamp (in seconds since the Unix Epoch).
    - `viewer_type` 'editor' | 'commenter' | 'viewer', required — How the viewer accessed the design.
    - `visibility` 'shown' | 'anonymous' | 'opt_out' | 'another_team' | 'deleted', required — How this viewer should be presented to the caller.
    - `total_view_duration_seconds` integer — The total time this viewer has spent viewing the design, in seconds.
    - `first_viewed_at` integer — When the viewer first viewed the design, as a Unix timestamp (in seconds since the Unix Epoch).
    - `pages_viewed` integer — The number of pages this viewer viewed for more than one second.
    - `form_factor` 'small' | 'large' — The device form factor used to view the design.
    - `device_operating_system` string — The simplified operating system name for the viewer's device.
    - `city_country` string — The viewer location as city and country. This is only returned for anonymous viewers.
    - `total_view_count` integer — The number of times this viewer opened the design.
  - `continuation` string — If the success response contains a continuation token, there are more viewers you can list. You can use this token as a query parameter and retrieve more viewers from the list, for example `/v1/designs/{designId}/analytics/viewers?continuation={continuation}`. To retrieve all viewers, you might need to make multiple requests.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `429` — Too Many Requests
- `default` — Error Response

---

[API](https://skmtc.net/canva/apis/canva-connect-api.md) · [All operations](https://skmtc.net/canva/apis/canva-connect-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/canva/canva-connect-api/versions/499c392c7720/schema)
