Reports

Access pentest reports in markdown and PDF formats

GET/v1/scans/:scanId/report

Get pentest report

Retrieve the full penetration test report for a completed pentest. The report is returned as markdown content and includes an executive summary, methodology, detailed findings with evidence, and remediation recommendations. Returns 202 Accepted if the report is still being generated.

Reports are generated asynchronously by the reporter agent after all other agents complete. Poll this endpoint if you receive a 202 response.

Path Parameters

NameTypeDescription
scanIdrequired
stringPentest ID (UUIDv7)

Example Request

bash
curl -X GET "https://apviso.com/api/v1/scans/:scanId/report" \
  -H "X-API-Key: apvk_your_key_here"

Response

Returns the report row. If the scan is still active, returns 202 with `message` and `scanStatus`. Returns 404 if the report does not exist.

json
{
  "report": {
    "id": "019414cf-d5e6-7f8a-b9c0-1d2e3f4a5b6c",
    "scanId": "019414c3-d5e6-7f8a-b9c0-1d2e3f4a5b6c",
    "markdownContent": "# Penetration Test Report\\n\\n## Target: example.com\\n\\n## Executive Summary\\n\\nA comprehensive penetration test was conducted against example.com on May 3, 2026...",
    "pdfUrl": null,
    "createdAt": "2026-05-03T10:05:30Z"
  }
}
POST/v1/scans/:scanId/report/pdf

Generate PDF report

Generate a professionally formatted PDF report for a completed pentest. The PDF includes your organization branding, executive summary, vulnerability details with screenshots, and remediation guidance. Use the download endpoint to retrieve the file after this endpoint returns ready=true.

Path Parameters

NameTypeDescription
scanIdrequired
stringPentest ID (UUIDv7)

Example Request

bash
curl -X POST "https://apviso.com/api/v1/scans/:scanId/report/pdf" \
  -H "X-API-Key: apvk_your_key_here"

Response

Generates and stores the PDF synchronously, then returns ready=true. Repeated calls return ready=true when the PDF already exists.

json
{
  "ready": true
}
GET/v1/scans/:scanId/report/pdf/download

Download PDF report

Download the generated PDF report file. Returns the binary PDF data with appropriate content-type headers. Returns 404 if no PDF has been generated for this pentest.

The response is binary PDF data, not JSON. Handle the response as a file download. The `Content-Disposition` header includes a suggested filename.

Path Parameters

NameTypeDescription
scanIdrequired
stringPentest ID (UUIDv7)

Example Request

bash
curl -X GET "https://apviso.com/api/v1/scans/:scanId/report/pdf/download" \
  -H "X-API-Key: apvk_your_key_here"

Response

Returns the PDF file as binary data with `Content-Type: application/pdf`. Returns 404 if no PDF report exists for this pentest.

json
{
  "description": "Binary PDF file returned with Content-Type: application/pdf and Content-Disposition: attachment; filename=\"apviso-report-example.com-2026-04-10.pdf\""
}