Using the EQQ JSON Builder to Expose Query Data as an API

The EQQ JSON Builder (available in the Extended Edition) lets external applications call any named EQQ query over a secure API and receive the results as structured JSON. This allows other systems to consume live, filtered business data without requiring direct database access.

What is the JSON Builder For?

Common integration scenarios include:

  • Feeding live data into custom dashboards or reporting portals
  • Allowing tools such as Excel Power Query to pull real-time business data
  • Supplying data snapshots to partner or third-party applications
  • Rendering EQQ charts or result grids inside other web applications

How the JSON Builder Works

The JSON Builder exposes two API endpoints for external callers:

  • Get Query Parameters — returns the list of parameters a named query expects, so the caller knows what to supply
  • Execute Query — runs the named query with the supplied parameters and returns results as a JSON array

All calls are authenticated using the caller's EQQ username and password (HTTP Basic Authentication). The underlying SQL query and database structure are never exposed to the caller.

Discovering a Query's Parameters

Before executing a query, your application can call the Get Query Parameters endpoint to find out what parameters the query requires:

GET /api/v1/JsonBuilder/GetQueryParameters?queryName=YourQueryName

This returns a list of parameter names, types, and whether each is required or optional.

Executing a Query and Retrieving JSON Results

To run a query and receive results:

  1. Send a POST request to /api/v1/JsonBuilder/ExecuteQuery with Basic Authentication credentials in the request header
  2. Include the query name and parameter values in the request body as JSON
  3. EQQ validates the credentials, checks that the user has permission to run the named query, executes it in read-only mode against your business database, and returns the results

Paginating Large Result Sets

For queries that return a large number of rows, the JSON Builder supports server-side pagination using request headers:

  • RowSize: the number of rows to return per page
  • RowIndex: the starting row offset (zero-based)
  • QueryMoreCode: used in subsequent calls to continue retrieving the next page of results efficiently

This keeps individual API responses small and fast, regardless of the total number of records.

Chart Data Endpoint

A separate Execute Query Chart endpoint returns results in a format optimized for rendering charts and graphs. This is useful when embedding EQQ visualizations in third-party portals or dashboards.

Security

Every JSON Builder call is subject to EQQ's full role-based access control. Callers can only execute queries they are permitted to access. All query execution is logged in the EQQ audit trail, so Administrators can see which external applications called which queries and when.

Need Help?

The JSON Builder is available in the Extended Edition. If you need assistance integrating EQQ data into another application, contact us via Get In Touch to discuss your requirements.