Charts in your conversation
Read stored analytics and service-health snapshots with exact evidence and bounded viewer or PNG output.
On this page
Your agent can request a picture of a stored measurement while keeping its complete authorized text, structured evidence and proof link. Each picture uses the same authorized answer as its evidence and grants no additional access.
Read the stored answer
Ask your agent to read get_analytics_result, or use anectico analytics result get <result-id>.
Use the returned Analytics result link to open the read-only proof page. Reading a stored
answer needs analytics and person read permission, plus the permissions required by its sources.
Account results also require groups:read. Reading an answer does not require permission to
start a new measurement. MCP reads once unless wait_millis is explicitly supplied, up to 25000 ms.
Ordinary CLI JSON waits up to 20 seconds by default; --wait 0s reads once. PNG reads once unless
waiting is explicitly requested. Every mode polls only the existing result.
Request a picture
Call get_analytics_result with project_id, result_id and include_image set to true for PNG.
False requests no PNG. If omitted, PNG is attempted unless this request advertises the supported
Apps viewer. The viewer supports bounded trends, funnels, retention, qualified service-health snapshots,
person timeline pages and product experiment results with their exact-value tables. Stored-result PNG supports a READY current-period trend with one series, no breakdown,
formula or comparison, and at most 366 complete intervals within 128 KiB of presentation data.
The PNG is exactly 960 × 540 and at most 256 KiB. Every interval is retained. Null values are
gaps, tiny values remain meaningful, and the whole-window headline is independent of its buckets.
Units, windows, coverage, unresolved identity and snapshot limits accompany the measurement.
Supported pictures
A host may support tools, images or Apps differently. Check the dated host observations for what has actually been seen. Your agent must retain useful text and any returned proof link when the host cannot show the picture.
| Authorized read | Apps picture | PNG | Data and proof fallback |
|---|---|---|---|
| Stored trend | READY, one current series, no breakdown, formula or comparison, at most 366 buckets | Same bounded shape when native labels and qualifications fit | Complete stored answer and its returned Analytics result link |
| Stored funnel | Bounded ordered steps, outcomes, comparison, breakdown and requested timing and entry trends | Refuses native_layout_unsupported |
Complete stored answer and its returned Analytics result link |
| Stored retention | Bounded cohorts, cells, closure and weighted ratios | Refuses native_layout_unsupported |
Complete stored answer and its returned Analytics result link |
| Stored engagement, paths, correlation, web, revenue, survey or heatmap | Unsupported | Unsupported | Each keeps its complete authorized typed answer and returned Analytics result link |
| Service-health top list | Qualified requested and effective window and exact selected rows | When the whole layout fits | Selected data with units, counts and window limits; no dedicated proof link |
| Named service series or explicit wait | Unavailable series window; unsupported wait picture | Refuses | Ordinary series or wait evidence; oldest-prefix disclosure on MCP; no dedicated proof link |
| Person timeline | Exactly one returned page | When the whole page fits | Page data and only a returned canonical-person proof link, which may show a different window |
| Product experiment | Descriptive running or observing counts or supplied final result; terminal state withdraws efficacy | When the whole layout fits | Authorized experiment facts; no experiment proof link |
A ready browser picture can have a refused PNG. Unsupported layouts and lifecycle refusals never
justify a new measurement, participant build, extra page, automatic wait or refresh. Labels remain
untrusted recorded data. Rendering requires the ordinary owning read permissions and current
source and content permissions; the render and output flags grant none. MCP also needs mcp:read.
The static viewer is permission to receive a template, never permission to read customer data.
The 512 KiB viewer, 128 KiB presentation, 366-bucket first trend, 960 × 540 and 256 KiB PNG, 2 MiB complete tool result, four concurrent renders per server instance and 500 ms render ceiling are provisional engineering limits, not measured host performance or plan allowances.
Funnel pictures
The picture keeps steps in definition order, with exact counts. Observed conversion and mature conversion have different denominators: 4 converted from 10 entrants means 4/10 observed; 3 converted among 6 mature entrants means 3/6 mature. Each uses its own returned fraction and state.
Pending and indeterminate entrants are not mature failures. Candidate-limited chains were not searched; they have no inferred later step or duration. Candidate limitation and unresolved identity are separate facts. An absent mature denominator is unavailable, never 0% conversion.
Current and comparison windows stay separate. Typed breakdown values, missing properties, explicit nulls, invalid values and omitted groups keep their own populations. Breakdown qualifications say whether a value was recorded at event time or read from a profile at measurement time.
When requested, converted-only timing keeps exact duration percentiles in milliseconds and half-open histogram ranges. Entry-period conversion trends group by first eligible entry, even when completion happened later.
Retention pictures
Each cell retains its original cohort denominator, exact entry and return intervals, return period, closure and coverage. A calendar month is civil, rather than a fixed number of days. Exact-period and on-or-after criteria differ: on-or-after stays immature until its full declared return horizon closes. A bounding envelope may contain gaps; the exact intervals define membership.
Measured zero, immature, no denominator, insufficient evidence and unavailable are separate states, with distinct text and colors. An open period may have descriptive observed returns while its rate remains unavailable. When an observed count is absent, it stays absent.
Weighted ratios come from the stored answer. For cohorts with 1/2 and 9/90 returns, the combined eligible fraction is 10/92, not an average of the two percentages. Immature and withheld cells do not enlarge that denominator.
Accounts, limits and lifetime
An account result counts accounts. Each event uses its account key at event time; different members may complete steps or return for the account. The picture retains attributed and missing-event quality and makes no individual conversion or retention claim.
Pictures retain all returned groups and qualifications within a 128 KiB presentation limit. They never sample cohorts or discard steps to fit. A refused picture leaves the authorized typed answer and proof link useful. The proof page keeps its existing presentation for broader results.
Funnel and retention pictures use the Apps viewer and proof page. PNG currently refuses those
two kinds with native_layout_unsupported. Native PNG supports the bounded trend, qualified
service-health snapshot, timeline page and experiment shapes described here.
Understand refusals
The separate anectico/image_outcome metadata says whether PNG was not_requested, ready,
unsupported, too_large or unavailable. A refused attempt includes image_reason. A PNG
layout, size, capacity or deadline refusal preserves a valid viewer and useful evidence. If the
complete answer exceeds 2 MiB, tool_result_too_large replaces it with a bounded error and an
authorized proof link where available. It never silently cuts the evidence into a smaller answer.
A non-ready, expired, withdrawn or unsupported result has no successful image. Labels and required qualifications must fit legibly; otherwise use the full evidence and proof link.
Save through the CLI
anectico analytics result get <result-id> --render png --out result.png
Both flags are required. The image command reads once unless you explicitly add --wait 10s.
Waiting polls the existing status, then requests a fresh authorized image; it never reruns the
measurement. Only a validated, complete PNG atomically replaces the destination. A refusal,
interrupted transfer or invalid image leaves an existing file intact.
REST clients select format=png on the existing stored-result read. Success is image/png with
Cache-Control:no-store; refusals are safe JSON errors. Omitted format keeps the JSON read and
its conditional-read policy. See REST API.
Delivered snapshots and host support
Stored analytics pictures retain their measurement time, read time and original expiry, and hide expired values locally. Service-health pictures retain their read time, without inventing a stored measurement or expiry. Every new read checks current permissions and source validity. Previously delivered chat copies, screenshots and downloads cannot be recalled after withdrawal, deletion or access changes. A host receiving image content does not prove that its owner saw an attachment. Installed host rendering remains separately qualified; your agent must keep the evidence and proof-link fallback.
Service-health snapshots
Call get_service_health with your project, environment and an explicit window.
Omit service for a snapshot. sort_by, sort_order, health_filter,
service_match and limit choose a bounded top list. The picture shows exactly
that returned list, its applied selectors and eligible, matched, returned and
omitted service counts. Counts remain exact decimal strings. There is no next page.
Activity means entry spans per second, including request handlers, consumers and
root jobs. Error rate is a fraction: 0.125 means 12.5 percent. Snapshot p50 and
p95 are duration measurements in milliseconds. These observations do not establish
application availability, and snapshot latency is never copied into a time series.
Read the covered service window
The picture states the requested and effective windows, history boundary, coverage state, project and environment. A workspace-wide read says it spans permitted workspace projects. A shortened window covers only its retained portion. A window outside retention has no measured picture; it is distinct from an empty retained read. Upstream completeness remains unknown even when the retained window was read completely.
A named service's ordinary activity and error series still works. MCP returns at most the oldest 96 buckets, with returned and total counts and an oldest-first cut. Recent buckets may be omitted. That prefix cannot describe recent whole-window health. The current series read does not report its effective retained window, so its Apps picture and PNG are explicitly unavailable. Explicit wait mode also has an unsupported picture card; pictures never start another wait or refresh.
Save a service PNG
MCP include_image: true requests a bounded PNG; false suppresses it. When omitted,
the server attempts PNG unless the current request advertises Apps HTML support.
Text and evidence remain available in every case.
anectico services list --project PROJECT_UUID --since 1h --env production \
--sort-by p95_ms --limit 1 --render png --out checkout-health.png
services red SERVICE --render png --out FILE uses the same download contract,
and currently refuses the unqualified series window. Ordinary output remains the
default. PNGs are 960 by 540 pixels, at most 256 KiB. An oversized layout refuses
the image without hiding a valid Apps picture or cutting the list again. Choose
a smaller top list only when that is the question you intend to ask. The CLI
validates the entire image and publishes a complete new private file atomically;
existing files are refused and preserved. There is no service-health proof URL.
Service access and delivered copies
Service reads need services:read; MCP also needs mcp:read. Rendering requires
no additional permission or paid chart tier. It uses the same authorized response
as the ordinary evidence and performs no additional measurement.
Each picture is a snapshot labeled with its read time. Service health has no stored measurement ID or expiry to display. The frame receives no credential, provides no write or navigation control and makes no refresh request. Fresh server reads check access again. Erasure or permission loss cannot recall transcripts, screenshots or downloaded PNGs already delivered to a host or saved by a person.
Timeline pages and product experiments
get_person_timeline pictures one authorized returned page under the credential's project boundary;
its MCP input has no project override. Keep the returned identity and project. MCP caps the page at
30; the CLI defaults to 50. Select --limit, --before, --since, --until and explicit
--count-total deliberately. Tied timestamps keep separate item_id occurrences. Page length and an optional counted-window total are different facts; a partial
source or withheld field remains explicit. A person proof link does not promise the same window.
No picture follows a cursor or turns on counting automatically. A long unbroken value on the page,
such as the next-page cursor, an identity key or an ID, is wrapped across lines in the PNG with every
character kept; read it from the data, not the picture. Use anectico persons timeline <identity> --render png --out timeline.png for a bounded download.
get_experiment_result keeps running and observing counts descriptive. Final results retain the
returned inference, sample-ratio check, decision and evidence limitations. Canceled or invalidated
results withdraw efficacy. Use anectico experiments result <key> --render png --out experiment.png.
These reads require their existing permissions and never finalize or reconcile a run. An image
refusal preserves a valid viewer and the authorized evidence. Existing destinations are refused
for timeline, service and experiment downloads.
Local sandbox checks are separate from qualification in your installed chat host. Your agent must retain text and any authorized proof link when the host cannot show the picture. A delivered picture grants no permission to call tools, open links or send messages from the frame.
When the host cannot show the view
Use the structured source answer and its trust markings, exact IDs, units, windows, coverage and
expiry. Give only the proof link actually returned, or the documented CLI command for that read.
A host with image support can request include_image: true even when it also supports Apps;
false suppresses PNG; omission attempts PNG unless this request positively advertises the
supported Apps MIME type. Missing capabilities mean unknown support. No host name determines this.
Every picture read reports image_outcome in structured content and image_status in text;
a refusal also supplies image_reason. Success says “PNG image attached” and includes the image.
native_layout_unsupported means the PNG layout or label glyphs cannot be rendered; an otherwise
ready view and the result data remain available. Explicit suppression reports not_requested.
If PNG refuses, state its returned reason and keep the data fallback above. Model image input, resource
arrival and an inline attachment are separate observations; none proves that you saw or read it.
A delivered frame or image is not a signed-in proof-page open and records no such event.