as_of and computed_at. Sixteen of the seventeen are available through the doors below; one is written into the object and held back. The example payload shows what a door returns.
The names, types and availability below are fixed. No read interface or MCP tool serves them yet — this page publishes the shape ahead of the doors.
Example payload
Attributes
Availability
✓ available by default · ⊕ available after an opt-in that states who becomes able to see the value · — not available.
Every value on this object carries the opt-in. An account is one of your customers, so nothing Beacon holds about one is open by default. Each value becomes available at a point of choice, and the choice is recorded: on the read interface and MCP tools when someone issues or widens a grant that reaches the value; on events when you subscribe; on your CRM when you turn the property on. Whoever makes that choice is shown who becomes able to see the value.
as_of and computed_at are the exception — they carry no choice of their own and travel inside whatever you have already opted into.
The events door is listed and not yet served. A value marked on it has a named event — account.lifecycle_stage.changed, account.churn_risk.changed — sent once per recalculation when the published value differs from the last one, carrying the new value, the previous value and both timestamps. Nothing sends an event today and there is nothing to subscribe to yet. as_of and computed_at have no event of their own; they travel inside every event. last_active_date has none because it moves with the calendar rather than with anything the account did — usage_pattern and active_users carry that change. On this door the exact fit_score and customer_value travel with their model version, as they do on the read interface; the band is a CRM-only shape.
cost_to_serve_amount is not available on any door, and will not be until the work behind it is finished. It is written into this object so its name, type and meaning are fixed and will not change when it does arrive — but no door serves it today and none is scheduled to. The ratio, cost_to_serve, is unaffected and is available as marked.
When it does arrive it is a money value, stated in your single reporting currency in whole units, and every read of it will be recorded in the access log. cost_to_serve is a ratio of two figures in that currency, so it carries no currency of its own.
Seventeen values are written into this object; sixteen are available through the doors above. Both counts are correct and they are not the same number.
Money values that Beacon attributes or derives are published in whole units of the reporting currency, because they are assembled from allocations rather than read from a ledger and cents would state a precision they do not have. Enumerated values are lowercase with underscores — steady_state, slow_burn_steady — on every door.
data_confidence and data_suppressed are the two values that describe the account’s data rather than its business. Every other value on this object is downgraded, flagged or withheld according to them, so read them first: a health_score of 72 on an account whose data_confidence is 58 is not a score at all.
fit_score and customer_value are modelled composites, so both land in your CRM as bands — beacon_fit_band carries high, medium or low; beacon_customer_value_band carries the tier. The exact scores stay on the read interface and MCP tools, where the model version and the as-of travel with them. The model version identifies the weight-and-threshold snapshot the score was produced under, pinned at the recalculation that produced it; it changes when those change and not otherwise.
customer_value is the one value on this object whose audience ceiling is above operational. That governs where it may travel, not who inside your company may read it: it is available on the read interface and MCP tools under a grant that covers it and carries the opt-in, and off by default for your CRM behind an opt-in of its own.
Freshness
A correction arriving after a seal is recorded as a named adjustment in the current period. A sealed figure is never quietly restated. Sealed and live figures covers what a seal fixes; Period close and corrections covers what happens to a closed period.