---
title: "mxAPI Release Notes"
canonical: "https://servicedesk.maxgeo.com/space/mxAPI/1996521478/mxAPI%20Release%20Notes"
format: markdown
---
> Macro (toc)

# v1.5.5.0 - September 2026

<details>
<summary>v1.5.5.0 - September 2026</summary>

## Release Notes - mxAPI Enhancements (v1.5.5.0)

### Overview

**mxAPI v1.5.5.0** delivers enhancements focused on data accessibility, security governance, and consistency with existing datashed permissions. This release expands support for authorised data downloads while ensuring that access controls within mxAPI align with the security model already established in datashed.

---

![image-20260918-032443.png](media://b9fba549-3dba-426d-844f-e9a60e504ec1)

## Key Improvements

### Expanded Data Access

mxAPI now supports downloading authorised tables and views that do not contain a **DataSet** field.

**Benefits:**

- Enables access to a broader range of authorised data sources.
- Removes previous limitations for tables and views that are not dataset-based.
- Improves flexibility when integrating with configuration, reference, and operational data.

---

### **datashed Security Model Alignment**

mxAPI security behaviour has been aligned with the existing **datashed** permission framework.

**Benefits:**

- Delivers a consistent security experience across datashed and mxAPI.
- Reduces differences in access control behaviour between platforms.
- Simplifies administration by leveraging existing user permissions and security configurations.

---

### **User Group and Module Permission Enforcement**

mxAPI now honours **datashed User Group** and **Module** assignments when determining table visibility and download permissions.

**Benefits:**

- Ensures users only access data they are authorised to view.
- Strengthens governance and compliance with organisational security requirements.
- Improves control over data exposure through role-based permissions.
</details>

# v1.5.4.0 - June 2026

<details>
<summary>v1.5.4.0 - June 2026</summary>

## Release Notes - mxAPI Enhancements (v1.5.4.0)

### **Overview**

This release introduces cursor-based (keyset) pagination to dsConnect in mxAPI, replacing the previous offset-based approach to significantly improve performance and scalability when working with large datasets. In addition, the repository has been restructured to support better maintainability, and a CI/CD pipeline has been implemented to streamline builds, testing, and deployment.

---

![image (19).png](media://0105841f-355f-4bee-b566-52600cfcb407)

## New Features

### New Endpoints

- **POST /api/v2/dsconnect/query (Cursor-Based Pagination)**  
Introduces cursor-based (keyset) pagination, replacing the previous offset-based `/api/v2/dsConnect` endpoint. Instead of `Page` and `BatchSize` headers, clients now use a cursor token returned in each response to retrieve subsequent pages. This approach improves performance on large datasets by avoiding deep-page slowdowns and ensures consistent results even when data is being modified.
- **POST /api/v2/dsconnect/execute**  
Provides a simple, one-shot query execution endpoint. Returns the complete result set as JSON without pagination. Intended for smaller queries executed via dsConnect.

---

### Pagination Enhancements

- **Cursor-Based Pagination Implementation**  
Pagination is driven by a lexicographic keyset predicate based on user-defined `OrderBy` columns.
  - Cursor tokens are opaque and include a hash of the `OrderBy` definition.
  - Tokens are type-safe, preserving SQL parameter types from the source schema.
- **OrderBy Header Requirement**  
Clients must define result ordering using the `OrderBy` header (comma-separated column names).
  - Queries must not include an `ORDER BY` clause directly.
  - Column names are validated against a strict identifier pattern to prevent injection risks.

---

## API Requirements for /api/v2/dsconnect/query

|  |  |
| --- | --- |
| Requirement | Detail |
| DataSet column | Must be included in the SELECT clause |
| ORDER BY | Must not be in the query — use the OrderBy header |
| OrderBy header | Comma-separated column names that uniquely identify each row |
| BatchSize header | Integer, 1–200,000 |
| Cursor header | Omit for page 1; use NextCursor from previous response for subsequent pages |

## Response Fields

|  |  |
| --- | --- |
| Field | Description |
| Data | The result set (list of rows) |
| IsMore | True if more pages are available |
| NextCursor | Opaque token to pass as Cursor header for the next page |
| PageSize | Number of records returned in this page |

## Existing Endpoints

All /api/v1/ endpoints remain unchanged and fully supported. The previous /api/v2/dsConnect (offset-based) is still valid for dsconnect version 2.0.0

---
</details>

# v1.5.3.0 - May 2026

<details>
<summary>v1.5.3.0 - May 2026</summary>

## Release Notes – mxAPI Enhancements (v1.5.3.0)

### Overview

This release extends the mxAPI capabilities to improve scalability, performance, and integration support for third‑party applications such as dsCONNECT and QGIS. It introduces a new paginated query endpoint, enhanced validation, and several critical bug fixes to improve reliability and security.

---

![image-20260519-050032.png](media://d3734cec-719b-4d77-91b5-c3ce5eb32213)

## New Features

### New Endpoint – Paginated dsCONNECT Query Execution

**POST /api/v2/dsConnect**

A new version of the dsConnect endpoint supporting **server-side pagination** for handling large datasets efficiently.

**Key Highlights:**

- **Paginated Data Retrieval:**  
Supports configurable batch sizes (recommended: 100,000 rows per request).
- **Header-Based Pagination Controls:**
  - `Page` (integer, starting at 1)
  - `BatchSize` (integer)
- **IsMore Flag:**  
Indicates whether additional pages of data are available.
- **Improved Performance:**  
Prevents timeouts by limiting data returned per request.
- **SQL-Level Pagination:**  
Uses `OFFSET / FETCH` to retrieve only the required records directly from the database.

---

### New Endpoint – QGIS

**POST /api/v2/qgis**

- Acts as a **forward-compatible alias** for `/api/v1/qgis`.
- Both endpoints now route to the same handler to ensure consistency and simplify upgrades.

---

## Enhancements

### Query Validation for /api/v2/dsConnect

Improved upfront validation ensures query compliance and reduces runtime errors.

**Validation Rules:**

- `Load_Date` **must be included** in the SELECT clause.
- `ORDER BY` **must not be included** (handled automatically by the API).

**Benefits:**

- Clear, early feedback on invalid queries
- Consistent pagination behavior
- Reduced execution failures

---

## Bug Fixes

- **Dependency Injection Fix:**  
Resolved an issue affecting API key processing that could cause unexpected errors..
- **Dataset Null Handling:**  
Fixed failure when `GetAPIKeyUsersDataSet` returned null. Now handled gracefully with a descriptive error message.
- **Configuration Fixes:**

     Resolved configuration issues that could cause API startup or connectivity failures

- **API Key Error Handling:**  
Fixed 500 errors for invalid API keys. All invalid key scenarios now return a **403 Unauthorized** response.

---

## API Requirements – /api/v2/dsConnect

| Requirement | Detail |
| --- | --- |
| Load_Date | Must be included in SELECT clause |
| ORDER BY | Must not be included |
| Page | Required header (integer, starts at 1) |
| BatchSize | Required header (integer, recommended 100,000) |

---

## Summary

This release focuses on **scalability, reliability, and developer experience** by:

- Enabling efficient handling of large datasets through pagination
- Standardising query validation rules
- Improving system stability with critical bug fixes
- Providing forward compatibility for integration endpoints

These enhancements ensure mxAPI continues to support robust, secure, and high-performance third-party integrations.
</details>

# v1.5.2.0 - January 2026

<details>
<summary>v1.5.2.0 - January 2026</summary>

## **Features:**

mxAPI Third-Party Integration

The mxAPI will be a key component for digital transformation, third-party integrations, enabling external partners to access data from the MDS (in the cloud). The mxAPI uses API Key-based authentication to ensure that only authorized clients can access specific endpoints and MDS.

**Key Management:** mxAPI keys can be generated, revoked, or refreshed through the DS5 Admin Application Licensing Page.

 

![image-20260119-071658.png](media://ae3b1024-2683-420d-b261-5622089e78aa)

## **New Feature: dsCONNECT and Dataset Endpoints**

This version introduces two new API endpoints to support the LogChief Lite and dsCONNECT applications, enabling dataset‑aware connectivity and secure, user‑scoped data queries.

---

### **New Endpoint: User‑Allocated Dataset Retrieval**

**GET /api/v1/getuserallocateddataset**

This new read‑only endpoint allows LogChief Lite and other client applications to retrieve the list of datasets assigned to the current API user (as configured in DataShed5 Admin).

**Key Highlights:**

- **User‑Scoped Dataset Visibility:**  
Returns only datasets allocated to the authenticated API key, ensuring LogChief Lite users can query only the data they are authorised to access.
- **Supports LogChief Lite Workflow:**  
Enables  LogChief Lite to populate dataset selections dynamically based on DataShed5 Admin allocations.

---

### **New Endpoint: dsCONNECT Query Execution**

**POST /api/v1/dsConnect**

This new endpoint allows dsCONNECT to submit DataShed5 queries based on the user’s allocated datasets and return result sets directly.

**Key Highlights:**

- **API‑Based Query Execution:**  
Accepts a `qry` parameter containing a DataShed5 query string, enabling dsCONNECT to execute user‑scoped queries securely via API.
- **Dataset‑Aware Security Model:**  
Query results are restricted to datasets allocated to the API user, mirroring the security model enforced in DataShed5 Admin.
- **Designed for dsCONNECT Integration:**  
Enables dsCONNECT to run validation, lookup, and data retrieval operations without requiring direct ODBC connectivity.
- **JSON Output:**  
Returned results are supplied in JSON format for easy interpretation and display inside dsCONNECT.
</details>

# v1.5.1.0 - December 2025

<details>
<summary>v1.5.1.0 - December 2025</summary>

## **Features:**

mxAPI Third-Party Integration

The mxAPI will be a key component for digital transformation, third-party integrations, enabling external partners to access data from the MDS (in the cloud). The mxAPI uses API Key-based authentication to ensure that only authorized clients can access specific endpoints and MDS.

**Key Management:** mxAPI keys can be generated, revoked, or refreshed through the DS5 Admin Application Licensing Page.

 

![image-20251201-063827.png](media://f82f6178-db3e-4899-9dc3-84d7691d9902)

**New Feature: HAL Endpoint**  
This version introduces a new endpoint for the Historic Assay Loader (HAL), enabling API-based assay data loading into databases.

**Key Highlights:**

- **API Connectivity Support**:
  - Requires API license and key (issued via DataShed5Admin).
  - New endpoint allows POSTing data to `tblSYSAssIncoming`.
- **Connectivity Options**:
  - HAL now supports both ODBC and API modes.
  - API setup requires URL and API Key.
- **HAL Behavior in API Mode**:
  - Displays current connection mode.
  - Includes “Library Refresh” button; library updates must be done in DataShed.

*Please refer to the maxgeo **[Historic Assay Loader User Guide](https://servicedesk.maxgeo.com/space/MAXGEO/1986494466)** for more information.*
</details>

# v1.5.0.3 - March 2025

<details>
<summary>v1.5.0.3 - March 2025</summary>

## **Features:**

mxAPI Third-Party Integration

The mxAPI will be a key component for digital transformation, third-party integrations, enabling external partners to access data from the MDS (in the cloud). The mxAPI uses API Key-based authentication to ensure that only authorized clients can access specific endpoints and MDS.

·         **Key Management:** mxAPI keys can be generated, revoked, or refreshed through the DS5 Admin Application Licencing Page.

 

### **mxAPI Swagger UI**

In addition, Swagger UI serves as an interactive and user-friendly API reference tool, allowing developers to explore, test, and integrate with the mxAPI efficiently. Swagger provides a clear, structured interface that documents API endpoints, request parameters, response formats, and authentication requirements. It enables developers to interact with the API directly within the browser, making it easier to validate requests, troubleshoot issues, and accelerate development without needing external tools.

The following endpoints are accessible dynamically to retrieve filtered data from specified user tables and views, which can be utilized by third-party applications such as QGIS, LeapFrog, MapInfo, Surpac, and others.

 

![image-20250319-032502.png](media://ee111b63-b432-4a83-9610-e266f3d0f931)

### mxAPI QGIS Integration

maxgeo, in conjunction with the mxAPI integration, has developed the Maxgeo QGIS Plugin. This plugin enables users to retrieve data from the MDS hosted in the cloud and seamlessly generate spatial data layers within QGIS.

To access the data, users must authenticate using an API key, which ensures secure communication between the plugin and the mxAPI. By providing the API key, users can make authorized requests to fetch and visualize geological, geospatial, or other relevant datasets directly within their QGIS environment, streamlining data integration and analysis.

*Please refer to the maxgeo **[QGIS Plugin User Guide](https://maxgeo.atlassian.net/wiki/spaces/mxAPI/pages/1642135579)** for more information.*
</details>