ListCatalog
Quick Links
Accounts Accounting Entries Products Customers Sales quotes Sales invoices Suppliers Purchase invoicesDescription
The listCatalog operation exposes a ready-to-use catalog of business list definitions available in Sage Active.
It is designed to simplify how lists are discovered, configured, and executed by providing a predefined set of business-driven list capabilities, including:
- available lists
- allowed business filters
- allowed sorting rules
- associated query models
- date range support for list execution
This approach allows clients to retrieve consistent and meaningful lists without building custom GraphQL queries or understanding the underlying schema.
Each list definition represents a stable business contract, aligned with Sage Active domains such as:
- Accounting
- Sales
- Purchases
- Master data (Customers, Suppliers, Products)
This operation does not return business data.
It returns metadata describing how lists can be executed using the listExecute operation.
Functionality
- Discover available business lists
- Identify supported filters for each list
- Identify allowed sorting rules
- Understand which business domains are covered
- Determine whether a list supports date range filtering
- Drive generic list screens and exports
- Secure list execution by design
Input Parameters
- contextContains
Optional filter allowing to return only lists whose context contains the provided value.
Response
The service returns the catalog entries in the definitions field.
Each definition describes exactly how a list can be executed.
This operation returns static business metadata.
There is no pagination and no edges/nodes pattern.
Header
| Key | Value |
|---|---|
Authorization |
Bearer Current access Token How to find? |
x-api-key |
Primary or secondary subscription key of your app How to find? |
How to use the List Catalog?
GraphQL Query
query {
listCatalog(contextContains: "Invoice") {
definitions {
entityKey
context
filters
orderBy
supportsDateRange
}
}
}
Example Response
{
"data": {
"listCatalog": {
"definitions": [
{
"entityKey": "salesInvoices",
"context": "Sales Invoices",
"filters": [
"All invoices",
"Validated invoices",
"Draft",
"Unpaid - upcoming",
"Unpaid - overdue",
"Partially paid - upcoming",
"Partially paid - overdue",
"Paid",
"Credit notes",
"Payment in advance",
"National invoices",
"Foreign invoices",
"Search by customer id"
],
"orderBy": [
"Invoice date desc",
"Invoice number"
],
"supportsDateRange": true
},
{
"entityKey": "salesInvoiceLines",
"context": "Sales Invoice Lines",
"filters": [
"All invoice lines",
"Validated invoices",
"Credit note lines",
"Standard invoice lines",
"National invoice lines",
"Foreign invoice lines",
"Search by customer id",
"Search by product id"
],
"orderBy": [
"Invoice date desc",
"Invoice number",
"Product",
"Quantity desc"
],
"supportsDateRange": true
}
]
}
}
}
listCatalog Input parameters
| Fields | Type | Description |
|---|---|---|
| contextContains | String | Filters list definitions by matching the value against context |
listCatalog Response
| Fields | Type | Description |
|---|---|---|
| definitions[] | ListDefinition | List of available list catalog definitions |
Definition fields
| Fields | Type | Description |
|---|---|---|
| entityKey | String | Technical identifier of the list |
| context | String | Human-readable business description |
| filters[] | [String] | Available business filters to reuse as-is |
| orderBy[] | [String] | Allowed sorting rules to reuse as-is |
| supportsDateRange | Boolean | Indicates if the list supports date range filtering |
Info
-
definitions[]
The catalog response contains a list of list definitions.
Each definition describes exactly which input values are allowed when executing a list using listExecute.Each definition includes:
-
entityKey
Technical identifier of the list to reuse as-is as entityKey in listExecute -
context
Human-readable description of the list purpose. -
filters[]
Predefined business filters that can be reused as-is as filterName in listExecute -
orderBy[]
Allowed sorting rules to reuse as-is as orderByName in listExecute -
supportsDateRange
Indicates whether the list supports date range filtering.
Date parameters can only be provided in listExecute when this value is set totrue.
-
-
execution contract
All values returned by listCatalog define the strict execution contract for listExecute:- Filters and sorting rules must be reused as-is
- Date parameters are only allowed when supportsDateRange is
true - Any value not explicitly exposed by the catalog is invalid for list execution