> ## Documentation Index
> Fetch the complete documentation index at: https://docs.beaconrevenue.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Deal object

> The seven values Beacon publishes on a deal, their types and methods, and which doors each one is available through.

The deal object carries seven values at one row per opportunity. `as_of` accompanies every one of them on every door.

<Note>
  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.
</Note>

## Example payload

```json theme={null}
{
  "object": "deal",
  "id": "deal_7b41e9c2",
  "as_of": "2026-08-17T06:00:00Z",
  "deal_stage": "proposal",
  "deal_health": 68,
  "deal_probability": 0.55,
  "deal_amount_band": "50k-100k",
  "pipeline_velocity": 42,
  "days_in_stage": 17,
  "contract_term_months": 24
}
```

## Attributes

| Value                  | Type                  | Method   | What it holds                                                                                             |
| ---------------------- | --------------------- | -------- | --------------------------------------------------------------------------------------------------------- |
| `as_of`                | Timestamp, UTC        | System   | The moment the values in the response were computed. Present on every response and every property.        |
| `deal_stage`           | String, a stage label | Measured | The stage the deal occupies. Beacon resolves it rather than reading your CRM's stage field as the answer. |
| `deal_health`          | Number, dimensionless | Measured | The condition of the deal.                                                                                |
| `deal_probability`     | Number, a probability | Measured | How likely the deal is to close.                                                                          |
| `deal_amount_band`     | String, a band        | Measured | The band the deal amount falls in. The exact amount is not published on this object.                      |
| `pipeline_velocity`    | Number, dimensionless | Measured | How fast the deal is moving through the pipeline.                                                         |
| `days_in_stage`        | Integer, days         | Measured | Days the deal has held its current stage.                                                                 |
| `contract_term_months` | Integer, months       | Measured | The term of the contract under negotiation. The forecast set built on it is not published on this object. |

## Availability

✓ available by default · ⊕ available after an opt-in that states who becomes able to see the value · — not available.

| Value                  | Read interface | MCP tools | CRM property | CRM name                      | Audience ceiling |
| ---------------------- | -------------- | --------- | ------------ | ----------------------------- | ---------------- |
| `as_of`                | ✓              | ✓         | ✓            | `beacon_as_of`                | `operational`    |
| `deal_stage`           | ✓              | ✓         | ✓            | `beacon_deal_stage`           | `operational`    |
| `deal_health`          | ✓              | ✓         | ✓            | `beacon_deal_health`          | `operational`    |
| `deal_probability`     | ✓              | ✓         | ⊕            | `beacon_deal_probability`     | `operational`    |
| `deal_amount_band`     | ✓              | ✓         | ⊕            | `beacon_deal_amount_band`     | `operational`    |
| `pipeline_velocity`    | ✓              | ✓         | ⊕            | `beacon_pipeline_velocity`    | `operational`    |
| `days_in_stage`        | ✓              | ✓         | ✓            | `beacon_days_in_stage`        | `operational`    |
| `contract_term_months` | ✓              | ✓         | ✓            | `beacon_contract_term_months` | `operational`    |

No value on this object is published on the events door. Beacon publishes no event catalogue.

**No named individual is published on this object.** `deal_health` reads the executive-sponsor relationship on the deal; the sponsor's name and contact record stay inside Beacon and cross no door.

**No exact deal amount and no discount figure are published on this object.** The amount is published as `deal_amount_band`.

## Freshness

Every value carries `as_of` — the moment it was computed. A response returns the values as at that moment, and `as_of` is the field to compare against, not the time of the request.

## Versioning

The published object is versioned separately from Beacon's internal model. A value is never removed from a published version — it is deprecated, and the removal lands in the next version. A published name is permanent; a rename ships as a redirect.
