FAQ

Quick reference for the terms, distinctions, and edge cases that come up while building against the API.

How does the product work, at a glance?

Aura Vision deploys cameras in physical retail locations. The cameras stream video to our analytics pipeline, which derives visitor metrics — entries, dwell, occupancy, demographics, movement between zones — and stores them. The API exposes those metrics, plus the configuration objects (locations, recordings, zones) that produced them.

There is no concept of “raw video” in the API. By the time data reaches you, it is already aggregated counts and rates with no identifying information.

What’s the difference between an organisation, a location, and a recording?

The resource hierarchy is organisation → location → recording.

Each level has a 24-character hex ID. IDs flow downwards: org → multiple locations → multiple recordings.

What’s the difference between Traffic, Lines, and Areas?

All three count people, but they count them differently:

In short: Traffic is the building, Lines are thresholds inside it, Areas are regions inside it.

What’s the difference between a line and an area?

A line is a 1D threshold — a virtual gate drawn across a doorway, an aisle entrance, or a transition point. The metric question is “did they cross it?”

An area is a 2D region — a polygon covering part of the camera frame. The metric question is “are they inside it, and for how long?”

Lines drive entry-style metrics (people counted at the moment they cross). Areas drive time-based metrics (dwell, occupancy, utilisation).

What’s the difference between dwell and occupancy?

Both describe presence in an area, but they measure different things:

A zone can have high dwell but low occupancy (long, sparse visits) or vice versa (short, busy visits).

What’s a taxonomy?

A taxonomy is a zone-path string that identifies a configured line or area inside a location — for example Service:Checkout, Products:Clothing:Shoes, Service:Fitting Rooms. They appear as body parameters across the Metrics API wherever a query needs to point at a specific zone (e.g. taxonomy: ["Service:Checkout"] on Line entries or Area entries).

Where do taxonomies come from? Can I create them?

Taxonomies are configured per recording when lines and areas are drawn on a camera’s frame — typically in the Aura Vision platform UI during recording setup. Each line or area gets a taxonomy string. The same string can repeat across recordings: an organisation-wide query for Service:Checkout aggregates every checkout zone across every location.

You can’t create or rename taxonomies through this API — that’s a configuration concern handled by your Aura Vision account team. What you can do is discover which taxonomies exist for your locations:

Taxonomies are colon-delimited paths. No enforced schema — Service:*, Products:* etc. are conventions, not rules. Hierarchy is purely semantic: Products:Clothing and Products:Clothing:Shoes are independent strings; the API doesn’t roll one up into the other.

What line types exist?

Every line carries a line_type:

What area types exist?

area_type is "taxonomy" (a named zone configured on a recording) or "location-dwell" (a pseudo-area covering the whole location, used for store-wide dwell calculations).

What should I put in entities and entityType?

Most metric routes accept entityType: "location" | "organisation". The entities array carries IDs matching that type:

Detail data (detail/list) and uptime routes also accept entityType: "recording" to address individual cameras.

Which aggregationPeriod should I use?

aggregationPeriod controls how time is bucketed in the response:

What do facets do?

facets controls what the response carries — request only what you need:

How do I break results down by location, demographics, or zone?

breakdownByDimensions splits the data along one or more axes:

If you breakdown by age, gender, or role you must also include the matching filter array (ages, genders, roles) listing which values you want.

Combine breakdowns to get a multi-dimensional cube — ["entity", "gender"] returns one row per location per gender.

What demographic values can I filter on?

These are estimates derived from the analytics pipeline, not from explicit identification.

How can I get real-time data?

Two options depending on what “real-time” means for your use case:

How are sales / point-of-sale metrics different from camera metrics?

Sales metrics (Transactions, Volume, Average transaction value, etc.) come from your POS feed, not from cameras. Two consequences:

What’s a campaign?

A campaign is a test-vs-control measurement structure managed via the Core API. Define a test period, an optional control period, a set of test/control locations, a metric to evaluate, and an expected uplift. The platform then evaluates whether the metric moved in the test group beyond what the control group accounts for.

Campaigns carry taxonomies and lineTaxonomies lists — the zones the metric applies to — and selectedBreakdowns for demographic splits.

A response has null in it — is that the same as 0?

No, and don’t coerce one to the other:

Losing the distinction breaks averages and trend analysis.

What do heatmap and thumbnail routes return?

Images, not numbers:

All three return signed S3 URLs you fetch with a plain GET.

Where to go next