Platform

Platform overview How it works Authorization testing Evidence & reports Private scanning Integrations

Solutions

Security agencies Product teams Regulated industries Partner programme

Learn

Blog Knowledge hub Compare

Resources

Pricing Documentation Help centre FAQ Security & data What we haven’t proved

Company

About Contact Careers Sign in to the platform Start a $199 pilot →

Home / Help centre / Reports & exports

Reports & exports

How do I download a scan report through the API?

Quick answer

Call GET /api/scans/:id/report.pdf with your Bearer API token and add a mode of open, all or fixed-only to choose what the PDF holds. This route returns a file, not JSON, and it needs the scan:read_report permission. Save the response body as a PDF.

Steps

  1. Get a personal API token. An admin issues it from Administration → Users. The token carries its owner's permissions.
  2. Find the scan ID. GET /api/scans lists recent scans, newest first, and needs scan:read.
  3. Pick a mode, either open, all or fixed-only, and remember that the table below maps each one to a menu option you may already know.
  4. Send GET /api/scans/<scan-id>/report.pdf?mode=all from any HTTP client. Add the header Authorization: Bearer <your-token>. Use your Cyberlop address as the host.
  5. Write the response body to disk using a name that ends in .pdf.

Good to know

mode valueSame as this menu option
openOpen issues only
allInclude fixed & accepted
fixed-onlyFixed issues only

The API Reference page in the app lists every route with its permission, and its filter box lets you type report to find this one quickly. Look for the word "file" beside the path, which marks a route that returns a document, not JSON. Always pass the mode yourself so the result never surprises you.

Authentication is by session cookie or Bearer API token, and for scripts the token is the better choice. A role without scan:read_report cannot fetch the PDF, even if the same role is allowed to list scans.

Treat the token like a password. Store it in your pipeline secret store and never paste it into a ticket or a chat.

This pairs well with CI. A pipeline step can launch a scan, wait for the result and then fetch the report. See how to authenticate API requests and the API reference tutorial. If a call fails, contact us.

Full tutorial

Cyberlop API reference: authentication, permissions and the OpenAPI spec

Step-by-step, with annotated screenshots.

Updated · Back to the help centre

Still stuck?

Tell us what you see on screen and an engineer will help you sort it out.