Documentation / Developer / Lytics APIs

Metric

The Metric API provides access to a variety of metrics that are recorded in the Lytics platform. With this API, you can access segment-size metrics, events received per-hour, as well as many workflow specific metrics.

Dimensions

DimensionDescriptionDimension IDUpdated
experienceGet metrics tied to a specific Lytics Experience.Experience IDEvery hour
experiencegroupGet metrics tied to a Lytics Experience-Group.Experience-Group IDEvery hour
attributionGet metrics tied to a specific Lytics Experience for stage conversion attribution.Conversion attribution model and Experience ID*Every week
segmentGet metrics tied to a Lytics Segment.Segment IDEvery 2 hours
streamGet metrics tied to a data stream.Stream nameEvery hour

*One of the supported stage Conversion attribution model types (i.e. “timedecay”, “lasttouch”, “linear”) and the Experience ID (ie. “timedecay_experienceID”).

Dimension Types

Dimension-TypeDescription
sizeReturns the raw value of the metric
potentialreachReturns the potential of an experience (only supported for metrics where Dimension = experience or experiencegroup)
actualreachReturns the conversion of an experience (only supported for metrics where Dimension = experience or experiencegroup)
conversionratevalue resulting from Actual/Potential reach (only supported for metrics where Dimension = experience or experiencegroup)
convertedTotal count of entities who have completed the desired action or actions associated with an Experience, Stage, etc.
successReturns the attributed successes for a stage conversion (only supported for metrics where Dimension = attribution)
totalReturns the attributed totals for a stage conversion (only supported for metrics where Dimension = attribution)
attribconversionratevalue resulting from success/total (only supported for metrics where Dimension = attribution

Aggregations

AggregationDescription
sumReturns the sum of values in an interval
maxReturns the max value in an interval
minReturns the min value in an interval

Metric

/api/metric

The Metric API provides access to a variety of metrics collected in the Lytics backend.

GET

Metric

/api/metric/{?dimension,dimension_id,dimension_type,start_date,end_date,aggregation,interval,name,smooth,range,include_empty_rows}

Fetch metrics by providing the arguments in the query-parameters

curl "$LIOAPI/api/metric?keyspace=segsize&metric=web&name=my-metric" -s -H "Authorization: $LIOKEY" | jq '.'
Parameters
namestring (optional)
Ex: my-metric
Name of the metric to return
dimensionstring (required)
Ex: segment
Value of supported dimension (segment, experience, stream, etc)
dimension_idstring (required)
Ex: abc123
ID for the specific item within dimension (segment-id)
dimension_typestring (required)
Ex: size
Type of metric to be returned (size, converted, etc)
aggregationstring (optional)
Ex: sum
Aggregation to apply to metrics (sum, max, min)
intervalstring (optional)
Ex: 2h
Duration to roll-up metrics (2h for roll-up into two-hour buckets). Intervals smaller than two hours are not recommended.
include_empty_rowsboolean (optional)
Ex: false
Passing true will include zero values in the response for every interval whether metrics were logged during that period or not.
smoothboolean (optional)
Ex: true
Smooth metrics using a moving-average function
start_datetime (optional)
Ex: now-5w
Fetch metrics after this date; both dates and relative-dates are supported
end_datetime (optional)
Ex: now-1w
Fetch metrics before this date; both dates and relative-dates are supported
rangestring (optional)
Ex: 2h
Time string used to calculate range from now (e.g "2h" will return the last 2 hours). This parameter cannot be used in conjunction with `start_date` and/or `end_date)`

Response 200

Headers

Content-Type: application/json

Body

{
    "data": [{
            "name": "sample-request",
            "dimension": "segsize",
            "dimension_id": "abc123",
            "dimension_type": "size",
            "range": "2d",
            "aggregation": "max",
            "interval": "2h",
            "is_cached": true,
            "values": [{
                    "value": 0,
                    "ts": "1525231674371"
                },
                {
                    "value": 100,
                    "ts": "1525238874371"
                },
                {
                    "value": 200,
                    "ts": "1525246074371"
                },
                {
                    "value": 300,
                    "ts": "1525253274371"
                },
                {
                    "value": 400,
                    "ts": "1525260474371"
                },
                {
                    "value": 500,
                    "ts": "1525267674371"
                },
                {
                    "value": 600,
                    "ts": "1525274874371"
                },
                {
                    "value": 700,
                    "ts": "1525282074371"
                },
                {
                    "value": 800,
                    "ts": "1525289274371"
                },
                {
                    "value": 900,
                    "ts": "1525296474371"
                }
            ]
        }
    ],
    "message": "success",
    "status": 200
}
POST

Metric

/api/metric

Fetch metrics by providing the arguments in the request body

# Example of segment-size metrics
curl -s -XPOST "$LIOAPI/api/metric" \
    -H 'Content-type: application/json' \
    -H "Authorization: $LIOKEY" \
    -d '{
            "dimension": "segsize",
            "dimension_id": "abc123",
            "dimension_type": "size",
            "interval": "2h",
            "aggregation": "max",
            "start_date": "now-5d",
            "end_date": "now",
            "smooth": true
    }' | jq '.'


# Example request of data collected from the default and email stream
curl -s -XPOST "$LIOAPI/api/metric" \
    -H "Content-type: application/json" \
    -H "Authorization: $LIOKEY" \
    -d '[{
            "dimension": "stream",
            "dimension_id": "default",
            "dimension_type": "size",
            "interval": "1h",
            "aggregation": "sum",
            "start_date": "now-1w",
            "end_date": "now"
        },
        {
            "dimension": "stream",
            "dimension_id": "email",
            "dimension_type": "size",
            "interval": "1h",
            "aggregation": "sum",
            "start_date": "now-2w",
            "end_date": "now"
        }]' | jq '.'

Request

Headers

Content-Type: application/json

Body

    {
        "dimension": "segsize",
        "dimension_id": "abc123",
        "dimension_type": "size",
        "interval": "2h",
        "aggregation": "max",
        "start_date": "now-2w",
        "end_date": "now"
    }

Response 200

Headers

Content-Type: application/json

Body

{
    "data": [{
            "name": "sample-request",
            "dimension": "segsize",
            "dimension_id": "abc123",
            "dimension_type": "size",
            "range": "2d",
            "aggregation": "max",
            "interval": "2h",
            "is_cached": true,
            "values": [{
                    "value": 0,
                    "ts": "1525231674371"
                },
                {
                    "value": 100,
                    "ts": "1525238874371"
                },
                {
                    "value": 200,
                    "ts": "1525246074371"
                },
                {
                    "value": 300,
                    "ts": "1525253274371"
                },
                {
                    "value": 400,
                    "ts": "1525260474371"
                },
                {
                    "value": 500,
                    "ts": "1525267674371"
                },
                {
                    "value": 600,
                    "ts": "1525274874371"
                },
                {
                    "value": 700,
                    "ts": "1525282074371"
                },
                {
                    "value": 800,
                    "ts": "1525289274371"
                },
                {
                    "value": 900,
                    "ts": "1525296474371"
                }
            ]
        }
    ],
    "message": "success",
    "status": 200
}