REST API Reference

The RML Engine exposes a REST API for programmatic access to template metadata. External scripts, ETL pipelines, and integration tools can use these endpoints to inspect RML files without rendering them or navigating the Ambience UI.

Endpoints under rml-engine/api/v1 are official, maintained endpoints. Other rml-engine endpoints not under the api path may change between releases.

Overview

Base URL: rml-engine/api/v1

Content-Type: application/json

Access control: All endpoints access the repository on behalf of the authenticated user. Files the caller cannot read in the Repository module are equally inaccessible through the API.


Endpoints

Method Path Summary
GET rml-engine/api/v1/parameters Return the raw parameter definitions declared in an RML file

Endpoint Reference

GET rml-engine/api/v1/parameters

Summary: Returns the raw parameter definitions declared in the specified RML file as a JSON array. Each object contains the parameter name, its declared type, and its default value exactly as encoded in the template — without any HTML rendering.

This is the only way to retrieve structured parameter information programmatically. The get-parameters path used by the Ambience UI returns an HTML web form, not machine-readable data.

Query parameters:

Parameter Type Required Description
rml string Yes Repository path to the RML file (e.g. /User/admin/SalesReport.rml). URL-encode spaces and special characters.

Request body: none

Response — 200 OK:

A JSON array where each element represents one parameter declared in the RML file.

[
  { "name": "Date",      "type": "date",                  "defaultValue": "2005-01-05" },
  { "name": "Integer",   "type": "integer",               "defaultValue": "20" },
  { "name": "MyChoices", "type": "choice(Apple,Boy,Cat)", "defaultValue": "Boy" },
  { "name": "Number",    "type": "number",                "defaultValue": "23.5" },
  { "name": "Password",  "type": "password",              "defaultValue": "MyPassword" },
  { "name": "User",      "type": "",                      "defaultValue": "MyName" }
]

Returns an empty array [] when the file has no parameters.

Response fields:

Field Type Description
[].name string The parameter name as declared in the template.
[].type string The parameter type string. See Parameter Types for known values. Empty string when no type is declared.
[].defaultValue string The default value for the parameter. Empty string when no default is declared.

Error responses:

Status Condition
400 Bad Request The rml query parameter is missing.

Example:

curl -H "Authentication: elx.token YOUR_TOKEN" \
     "https://your-server/rml-engine/api/v1/parameters?rml=/User/admin/FruitSalesWithParam.rml"

Parameter Types

The type field reflects exactly what the report author encoded in the RML template using the ${name#type#defaultValue} parameter syntax. The engine does not validate or normalise type strings — a template with a custom or unrecognised type returns it as-is.

Type value UI input rendered by the engine
(empty string) Plain text field
date Date picker (value format: YYYY-MM-DD)
integer Integer number field
number Decimal number field
password Password field (masked)
boolean True/false checkbox
choice(A,B,C) Drop-down with the listed options

Availability

Product Minimum Version
Ambience 2026.1
Ambience (backport) 2024.0.12