Get Policy Report

Prev Next
Get
/api/1.0/reports/{envId}/{reportId}

This API call retrieves the Policy Report download link and relevant metadata.

Security
HTTP
Type bearer

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

Path parameters
envId
string (uuid) Required

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.

reportId
string (uuid) Required

Unique identifier for the report request. You can retrieve it by sending a POST request to the Create a Policy Report API call.

Responses
200

Report metadata and download link (only when status is ready)

Ready (downloadUrl available)

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"
  }
}
Still processing (no downloadUrl yet)

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"
    }
  }
}
Expand All
object
data
object

Report metadata. When status is "ready", includes a time-limited presigned download URL.

reportId
string (uuid)

Unique identifier for the report job.

reportName
string

Auto-generated report file name, derived from the report type, environment ID, and creation timestamp.

reportType
string

The type of report that was generated (e.g. policies_by_attribute).

status
string

Current generation status. Poll until "ready" to obtain the download URL.

Valid values[ "processing", "ready", "failed" ]
dateTime
string

Date and time the report job was created (UTC, format "YYYY-MM-DD HH:mm").

anchor
object

Context anchor for the report, identifying the environment it belongs to.

envId
string (uuid)

The environment ID the report was generated for.

downloadUrl
string

Presigned URL to download the report PDF. Present only when status is "ready". Expires at urlExpiresAt.

urlExpiresAt
string

Date and time when the presigned download URL expires (typically 24 hours after generation, UTC).

reportExpiresAt
string

Date and time when the report PDF will be permanently deleted from storage (30 days after creation, UTC).

403

Forbidden

Feature disabled for tenant

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"
}
Insufficient permissions on environment

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"
}
Expand All
object
code
string
id
string
status
integer
name
string
message
string
args
object
path
string
404

Report not found

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"
}
Expand All
object
code
string
id
string
status
integer
name
string
message
string
args
object
path
string

© 2024 PlainID LTD. All rights reserved.