---
search:
  tags:
    - Views
    - POST
seo:
  description: >-
    Copy an existing View, with the caller as the new one's author. Reference
    for the POST /v1/views/id/{view_id}/duplicate endpoint in the Roboto REST
    API.
sidebar:
  label: Duplicate view
  badge: POST
title: Duplicate view
type: openapi-operation
---
Copy an existing View, with the caller as the new one's author.

Server-side rather than a client-side create-from-existing so the definition is copied
whole. A client that duplicated by reading and re-posting would silently drop any field of
the definition blob its own version does not understand, which matters because the blob is
versioned and the frontend lags the backend across a deploy.

Requires only ``can_view`` on the source: duplicating reads it and writes something new,
leaving the original untouched. The copy is a fresh View authored by the caller, so it
carries none of the source's relations.

That includes its visibility, which is why ``private`` is passed explicitly below rather
than left to the default: copying a teammate's shared View must not re-publish it to the
org under the caller's name, and this route is gated on ``can_view`` alone — sharing is
reserved to a View's author, through the access endpoint. Stating it here means the
property survives a later change of default.

### Access control
 - Restricted tokens need the API scope `api.everything_else`

`POST /v1/views/id/{view_id}/duplicate`
