---
id: report-copy
title: "Copy a report"
description: "Creates a personal copy of an existing report. The copy is created with `user` visibility."
sidebar_label: "Copy a report"
hide_title: true
hide_table_of_contents: true
api: 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
sidebar_class_name: "post api-method"
info_path: docs/api/reports
custom_edit_url: null
---

import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
import ParamsDetails from "@theme/ParamsDetails";
import RequestSchema from "@theme/RequestSchema";
import StatusCodes from "@theme/StatusCodes";
import OperationTabs from "@theme/OperationTabs";
import TabItem from "@theme/TabItem";
import Heading from "@theme/Heading";

<Heading
  as={"h1"}
  className={"openapi__heading"}
  children={"Copy a report"}
>
</Heading>

<MethodEndpoint
  method={"post"}
  path={"/report/{id}/copy"}
  context={"endpoint"}
>
  
</MethodEndpoint>



Creates a personal copy of an existing report. The copy is created with `user` visibility.

<Heading
  id={"request"}
  as={"h2"}
  className={"openapi-tabs__heading"}
  children={"Request"}
>
</Heading>

<ParamsDetails
  parameters={[{"in":"path","name":"id","required":true,"schema":{"type":"string","format":"uuid"},"description":"The unique identifier of the report.","example":"ff5970bf-592d-4a8d-b858-3175ec444562"}]}
>
  
</ParamsDetails>

<RequestSchema
  title={"Body"}
  body={undefined}
>
  
</RequestSchema>

<StatusCodes
  id={undefined}
  label={undefined}
  responses={{"201":{"description":"The newly created copy.","content":{"application/json":{"schema":{"title":"Report","type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique report identifier.","example":"ff5970bf-592d-4a8d-b858-3175ec444562"},"name":{"type":"string","description":"The report's display name.","example":"Deployment frequency"},"slug":{"type":"string","description":"A URL-friendly identifier for the report.","example":"deployment-frequency"},"description":{"type":"string","description":"A human-readable description of what the report shows.","example":"How often each application deploys"},"schema":{"type":"object","additionalProperties":true,"description":"A JSON Schema defining the report's input fields."},"ui_schema":{"type":"object","additionalProperties":true,"description":"A UI Schema controlling how the form renders."},"queries":{"title":"Queries","type":"object","description":"A map of query IDs to query definitions. Each ID is a name you choose to identify the query within the report.","additionalProperties":{"title":"QueryDefinition","type":"object","required":["source"],"additionalProperties":false,"properties":{"source":{"type":"string","description":"The SQL `SELECT` statement the query runs. It can include `{name:Type}` placeholders that take their values from form fields, as declared in `params`.","example":"SELECT name FROM environments WHERE account = {account:String}"},"params":{"type":"object","description":"Binds the placeholders in `source` to form fields. Each key matches a placeholder name in the query.","additionalProperties":{"type":"object","required":["scope"],"additionalProperties":false,"properties":{"scope":{"type":"string","description":"A JSON Pointer to the form field that supplies the placeholder's value.","example":"#/properties/account"}}}},"target":{"type":"string","description":"A JSON Pointer to the schema property this query populates with its results.","example":"#/properties/environment"},"mapping":{"type":"string","enum":["enum"],"description":"How query results map onto the `target` field. Use `enum` to turn the results into the field's selectable options.","example":"enum"}}}},"visibility":{"title":"Visibility","type":"string","enum":["user","organization"],"description":"Who can see the report. `user` keeps it private to its owner; `organization` shares it with the whole organization.","example":"user"},"created_at":{"type":"string","format":"date-time","description":"The ISO 8601 timestamp of when the report was created.","example":"2026-07-20T12:00:00Z"},"updated_at":{"type":"string","format":"date-time","description":"The ISO 8601 timestamp of the report's last update.","example":"2026-07-20T12:00:00Z"}}}}}},"4XX":{"description":"Client error responses due to invalid input or missing parameters.","content":{"application/json":{"schema":{"title":"Error","type":"object","required":["statusCode","error","message"],"properties":{"statusCode":{"type":"integer","description":"HTTP status code indicating the error.","example":400},"code":{"type":"string","description":"A machine-readable error code that categorizes the failure.","example":"bad_request"},"error":{"type":"string","description":"A short, human-readable error type.","example":"Bad Request"},"message":{"type":"string","description":"Additional details about the error.","example":"The request was malformed or contained invalid parameters."}}}}}},"5XX":{"description":"Internal server error due to an unexpected issue.","content":{"application/json":{"schema":{"title":"Error","type":"object","required":["statusCode","error","message"],"properties":{"statusCode":{"type":"integer","description":"HTTP status code indicating the error.","example":400},"code":{"type":"string","description":"A machine-readable error code that categorizes the failure.","example":"bad_request"},"error":{"type":"string","description":"A short, human-readable error type.","example":"Bad Request"},"message":{"type":"string","description":"Additional details about the error.","example":"The request was malformed or contained invalid parameters."}}}}}}}}
>
  
</StatusCodes>


      