# AttributionEngine

> Attribution engine health for a window: judgement status counts, revenue by tier, scored… Read access, attribution toolset, MCP tool get_attribution_engine.

Attribution engine health for a window: judgement status counts, revenue by tier, scored and unjudged orders, channel coverage and this month's token cost.

**Access:** [Read](https://developer.missin.co.uk/get-started/authentication.md#access-levels)

## Variables

| Variable | Type | Required | Accepts | Description |
|---|---|---|---|---|
| `fromDay` | `Date!` | yes | ISO 8601 date, `YYYY-MM-DD` | Greater than or equal to the specified value. |
| `monthStart` | `Datetime!` | yes | ISO 8601 with a zone, e.g. `2026-01-01T00:00:00Z` | Greater than or equal to the specified value. |
| `toDay` | `Date!` | yes | ISO 8601 date, `YYYY-MM-DD` | Less than or equal to the specified value. |

## Call it

```bash curl
curl https://api.missin.co.uk/graphql/v1 \
  -H "Authorization: Bearer $MISSIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"operationName":"AttributionEngine","variables":{"fromDay":"…","monthStart":"2026-01-01T00:00:00Z","toDay":"…"},"extensions":{"persistedQuery":{"version":1,"sha256Hash":"8aaf07ff9015af488742a4f27483821d09009537fee3b838cc5e6e21924dbce4"}}}'
```

## Document

```graphql
query AttributionEngine($fromDay: Date!, $monthStart: Datetime!, $toDay: Date!) { __typename currencies: allCurrencies { __typename nodes { __typename code decimalPlaces decimalSeparator rowId symbol symbolPosition thousandsSeparator } } fxRates: allFxRates(first: 1, orderBy: [RATE_DATE_DESC]) { __typename nodes { __typename rateDate } } statuses: allMendJudgements( filter: {subjectKind: {equalTo: "conversion"}, supersededAt: {isNull: true}, orderByOrderId: {placedDay: {greaterThanOrEqualTo: $fromDay, lessThanOrEqualTo: $toDay}}} ) { __typename groupedAggregates(groupBy: [MEND_STATUS]) { __typename distinctCount { __typename orderId } keys } totalCount } month: allMendJudgements( filter: {computedAt: {greaterThanOrEqualTo: $monthStart}} ) { __typename aggregates { __typename sum { __typename usageInputTokens usageOutputTokens } } totalCount } judgedThisMonth: allMendJudgements( filter: {computedAt: {greaterThanOrEqualTo: $monthStart}, subjectKind: {equalTo: "conversion"}, supersededAt: {isNull: true}, mendStatus: {equalTo: "JUDGED"}} ) { __typename totalCount } scored: allOrderReporteds( filter: {placedDay: {greaterThanOrEqualTo: $fromDay, lessThanOrEqualTo: $toDay}, orderByOrderId: {touchpointAttributionsByOrderIdExist: true}} ) { __typename aggregates { __typename sum { __typename reportedAttributedRevenue } } groupedAggregates(groupBy: [CONVERTED, NATIVE_CURRENCY, REPORTING_CURRENCY]) { __typename distinctCount { __typename orderId } keys sum { __typename nativeAttributedRevenue } } totalCount } tierEvidence: allOrderReporteds( filter: {placedDay: {greaterThanOrEqualTo: $fromDay, lessThanOrEqualTo: $toDay}, orderByOrderId: {touchpointAttributionsByOrderId: {some: {mendTier: {equalTo: "EVIDENCE"}, mendJudgementByJudgementId: {mendStatus: {equalTo: "JUDGED"}}}}}} ) { __typename aggregates { __typename sum { __typename reportedAttributedRevenue } } groupedAggregates(groupBy: [CONVERTED, NATIVE_CURRENCY, REPORTING_CURRENCY]) { __typename distinctCount { __typename orderId } keys sum { __typename nativeAttributedRevenue } } totalCount } tierCoincidence: allOrderReporteds( filter: {placedDay: {greaterThanOrEqualTo: $fromDay, lessThanOrEqualTo: $toDay}, orderByOrderId: {touchpointAttributionsByOrderId: {some: {mendTier: {equalTo: "COINCIDENCE"}, mendJudgementByJudgementId: {mendStatus: {equalTo: "JUDGED"}}}}}} ) { __typename aggregates { __typename sum { __typename reportedAttributedRevenue } } groupedAggregates(groupBy: [CONVERTED, NATIVE_CURRENCY, REPORTING_CURRENCY]) { __typename distinctCount { __typename orderId } keys sum { __typename nativeAttributedRevenue } } totalCount } tierUnexplained: allOrderReporteds( filter: {placedDay: {greaterThanOrEqualTo: $fromDay, lessThanOrEqualTo: $toDay}, orderByOrderId: {touchpointAttributionsByOrderId: {some: {mendTier: {equalTo: "UNEXPLAINED"}, mendJudgementByJudgementId: {mendStatus: {equalTo: "JUDGED"}}}}}} ) { __typename aggregates { __typename sum { __typename reportedAttributedRevenue } } groupedAggregates(groupBy: [CONVERTED, NATIVE_CURRENCY, REPORTING_CURRENCY]) { __typename distinctCount { __typename orderId } keys sum { __typename nativeAttributedRevenue } } totalCount } tierPossible: allOrderReporteds( filter: {placedDay: {greaterThanOrEqualTo: $fromDay, lessThanOrEqualTo: $toDay}, orderByOrderId: {touchpointAttributionsByOrderId: {some: {mendTier: {equalTo: "POSSIBLE"}, mendJudgementByJudgementId: {mendStatus: {equalTo: "JUDGED"}}}}}} ) { __typename aggregates { __typename sum { __typename reportedAttributedRevenue } } groupedAggregates(groupBy: [CONVERTED, NATIVE_CURRENCY, REPORTING_CURRENCY]) { __typename distinctCount { __typename orderId } keys sum { __typename nativeAttributedRevenue } } totalCount } unseen: allOrders( filter: {placedDay: {greaterThanOrEqualTo: $fromDay, lessThanOrEqualTo: $toDay}, touchpointAttributionsByOrderIdExist: true, mendJudgementsByOrderId: {none: {supersededAt: {isNull: true}}}} ) { __typename totalCount } channel: allTouchpointAttributions( filter: {orderByOrderId: {placedDay: {greaterThanOrEqualTo: $fromDay, lessThanOrEqualTo: $toDay}}, touchpointKind: {equalTo: "POST"}} ) { __typename groupedAggregates(groupBy: [CHANNEL_MATCH]) { __typename distinctCount { __typename rowId } keys } totalCount } }
```

Source: https://developer.missin.co.uk/reference/attribution/attribution-engine
