Lists in Sage Active allow you to retrieve business-ready datasets such as customers, sales documents, invoice lines, or open items, using predefined and secured business rules.

They are designed to provide consistent, reusable, and controlled access to business data without exposing the underlying GraphQL schema.

There are two approaches to retrieve lists in the API.

Understanding the difference is important.

Approach 1 - Lists on standard queries (historical approach)

This approach consists of calling standard GraphQL business queries directly (customers, salesInvoices, salesInvoiceLines, etc.).

It is flexible but requires:

This approach is still supported for advanced or highly specific use cases.

Approach 2 - List API (catalog-based approach)

The List API already covers the main business domains.

The following business lists are currently available through the catalog:

This list may evolve over time as new business list definitions are added.

Sample of result

Thanks to the List API, this result is obtained with a single call to listExecute, using only predefined business parameters:

The engine automatically handles:

The result returns a business-ready list, without requiring any knowledge of the underlying GraphQL schema.

Invoice Number Invoice Date Customer Product Code Quantity Total Net
SI-2026-0145 2026-03-12 Opale PROD-001 2 1,200.00
SI-2026-0138 2026-03-10 Rubis sur ongle PROD-014 1 850.00
SI-2026-0122 2026-03-05 Bague’s en or 13 PROD-007 3 2,100.00
SI-2026-0119 2026-03-04 Carat S.a.r.l PROD-003 5 3,750.00
SI-2026-0115 2026-03-01 Dupond INC PROD-021 1 420.00

It provides business-defined lists with predefined filters and sorting rules.

List Catalog

API resources overview / ⚙️List Catalog

This operation exposes a catalog of all available business list definitions across Sage Active.

It allows you to discover:

This is the entry point for lists.

The catalog returns metadata only and does not return business data.

List Execute

API resources overview / ⚙️List Execute

This operation executes a list based on the definitions returned by listCatalog.

You no longer need to:

All inputs are validated against the catalog definitions.

Recommendation

For any new development requiring lists, the recommended flow is:

  1. Call listCatalog
  2. Select the appropriate list definition
  3. Choose an available filter and sorting rule
  4. Call listExecute

Direct usage of standard GraphQL queries should be reserved for advanced or exceptional cases.

Using listCatalog and listExecute Operations Through an MCP Server

One possible use of the listCatalog and listExecute operations is to expose them as tools through an MCP server.

In this setup, an AI client can dynamically:

This removes the need for hardcoded schema knowledge in the AI layer and ensures that business rules are always respected.

Conversation example

User
Show me all unpaid sales invoices for this year.

AI
Let me check the available lists to see how unpaid sales invoices are defined.

Tool call - ListCatalog
This tool calls the List API listCatalog operation to discover the Sales Invoice lists and identify the available business filters.

AI
I found the appropriate list and filter. I will now retrieve the data.

Tool call - ListExecute
This tool calls the List API listExecute operation with the selected list, filter, and sorting rule.

AI
Here is the list of unpaid sales invoices for the current year.