# Get Overview

> { period; currency; metrics; previous } (formulas 03 §6.12).

Source: https://shopassist.coec.dk/docs/api/reference/analytics/get-overview · Updated 2026-11-03

`GET /v1/stores/{store_id}/analytics/overview`

- Scope: `analytics:read`
- Rate limit: 600 requests/min per API key (test keys: 60/min)

`{ period; currency; metrics; previous }` (formulas 03 §6.12).

## Parameters [#parameters]

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `store_id` | path | `string` | yes |  |
| `from` | query | `string` | yes | Store-local date, inclusive |
| `to` | query | `string` | yes | Store-local date, inclusive |
| `compare` | query | `"previous_period" \| null` | no |  |

## Example request [#example-request]

```bash
curl -X GET "https://api.shopassist.coec.dk/v1/stores/sto_01j8000000e008000000000000/analytics/overview" \
  -H "Authorization: Bearer $SHOPASSIST_API_KEY"
```

## Response 200 (AnalyticsOverview) [#response]

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `currency` | `string` | yes | pattern `^[A-Z]{3}$` |
| `metrics` | `Metrics` | yes | `Metrics` (03 §6.12; sums over `daily_store_metrics`; rates `null` when the denominator is 0). |
| `metrics.add_to_cart` | `integer` | yes |  |
| `metrics.ai_replies` | `integer` | yes |  |
| `metrics.answers_rated_down` | `integer` | yes |  |
| `metrics.answers_rated_up` | `integer` | yes |  |
| `metrics.attributed_orders` | `integer` | yes |  |
| `metrics.attribution_coverage` | `number \| null` | yes | conversations_consented / conversations |
| `metrics.billable_units` | `integer` | yes |  |
| `metrics.chat_conversion_rate` | `number \| null` | yes | attributed_orders_consented / conversations_consented |
| `metrics.checkout_clicks` | `integer` | yes |  |
| `metrics.conversations` | `integer` | yes |  |
| `metrics.csat_avg` | `number \| null` | yes | csat_sum / csat_count |
| `metrics.csat_count` | `integer` | yes |  |
| `metrics.handoff_rate` | `number \| null` | yes | handoffs / conversations |
| `metrics.leads` | `integer` | yes |  |
| `metrics.proactive_ctr` | `number \| null` | yes | proactive_clicked / proactive_shown |
| `metrics.resolution_rate` | `number \| null` | yes | resolved_ai / conversations |
| `metrics.revenue_by_type` | `RevenueByType` | yes | Three labelled amounts, never summed (D-119). |
| `metrics.revenue_by_type.assisted_session` | `Money` | yes | Σ total_amount of assisted_session orders |
| `metrics.revenue_by_type.assisted_session.amount` | `string` | yes | pattern `^-?\d+(\.\d{1,6})?$` |
| `metrics.revenue_by_type.assisted_session.currency` | `string` | yes | pattern `^[A-Z]{3}$` |
| `metrics.revenue_by_type.bot_add_to_cart` | `Money` | yes | Σ assisted_amount of bot_add_to_cart orders |
| `metrics.revenue_by_type.bot_add_to_cart.amount` | `string` | yes | pattern `^-?\d+(\.\d{1,6})?$` |
| `metrics.revenue_by_type.bot_add_to_cart.currency` | `string` | yes | pattern `^[A-Z]{3}$` |
| `metrics.revenue_by_type.bot_checkout_link` | `Money` | yes | Σ total_amount of bot_checkout_link orders |
| `metrics.revenue_by_type.bot_checkout_link.amount` | `string` | yes | pattern `^-?\d+(\.\d{1,6})?$` |
| `metrics.revenue_by_type.bot_checkout_link.currency` | `string` | yes | pattern `^[A-Z]{3}$` |
| `metrics.widget_opens` | `integer` | yes |  |
| `period` | `AnalyticsPeriod` | yes | `{ from; to }` (store-local dates). |
| `period.from` | `string` | yes | format date |
| `period.to` | `string` | yes | format date |
| `previous` | `Metrics \| null` | yes |  |
| `previous.add_to_cart` | `integer` | yes |  |
| `previous.ai_replies` | `integer` | yes |  |
| `previous.answers_rated_down` | `integer` | yes |  |
| `previous.answers_rated_up` | `integer` | yes |  |
| `previous.attributed_orders` | `integer` | yes |  |
| `previous.attribution_coverage` | `number \| null` | yes | conversations_consented / conversations |
| `previous.billable_units` | `integer` | yes |  |
| `previous.chat_conversion_rate` | `number \| null` | yes | attributed_orders_consented / conversations_consented |
| `previous.checkout_clicks` | `integer` | yes |  |
| `previous.conversations` | `integer` | yes |  |
| `previous.csat_avg` | `number \| null` | yes | csat_sum / csat_count |
| `previous.csat_count` | `integer` | yes |  |
| `previous.handoff_rate` | `number \| null` | yes | handoffs / conversations |
| `previous.leads` | `integer` | yes |  |
| `previous.proactive_ctr` | `number \| null` | yes | proactive_clicked / proactive_shown |
| `previous.resolution_rate` | `number \| null` | yes | resolved_ai / conversations |
| `previous.revenue_by_type` | `RevenueByType` | yes | Three labelled amounts, never summed (D-119). |
| `previous.revenue_by_type.assisted_session` | `Money` | yes | Σ total_amount of assisted_session orders |
| `previous.revenue_by_type.assisted_session.amount` | `string` | yes | pattern `^-?\d+(\.\d{1,6})?$` |
| `previous.revenue_by_type.assisted_session.currency` | `string` | yes | pattern `^[A-Z]{3}$` |
| `previous.revenue_by_type.bot_add_to_cart` | `Money` | yes | Σ assisted_amount of bot_add_to_cart orders |
| `previous.revenue_by_type.bot_add_to_cart.amount` | `string` | yes | pattern `^-?\d+(\.\d{1,6})?$` |
| `previous.revenue_by_type.bot_add_to_cart.currency` | `string` | yes | pattern `^[A-Z]{3}$` |
| `previous.revenue_by_type.bot_checkout_link` | `Money` | yes | Σ total_amount of bot_checkout_link orders |
| `previous.revenue_by_type.bot_checkout_link.amount` | `string` | yes | pattern `^-?\d+(\.\d{1,6})?$` |
| `previous.revenue_by_type.bot_checkout_link.currency` | `string` | yes | pattern `^[A-Z]{3}$` |
| `previous.widget_opens` | `integer` | yes |  |

