---
id: report-read
title: "Read a report"
description: "Returns the full report, including `schema`, `ui_schema`, and `queries`."
sidebar_label: "Read a report"
hide_title: true
hide_table_of_contents: true
api: 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
sidebar_class_name: "get 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={"Read a report"}
>
</Heading>

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



Returns the full report, including `schema`, `ui_schema`, and `queries`.

<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={{"200":{"description":"The requested report.","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>


      