# Acquisition

Type: object

The checkout path currently available to the workspace. Assigned-offer details are present only when mode is assigned_offer. Unavailable means the assigned offer could not be safely resolved and checkout must remain disabled until status is refreshed.

## Properties

## Discriminator

Use `mode` with one of `catalog`, `assigned_offer`, `unavailable`.

## Variants

### CatalogBillingAcquisition

Discriminator value: `catalog`

Required fields: `mode`

- `mode` (enum, required)

```json
{
  "mode": "catalog"
}
```

### AssignedOfferBillingAcquisition

Discriminator value: `assigned_offer`

Required fields: `mode`, `key`, `revision`, `plan`, `productName`, `base`, `overage`

- `mode` (enum, required)
- `key` (string, required) - Stable assigned-offer key.
- `revision` (string, required) - Opaque assigned-offer revision required to start Checkout.
- `plan` (enum, required) - Canonical plan granted by the assigned offer.
- `productName` (string, required) - Customer-facing assigned-offer name.
- `base` (OfferBase, required)
- `overage` (OfferOverage, required)

```json
{
  "mode": "assigned_offer",
  "key": "string",
  "revision": "string",
  "plan": "ultimate",
  "productName": "string",
  "base": {
    "currency": "usd",
    "unitAmount": 0,
    "interval": "monthly"
  },
  "overage": {
    "includedQuantity": 0,
    "unitAmount": 0,
    "interval": "monthly"
  }
}
```

### UnavailableBillingAcquisition

Discriminator value: `unavailable`

Required fields: `mode`

- `mode` (enum, required)

```json
{
  "mode": "unavailable"
}
```

