Get a site's add-to-cart counts
Returns how many add-to-carts the site had in a period, how many belong to a session that had a conversation with the assistant, and how many were made in the panel versus on the merchant's own pages, then the amounts of the add-to-carts that carry one, one row per currency and never summed across currencies, and the same counts over time. The period is two UTC calendar days, both included, up to 366 days. The series is per UTC hour on a period of two days or fewer and per UTC day beyond, every bucket present. A count is `null`, never zero, while it could not have been recorded: an origin is measured from its first recorded event, and the totals are `null` unless both origins are measured. An amount is in the currency's minor unit (2 decimals for EUR, 0 for JPY). An add-to-cart with no amount is counted and not valued, and an amount reported by a merchant's pixel is declared by that pixel and not verified. No event, session or cart id is returned. Shopify stores only. Read-only.
Authorization
ApiKeyAuth A WorkOS org-scoped API key, created from the dashboard's organization settings page. Identifies the tenant every read and write is scoped to. Missing, malformed, unknown, revoked, expired, or non-organization-owned keys all return 401 (no distinction, so the response can't be used to probe which keys or org ids exist).
In: header
Path Parameters
The site id (prefixed site_). A site id that isn't yours is a 404, same as any other cross-tenant id.
Query Parameters
First UTC day of the period, included (YYYY-MM-DD).
^\d{4}-\d{2}-\d{2}$Last UTC day of the period, included (YYYY-MM-DD). On or after from.
^\d{4}-\d{2}-\d{2}$Keep the amounts of this currency alone (three letters, any case, such as EUR). Left out, every currency has its own row. The counts and the series are unchanged.
^[A-Za-z]{3}$Count only the add-to-carts that recorded this device (desktop, mobile, tablet or unknown). One value. Left out, every device. The tracking dates do not follow it.
Value in
- "desktop"
- "mobile"
- "tablet"
- "unknown"
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X GET "https://example.com/api/v1/sites/string/add-to-cart-counts?from=string&to=string"{ "data": { "from": "2026-10-01", "to": "2026-10-07", "panel": { "count": 42, "trackingSince": "2026-09-28T09:12:44.000Z" }, "storefront": { "count": 310, "trackingSince": "2026-09-30T14:03:10.000Z" }, "total": 352, "withConversation": 71, "withoutConversation": 281, "amounts": [ { "currency": "EUR", "total": { "amountMinor": 4892000, "addToCartsWithAmount": 210 }, "withConversation": { "amountMinor": 2784000, "addToCartsWithAmount": 58 } }, { "currency": "CHF", "total": { "amountMinor": 2148000, "addToCartsWithAmount": 47 }, "withConversation": { "amountMinor": 1126000, "addToCartsWithAmount": 9 } } ], "granularity": "day", "series": [ { "date": "2026-10-01", "panel": 6, "storefront": 40, "total": 46, "withConversation": 10, "withoutConversation": 36 }, { "date": "2026-10-02", "panel": 5, "storefront": 44, "total": 49, "withConversation": 9, "withoutConversation": 40 }, { "date": "2026-10-03", "panel": 7, "storefront": 46, "total": 53, "withConversation": 12, "withoutConversation": 41 }, { "date": "2026-10-04", "panel": 4, "storefront": 38, "total": 42, "withConversation": 7, "withoutConversation": 35 }, { "date": "2026-10-05", "panel": 8, "storefront": 50, "total": 58, "withConversation": 13, "withoutConversation": 45 }, { "date": "2026-10-06", "panel": 6, "storefront": 48, "total": 54, "withConversation": 11, "withoutConversation": 43 }, { "date": "2026-10-07", "panel": 6, "storefront": 44, "total": 50, "withConversation": 9, "withoutConversation": 41 } ] }}Check a connector now
Runs the check of a connector now, as the Check now button of the connector's page does: AISA connects to the connector, lists its tools, makes one catalog request for the connector types that have a verified one (Shopify and Adobe Commerce), records the outcome, and opens or closes the connector's alert as the hourly check would (the alert opens at the second failed check in a row, counting the hourly ones, and closes at the first success). The answer says whether the connector answered, when, and whether an alert is open for it; it never carries the server's error text, an address or a token. A connector can be checked once a minute, counting the hourly check: a second request inside that minute is refused with `429` and a `Retry-After` header, and the connector is not called. A connector that no hourly check covers (no live agent uses it) can still be checked, and its outcome never opens an alert. It changes no setting, so it records no audit entry.
Get a site's revenue and the assistant's share
Returns the net revenue and orders of the whole site over a period, the revenue and orders attributed to the assistant, the average order value of each, the assistant's conversion rate, and the same figures over time. The period is two UTC calendar days, both included, up to 366 days. Amounts are integers in the minor units of `currency` (cents for EUR), net of refunds and cancellations, after discounts and before shipping, and are never added across currencies: the response holds one currency, and `currencies` lists the ones the period has orders in. The assistant's revenue is attributed, never incremental: an order counts when a conversation touched it within `windowHours` before the order (last touch). An assistant figure is `null` when it is not measured (the site has minted no join key yet), never zero. Pass `compare=true` to get the previous period of the same length in `previous`. The series is per UTC hour on a period of two days or fewer and per UTC day beyond, every bucket present. Read-only.