Download the stakeholder report (PDF)
GET
/v1/sites/{id}/report.pdf
const url = 'https://api.overwatch.weareheavy.dev/v1/sites/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/report.pdf';const options = {method: 'GET', headers: {'x-api-key': '<x-api-key>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.overwatch.weareheavy.dev/v1/sites/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/report.pdf \ --header 'x-api-key: <x-api-key>'A branded, verdict-first stakeholder report spanning all four signals — broken links, accessibility, uptime, and Core Web Vitals — rendered as a PDF. Built for handing to a client or stakeholder: the organization’s name and logo brand the cover, and each installed app contributes its latest results.
The same report can also be emailed on a schedule — see the
Notifications endpoints (reportRecipients).
Authorizations
Section titled “ Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “ Path Parameters ”id
required
string format: uuid
The site’s UUID.
Responses
Section titled “ Responses ”The report, as a application/pdf attachment.
Media typeapplication/pdf
string format: binary
Missing or invalid credentials.
Media typeapplication/json
object
error
required
A human-readable error message.
string
Example
{ "error": "invalid api key"}No site with that id is visible to the caller.
Media typeapplication/json
object
error
required
A human-readable error message.
string
Example
{ "error": "site not found"}The PDF renderer failed; retry the request.
Media typeapplication/json
object
error
required
A human-readable error message.
string
Example
{ "error": "could not generate the report — please try again"}