Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us to spark ideas for how to put the latest capabilities into action. Register here!
Ouadie
Employee
Employee

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.

Why Go Beyond the Tenant Interface?

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.

 

reports.png

 

Here’s a real example:

Step 1: Request a Report

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.


Step 2: Poll for the Output

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.


Step 3: Download the 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.