[[painless-metric-agg-combine-context]]
=== Metric aggregation combine context

Use a Painless script to
{ref}/search-aggregations-metrics-scripted-metric-aggregation.html[combine]
values for use in a scripted metric aggregation. A combine script is run once
per shard following a <<painless-metric-agg-map-context, map script>> and is
optional as part of a full metric aggregation.

*Variables*

`params` (`Map`, read-only)::
        User-defined parameters passed in as part of the query.

`state` (`Map`)::
        `Map` with values available from the prior map script.

*Return*

`List`, `Map`, `String`, or primitive::
        A value collected for use in a
        <<painless-metric-agg-reduce-context, reduce script>>. If no reduce
        script is specified, the value is used as part of the result.

*API*

The standard <<painless-api-reference, Painless API>> is available.