This API call retrieves the Policy Report download link and relevant metadata.
For more details about Administration API Authentication, check out the Authentication APIs documentation
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer 123
The Environment ID can be found under the Details Tab in the Environment Settings. If your PAA is installed on the Tenant level, input - as your envId.
Unique identifier for the report request. You can retrieve it by sending a POST request to the Create a Policy Report API call.
Report metadata and download link (only when status is ready)
PDF generated; urlExpiresAt is when the presigned downloadUrl expires, reportExpiresAt is when the report is deleted from storage (30 days from creation).
{
"data": {
"reportId": "c3100ddd-e77d-4bb3-8704-d03e01f36443",
"reportName": "policies_by_attribute_7c04f99f-ddf4-4425-97c0-8fd9d2f9ea38_2026-05-11_13-15",
"reportType": "policies_by_attribute",
"status": "ready",
"dateTime": "2026-05-11 13:15",
"anchor": {
"envId": "7c04f99f-ddf4-4425-97c0-8fd9d2f9ea38"
},
"downloadUrl": "https://download.plainid.io/reports/staging/TNT3P2R3SN6VRPC/7c04f99f-ddf4-4425-97c0-8fd9d2f9ea38/reports/c3100ddd-e77d-4bb3-8704-d03e01f36443.pdf?Expires=1778675230&Signature=...&Key-Pair-Id=K142RUNA675OHA",
"urlExpiresAt": "2026-05-12 13:16",
"reportExpiresAt": "2026-06-10 13:15"
}
}Report PDF is still being generated; downloadUrl is not available until status displays "ready"
{
"data": {
"reportId": "c3100ddd-e77d-4bb3-8704-d03e01f36443",
"reportName": "policies_by_attribute_7c04f99f-ddf4-4425-97c0-8fd9d2f9ea38_2026-05-11_13-15",
"reportType": "policies_by_attribute",
"status": "processing",
"dateTime": "2026-05-11 13:15",
"anchor": {
"envId": "7c04f99f-ddf4-4425-97c0-8fd9d2f9ea38"
}
}
}Report metadata. When status is "ready", includes a time-limited presigned download URL.
Unique identifier for the report job.
Auto-generated report file name, derived from the report type, environment ID, and creation timestamp.
The type of report that was generated (e.g. policies_by_attribute).
Current generation status. Poll until "ready" to obtain the download URL.
Date and time the report job was created (UTC, format "YYYY-MM-DD HH:mm").
Context anchor for the report, identifying the environment it belongs to.
The environment ID the report was generated for.
Presigned URL to download the report PDF. Present only when status is "ready". Expires at urlExpiresAt.
Date and time when the presigned download URL expires (typically 24 hours after generation, UTC).
Date and time when the report PDF will be permanently deleted from storage (30 days after creation, UTC).
Forbidden
platform.reports.use feature toggle is off for this tenant
{
"id": "EW76XA",
"code": "C-011",
"status": 403,
"name": "featureNotAllowedError",
"message": "Platform reports are not enabled for this tenant"
}The current user lacks get permission on the target environment
{
"id": "EW77XA",
"status": 403,
"name": "forbiddenEnvironment",
"message": "operation get for resource Environment 7c04f99f-ddf4-4425-97c0-8fd9d2f9ea38 isn't allowed due to: the current user has no appropriate permissions"
}Report not found
reportId does not exist, or belongs to a different envId / tenant
{
"id": "EW78XA",
"status": 404,
"name": "notFoundError",
"message": "report not found: c3100ddd-e77d-4bb3-8704-d03e01f36443"
}