Create metric

POST 

/v2/illuminate/metrics

Creates a new metric for data aggregation. A metric defines an aggregation function applied to business object fields over a time window.

measureId conditional requirement

FunctionmeasureIdField type
COUNT, COUNT_DISTINCTOmit — these count occurrences, no field neededN/A
AVG, MAX, MIN, SUMRequired — must reference a NUMERIC field from the Business ObjectjsonFieldType: "NUMERIC"

dimensionIds reference TEXT fields used for grouping (e.g., group by user or region). filters[].sourceId references a field from the Business Object.

Note: The filters[].id field is auto-generated on create. Include it in subsequent PUT requests when updating filters.

evaluationWindow allowed values

Only the following values (in seconds) are accepted — arbitrary values will be rejected:

ValueDuration
601 minute
3005 minutes
60010 minutes
90015 minutes
180030 minutes
36001 hour
864001 day

Request

Example
{
  "id": "string",
  "name": "string",
  "measureId": "string",
  "businessObjectId": "string",
  "evaluationWindow": 0,
  "function": "string",
  "dimensionIds": [
    "string"
  ],
  "dimensions": [
    {
      "id": "string",
      "name": "string",
      "jsonPath": "string",
      "jsonFieldType": "TEXT",
      "isKeyset": false,
      "source": "JSONPATH",
      "derivation": {
        "operation": "TIME_DIFF",
        "params": {}
      }
    }
  ],
  "filters": [
    {
      "id": "string",
      "sourceType": "MEASURE",
      "sourceId": "string",
      "operation": "NUMERIC_GREATER_THAN",
      "arguments": [
        "string"
      ]
    }
  ],
  "businessObject": {
    "createdAt": "2024-01-01T00:00:00.000Z",
    "updatedAt": "2024-01-01T00:00:00.000Z",
    "createdBy": "string",
    "updatedBy": "string",
    "id": "string",
    "name": "string",
    "isActive": false,
    "description": "string",
    "fields": [
      {
        "id": "string",
        "name": "string",
        "jsonPath": "string",
        "jsonFieldType": "TEXT",
        "isKeyset": false,
        "source": "JSONPATH",
        "derivation": {}
      }
    ],
    "accountId": "string",
    "subkeys": [
      "string"
    ],
    "metrics": [],
    "decisions": [
      {
        "createdAt": "2024-01-01T00:00:00.000Z",
        "updatedAt": "2024-01-01T00:00:00.000Z",
        "createdBy": "string",
        "updatedBy": "string",
        "id": "string",
        "name": "string",
        "description": "string",
        "accountId": "string",
        "businessObjectId": "string",
        "sourceType": "BUSINESSOBJECT",
        "sourceId": "string",
        "hitType": "SINGLE",
        "enabled": false,
        "activeFrom": "2024-01-01T00:00:00.000Z",
        "activeUntil": "2024-01-01T00:00:00.000Z",
        "executeOnce": false,
        "executionFrequency": 0,
        "inputFields": [],
        "outputFields": [],
        "rules": [],
        "actions": [],
        "query": {},
        "customer": {}
      }
    ],
    "dashboards": [
      {
        "createdAt": "2024-01-01T00:00:00.000Z",
        "updatedAt": "2024-01-01T00:00:00.000Z",
        "createdBy": "string",
        "updatedBy": "string",
        "id": "string",
        "name": "string",
        "accountId": "string",
        "dateRange": "30 minutes",
        "startDate": "2024-01-01T00:00:00.000Z",
        "endDate": "2024-01-01T00:00:00.000Z",
        "charts": [],
        "customer": {}
      }
    ],
    "queries": [
      {
        "createdAt": "2024-01-01T00:00:00.000Z",
        "updatedAt": "2024-01-01T00:00:00.000Z",
        "createdBy": "string",
        "updatedBy": "string",
        "decisions": [],
        "customer": {},
        "businessObjects": [],
        "id": "string",
        "name": "string",
        "description": "string",
        "definition": {},
        "template": "string",
        "accountId": "string"
      }
    ],
    "customers": [
      {
        "id": "string",
        "name": "string"
      }
    ]
  }
}