Connections, auth and API

Can I get report data, including child tables, through the API?

The API exposes report counts, report fields and single report items, not a full report export. Export from the UI or page through the admin items API.

How-to

Short answer: Not as a whole. The public API has report endpoints for the item count, the report's fields and one item's values, but no endpoint that returns every row of a report. To get the full data, export the report or page through the process items API.

Why it happens

  • The API reference documents three process report endpoints under /process-report/2/{account_id}/{process_id}/{report_id}: /count, /fields and /{instance_id}.
  • None of them lists all the rows a report shows, so you can't pull a report as JSON or CSV from its URL.

How to fix it

To export a report's data by hand:

  1. Open a tabular report or the All Items report.
  2. Click Export and choose CSV, CSV (Multiple files) or JSON. Kissflow emails you a download link. If the email doesn't arrive, check your spam folder. See administering a report.

To get the data in code:

  1. Call List all process items (Admin) (GET /process/2/{account_id}/admin/{process_id}/item) and page through it with page_number and page_size.
  2. Add apply_preference=true to apply the fields and filters saved in process administration.
  3. To read one item's values as a report shows them, call Retrieve process report item details with the report ID and instance ID.

To feed a BI tool, use the Kissflow connector for BI instead of the API.

Important

Plain CSV export works only when the form has at most one table and the report has no workflow step selected. Otherwise, export as CSV (Multiple files) or JSON. See API and SDK documentation for the endpoints above.

Related answers