When people's days in one building start and end, counted by hour, and how long those days last.
Each person's day in the building is counted once. Their arrival is the start of their first visit that day, and their departure is the end of their last. group_by=arrival_hour counts arrivals by the local hour they happened in; group_by=departure_hour counts departures. All 24 hours are returned in order, 00 to 23, with empty hours at zero. Each arrival or departure is one day, so a count of them is not a count of people.
then_by=span adds span_median to each hour: the median length, in minutes from arrival to departure, of the days that began in that hour (with arrival_hour) or ended in it (with departure_hour). A day's span runs from its first arrival to its last departure, so it includes any time spent away from the building in between. An hour with no days has a span_median of null.
A day that ends after local midnight is counted at its departure hour, which is then earlier than its arrival hour. For departures, coverage.midnight_crossing_days says how many days did this.
excluded_above_minutes leaves out days that lasted longer than the number of minutes given, and the shares and medians are worked out without them. Nothing is left out unless you set it.
start and end are dates in the building's local time, and both are included. The range must cover at least two days and at most two years (731 days). days_of_week limits the days counted to those weekdays, and the range must include at least one of them.
The response has three parts:
data: one row per hour, with its label (bucket), itsarrival_countordeparture_count, itsshareof all the days in the response from 0 to 1, and itsspan_medianwhenthen_by=span.applied: the parameters used, including any defaults you left out.coverage:n_arrivalsorn_departures, the total across all hours. Withexcluded_above_minutes, also the total before any days were left out (n_arrivals_unfilteredorn_departures_unfiltered) and how many were (excluded_above_threshold). For departures,midnight_crossing_days.
Figures for the most recent days can change from one day to the next as more activity is taken into account. Figures for older dates are stable, so allow for this when comparing two requests that cover recent dates.
HTTP compression is enabled for responses larger than 500 bytes when the request includes "gzip" in the Accept-Encoding header.
The arrivals and departures endpoint is rate-limited to 60 requests per minute.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
400Bad request: no tenant ID could be determined from the request or the credentials, or both an Authorization header and an X-API-Key header were sent. Send one or the other.
401Missing or invalid credentials: no token or key, an invalid or expired token, or an API key that isn't recognised or has been revoked (Invalid API key) or is past its expiration date (API key has expired).
403The credentials are valid but don't grant this data: a tenant ID other than your organization's, or no access to the Analyze API or to occupancy data for any building. Contact Lambent to change what your credentials can access.
404No building with that ID is available to your credentials. This is the same whether the building doesn't exist or your credentials don't include it.
429Too many requests. The limit is 60 per minute; wait before retrying.
500An unexpected error on our side. Retry, and contact Lambent if it persists.
503The credentials couldn't be verified right now (Unable to verify token, Unable to verify access or Unable to verify API key). They may well be valid, so retry after the number of seconds in the Retry-After header rather than requesting new ones.