```json
{
  "currency": "DKK",
  "metrics": {
    "add_to_cart": 1,
    "ai_replies": 1,
    "answers_rated_down": 1,
    "answers_rated_up": 1,
    "attributed_orders": 1,
    "attribution_coverage": 1,
    "billable_units": 1,
    "chat_conversion_rate": 1,
    "checkout_clicks": 1,
    "conversations": 1,
    "csat_avg": 1,
    "csat_count": 1,
    "handoff_rate": 1,
    "leads": 1,
    "proactive_ctr": 1,
    "resolution_rate": 1,
    "revenue_by_type": {
      "assisted_session": {
        "amount": "499.95",
        "currency": "DKK"
      },
      "bot_add_to_cart": {
        "amount": "499.95",
        "currency": "DKK"
      },
      "bot_checkout_link": {
        "amount": "499.95",
        "currency": "DKK"
      }
    },
    "widget_opens": 1
  },
  "period": {
    "from": "2026-10-01",
    "to": "2026-10-01"
  },
  "previous": {
    "add_to_cart": 1,
    "ai_replies": 1,
    "answers_rated_down": 1,
    "answers_rated_up": 1,
    "attributed_orders": 1,
    "attribution_coverage": 1,
    "billable_units": 1,
    "chat_conversion_rate": 1,
    "checkout_clicks": 1,
    "conversations": 1,
    "csat_avg": 1,
    "csat_count": 1,
    "handoff_rate": 1,
    "leads": 1,
    "proactive_ctr": 1,
    "resolution_rate": 1,
    "revenue_by_type": {
      "assisted_session": {
        "amount": "499.95",
        "currency": "DKK"
      },
      "bot_add_to_cart": {
        "amount": "499.95",
        "currency": "DKK"
      },
      "bot_checkout_link": {
        "amount": "499.95",
        "currency": "DKK"
      }
    },
    "widget_opens": 1
  }
}
```

## Errors [#errors]

| Status | Meaning |
| --- | --- |
| 400 | Bad Request ([error codes](/docs/api/errors)) |
| 401 | Unauthorized ([error codes](/docs/api/errors)) |
| 403 | Forbidden ([error codes](/docs/api/errors)) |
| 404 | Not Found ([error codes](/docs/api/errors)) |
| 422 | Unprocessable Content ([error codes](/docs/api/errors)) |
| 429 | Too Many Requests ([error codes](/docs/api/errors)) |
