Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
If you’re running Qlik on-premise, NPrinting is the go-to for producing highly formatted, template-based reports. It works seamlessly with QlikView and Qlik Sense Enterprise on Windows, letting you design in familiar tools like Excel, Word, PowerPoint, and PixelPerfect, then deliver reports as PDFs, HTML, or Office files to folders, the NPrinting NewsStand, email recipients, or even the Qlik Sense Hub — all with scheduling, cycling, and bursting built in.
In Qlik Cloud, reporting takes a different shape. You still have built-in options for creating and delivering reports directly in the tenant interface, but you also gain something new: an API-driven approach that opens up possibilities well beyond what’s available in the UI. And that’s where the Qlik Cloud Reporting API comes in.
What You Can Do in Qlik Cloud (Inside the Interface):
Qlik Cloud Reporting allows you to create reports from apps using native templates or PixelPerfect templates, then distribute them as PDFs, Excel files, or other formats. Through the tenant interface, you can:
Create and edit report templates
Apply selections and filters
Schedule recurring reports
Deliver reports to email recipients or Qlik Cloud spaces
These capabilities are fully documented in Qlik Help, and for many users, the UI-based workflow is all they need.
The Reporting API enables everything above — but from outside Qlik Cloud.
That means you can:
Trigger reports from external systems
Integrate reporting into your own applications
Automate delivery to custom destinations
Include Qlik reports in larger automated workflows (think: customer portals, scheduled partner updates, or triggered operational reports)
If you’ve ever wished you could generate a Qlik report as part of an end-to-end automation pipeline, the API is the key.
Reporting with Qlik Automate
Not every reporting workflow requires custom code. Qlik Automate lets you build automated reports using the Qlik Reporting Service through a low-code, drag-and-drop interface. Reports can be delivered as PDF or PowerPoint and distributed via email or cloud connectors like SharePoint, OneDrive, Dropbox, Google Cloud Storage, Amazon S3, or SFTP.
Some common use cases include:
Bursted reports where each recipient only sees their own data
Looping reports that generate one page per dimension value (e.g. region or product)
Cross-app reporting combining insights from multiple Qlik Sense apps
External delivery to recipients without Qlik Cloud accounts
Think of Automate as the middle ground — more flexible than the tenant UI, but easier to adopt than full API coding.
How the Qlik Cloud Reporting API Works
At its core, the process involves:
1- Sending a POST request to create a report generation job.
2- Polling the outputs endpoint to check when the job is complete.
3- Downloading the generated file once it’s ready.
Here’s a real example:
POST https://<tenant>/api/v1/reports
Body:
{
"type": "sense-pixel-perfect-template-1.0",
"sensePixelPerfectTemplate": {
"appId": "1234567-a480-43f5-bc88-825736d8842f",
"templateId": "1a2b3c-ba56-46ee-ac74-4746dd145816",
"templateLocation": {
"path": "https://<tenant>/api/v1/report-templates/3de5c6c2-ba56-46ee-ac74-4746dd145816",
"format": "url"
},
"selectionChain": [
{
"selectionType": "selectionFilter",
"selectionFilter": {
"selectionStrategy": "stopOnError",
"selectionsByState": {
"$": [
{
"fieldName": "Currency",
"defaultIsNumeric": false,
"values": [{ "text": "USD", "isNumeric": false }]
},
{
"fieldName": "Year",
"defaultIsNumeric": true,
"values": [{ "number": 45778, "isNumeric": true }]
}
]
}
}
}
]
},
"output": { "type": "pdf", "outputId": "pp", "pdfOutput": {} }
}
Response:
{
"message": "Report request has been accepted and is being processed.",
"outputsUrl": "https://<tenant>/api/v1/reports/1234567-bed1-4024-8614-37bb898a41b0/outputs",
"requestId": "987654321-bed1-4024-8614-37bb898a41b0"
}
Here, you’ll notice:
outputsUrl gives you the endpoint to poll for the report status.
requestId uniquely identifies the job.
GET https://<tenant>/api/v1/reports/{requestId}/outputs
Response:
{
"data": [
{
"cycleSelections": [],
"location": "https://<tenant>/api/v1/temp-contents/2342346c185413cc5ec121b",
"outputId": "pp",
"sizeBytes": 382078,
"status": "done",
"traceId": "abc1234d2e88db9bc155d8a732132899d"
}
],
"links": {
"self": {
"href": "https://<tenant>/api/v1/reports/{requestId}/outputs"
}
}
}
Key things to look for in the response:
status — "done" means the report is ready.
location — the direct link to the generated file.
Once the status is "done", perform a GET to the location URL.
For example:
GET https://<tenant>/api/v1/temp-contents/2342346c185413cc5ec121b
This returns the actual PDF (or other format, depending on your request).
Where to Learn More:
You can visit these pages for full API documentation and working samples:
Qlik Cloud’s tenant interface is powerful for building and scheduling reports right inside your analytics environment — but the Reporting API takes it further. By integrating directly with your external systems, you can build modern, automated, and scalable reporting workflows that go well beyond what’s possible within the tenant.
If you’re ready to move from manual scheduling to full automation, the Reporting API is where you start.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.