Remote API Reference
The Remote Pivot API is a transport-agnostic JSON contract that allows RevoGrid to communicate with analytical backends, OLAP cubes, or custom SQL planners.
Load Request
Section titled “Load Request”The PivotLoadRequest is sent whenever the grid needs to materialize a visible window of analytical data.
Root Properties
Section titled “Root Properties”viewId: Semantic identifier for the dataset (e.g.,sales_cube).fieldsVersion: Version of the field registry used to resolve selectors.loadOptions: The analytical query definition.viewport: Request windows for row and column axes.uiState: Optional hints for engine-side formatting.
Load Options
Section titled “Load Options”The loadOptions object defines the shape of the analytical query:
rows: Array of group descriptors for the row axis.columns: Array of group descriptors for the column axis.values: Measures to aggregate.filter: Complex filter expression tree.sort: Sorting directives (can include sort-by-summary).groupSummary: Measures to calculate at every group level.
Viewport
Section titled “Viewport”The viewport defines independent analytical windows:
rowAxis: Containsoffset,limit, andexpandedPaths.columnAxis: Containsoffset,limit, andexpandedPaths.
Use analytical paths for expansion state, not visible row indexes.
Normalization Limits
Section titled “Normalization Limits”Before planning/execution, requests are typically normalized against backend limits (PivotLimits) to keep payloads and query complexity bounded.
Common limits include:
maxRowWindowSize: Maximum allowedrowAxis.limit.maxColumnWindowSize: Maximum allowedcolumnAxis.limit.maxExpandedPaths: Maximum number of expansion paths per axis.maxExpansionDepth: Maximum hierarchy depth of a single expansion path.maxDrilldownLimit: Maximum page size for drilldown requests.
For maxExpansionDepth, depth is the number of path segments. Example: ['Region', 'Country', 'City'] has depth 3.
Load Response
Section titled “Load Response”PivotLoadResponse returns only the data needed for the current visible window.
Root Properties
Section titled “Root Properties”data: Array of row records (expected to have__rowPathand__columnPath).summary: Optional grand-total or pinned rows.rowAxis: Window metadata for the row axis.columnAxis: Window metadata for the column axis.groupAggregates: Optional grouped-row measures.meta: Diagnostic metadata.
Important response metadata:
cacheStatus: ‘hit’, ‘miss’, ‘warm’, or ‘bypass’.
Axis Metadata
Section titled “Axis Metadata”Both rowAxis and columnAxis use the same metadata structure.
| Field | Role | Description |
|---|---|---|
paths | Required (Columns) | Array of analytical paths used to generate headers. |
totalCount | Required (Rows) | Total members on server. Required for row-axis scrollbars and pagination. |
Drilldown
Section titled “Drilldown”Drilldown uses PivotDrilldownRequest and PivotDrilldownResponse.
The request identifies a visible summary cell by:
rowPathcolumnPath- optional
dataIndex
The backend should reuse the same analytical filter context as the Pivot request, then return matching fact rows with pagination.
UI State Hints
Section titled “UI State Hints”uiState hints allow the backend to optimize its output format:
rowHeaderLayout: ‘tree’ or ‘flat’.showTotalsPrior: Placement of subtotals.collapsedByDefault: Initial hierarchy state.