> For the complete documentation index, see [llms.txt](https://docs.brewfather.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.brewfather.app/api/types.md).

# Response Types

## Response Types

This section describes the JSON objects returned by the API. All data is returned in **metric units** (liters, kilograms, grams, Celsius, SG). Properties are returned in alphabetical key order for list endpoints.

### Batch Object

Returned by `GET /v2/batches` and `GET /v2/batches/:id`.

#### Core Fields

| Field     | Type         | Description                                                         |
| --------- | ------------ | ------------------------------------------------------------------- |
| `_id`     | string       | Unique batch identifier                                             |
| `name`    | string\|null | Batch name                                                          |
| `batchNo` | number\|null | Batch number                                                        |
| `status`  | string       | Current status. See [Batch Status](/api/enums.md#batch-status) enum |
| `brewer`  | string\|null | Brewer name                                                         |
| `hidden`  | boolean      | Whether batch is hidden                                             |
| `_parent` | string\|null | Parent batch ID (present for rebrews)                               |
| `img_url` | string       | Auto-generated image URL (present when image exists)                |

#### Dates

| Field                   | Type   | Description                            |
| ----------------------- | ------ | -------------------------------------- |
| `brewDate`              | number | Brew day timestamp (Unix milliseconds) |
| `fermentationStartDate` | number | Fermentation start timestamp           |
| `bottlingDate`          | number | Bottling/kegging timestamp             |

#### Recipe

| Field    | Type                     | Description                    |
| -------- | ------------------------ | ------------------------------ |
| `recipe` | [Recipe](#recipe-object) | The recipe used for this batch |

#### Measured Volumes

| Field                    | Type         | Description                        |
| ------------------------ | ------------ | ---------------------------------- |
| `measuredBatchSize`      | number       | Fermenter volume in liters         |
| `measuredKettleSize`     | number\|null | Post-boil volume in liters         |
| `measuredBoilSize`       | number\|null | Pre-boil volume in liters          |
| `measuredBoilTime`       | number       | Actual boil time in minutes        |
| `measuredBottlingSize`   | number\|null | Volume at bottling in liters       |
| `measuredBottlingTemp`   | number       | Temperature at bottling in Celsius |
| `measuredFermenterTopUp` | number\|null | Water added to fermenter in liters |

#### Measured Gravities

| Field                      | Type         | Description                         |
| -------------------------- | ------------ | ----------------------------------- |
| `measuredOg`               | number\|null | Original Gravity in SG (e.g. 1.050) |
| `measuredFg`               | number\|null | Final Gravity in SG (e.g. 1.012)    |
| `measuredFirstWortGravity` | number\|null | First wort gravity in SG            |
| `measuredPreBoilGravity`   | number\|null | Pre-boil gravity in SG              |
| `measuredPostBoilGravity`  | number\|null | Post-boil gravity in SG             |
| `measuredMashPh`           | number\|null | Mash pH (0–14)                      |

#### Estimated Values

| Field                   | Type         | Description                         |
| ----------------------- | ------------ | ----------------------------------- |
| `estimatedOg`           | number       | Estimated original gravity          |
| `estimatedFg`           | number       | Estimated final gravity             |
| `estimatedIbu`          | number       | Estimated IBU                       |
| `estimatedColor`        | number       | Estimated color in SRM              |
| `estimatedBuGuRatio`    | number\|null | Estimated BU:GU ratio               |
| `estimatedRbRatio`      | number\|null | Estimated Relative Bitterness Ratio |
| `estimatedTotalGravity` | number       | Estimated total gravity points      |

#### Calculated Values

| Field                          | Type         | Description                               |
| ------------------------------ | ------------ | ----------------------------------------- |
| `measuredAttenuation`          | number\|null | Measured attenuation percentage           |
| `measuredEfficiency`           | number\|null | Measured brewhouse efficiency percentage  |
| `measuredKettleEfficiency`     | number\|null | Measured kettle efficiency percentage     |
| `measuredMashEfficiency`       | number\|null | Measured mash efficiency percentage       |
| `measuredConversionEfficiency` | number\|null | Measured conversion efficiency percentage |
| `measuredAbv`                  | number\|null | Measured ABV percentage                   |

#### Carbonation

| Field               | Type         | Description                                                                     |
| ------------------- | ------------ | ------------------------------------------------------------------------------- |
| `carbonationTemp`   | number\|null | Carbonation temperature in Celsius                                              |
| `carbonationType`   | string\|null | Carbonation method. See [Carbonation Type](/api/enums.md#carbonation-type) enum |
| `carbonationForce`  | number\|null | Force carbonation pressure in PSI                                               |
| `primingSugarEquiv` | number\|null | Priming sugar equivalent in g/L                                                 |

#### Batch Ingredients

Batch ingredient arrays contain the same fields as their base ingredient objects plus additional inventory-tracking fields: `removedFromInventory` (boolean), `removedAmount` (number), `removedUnit` (string), `inventoryUnit` (string|null), `checked` (number|boolean), and `notInRecipe` (boolean).

| Field                    | Type                                  | Description                                                            |
| ------------------------ | ------------------------------------- | ---------------------------------------------------------------------- |
| `batchFermentables`      | [Fermentable](#fermentable-object)\[] | Fermentables with inventory tracking                                   |
| `batchHops`              | [Hop](#hop-object)\[]                 | Hops with inventory tracking                                           |
| `batchMiscs`             | [Misc](#misc-object)\[]               | Misc ingredients with inventory tracking                               |
| `batchYeasts`            | [Yeast](#yeast-object)\[]             | Yeasts with inventory tracking                                         |
| `batchFermentablesLocal` | [Fermentable](#fermentable-object)\[] | Fermentables not matched to the user's personal inventory database     |
| `batchHopsLocal`         | [Hop](#hop-object)\[]                 | Hops not matched to the user's personal inventory database             |
| `batchMiscsLocal`        | [Misc](#misc-object)\[]               | Misc ingredients not matched to the user's personal inventory database |
| `batchYeastsLocal`       | [Yeast](#yeast-object)\[]             | Yeasts not matched to the user's personal inventory database           |

#### Notes and Logs

| Field          | Type                                              | Description                  |
| -------------- | ------------------------------------------------- | ---------------------------- |
| `notes`        | [Batch Note](#batch-note-object)\[]               | Timestamped batch notes      |
| `batchNotes`   | string                                            | General batch notes          |
| `tasteLogs`    | [Taste Log](#taste-log-object)\[]                 | Taste evaluation entries     |
| `tasteRating`  | number\|null                                      | Overall taste rating (1–5)   |
| `tasteNotes`   | string                                            | Overall tasting notes        |
| `measurements` | [Batch Measurement](#batch-measurement-object)\[] | Batch measurements           |
| `info`         | string                                            | Additional batch information |

#### Cost

| Field  | Type                 | Description                  |
| ------ | -------------------- | ---------------------------- |
| `cost` | [Cost](#cost-object) | Cost breakdown for the batch |

#### Events

| Field             | Type                                  | Description                             |
| ----------------- | ------------------------------------- | --------------------------------------- |
| `events`          | [Batch Event](#batch-event-object)\[] | Batch events and notifications          |
| `attachmentCount` | number                                | Number of file attachments on the batch |

***

### Recipe Object

Returned by `GET /v2/recipes` and `GET /v2/recipes/:id`. Also nested inside batch objects as `recipe`.

#### Core Fields

| Field     | Type         | Description                                                       |
| --------- | ------------ | ----------------------------------------------------------------- |
| `_id`     | string       | Unique recipe identifier                                          |
| `name`    | string       | Recipe name                                                       |
| `author`  | string\|null | Recipe author                                                     |
| `type`    | string       | Brewing method. See [Recipe Type](/api/enums.md#recipe-type) enum |
| `teaser`  | string       | Short description or tagline                                      |
| `img_url` | string       | Auto-generated image URL (present when image exists)              |
| `hidden`  | boolean      | Whether recipe is hidden                                          |

#### Style

| Field             | Type                         | Description                                 |
| ----------------- | ---------------------------- | ------------------------------------------- |
| `style`           | [Style](#style-object)\|null | Beer style definition                       |
| `styleConformity` | boolean\|null                | Whether recipe conforms to style guidelines |

#### Volumes and Efficiency

| Field            | Type   | Description                                           |
| ---------------- | ------ | ----------------------------------------------------- |
| `batchSize`      | number | Target batch size in liters (min: 0.5)                |
| `boilSize`       | number | Pre-boil volume in liters                             |
| `boilTime`       | number | Boil duration in minutes (default: 60)                |
| `efficiency`     | number | Brewhouse efficiency percentage (35–100, default: 72) |
| `mashEfficiency` | number | Mash efficiency percentage (0–100)                    |

#### Ingredients

| Field                     | Type                                  | Description               |
| ------------------------- | ------------------------------------- | ------------------------- |
| `fermentables`            | [Fermentable](#fermentable-object)\[] | Fermentable ingredients   |
| `hops`                    | [Hop](#hop-object)\[]                 | Hop additions             |
| `miscs`                   | [Misc](#misc-object)\[]               | Miscellaneous ingredients |
| `yeasts`                  | [Yeast](#yeast-object)\[]             | Yeast strains             |
| `fermentablesTotalAmount` | number                                | Total fermentables in kg  |
| `hopsTotalAmount`         | number                                | Total hops in grams       |

#### Gravity

| Field              | Type         | Description                          |
| ------------------ | ------------ | ------------------------------------ |
| `og`               | number       | Original Gravity in SG (1.000–1.200) |
| `fg`               | number       | Final Gravity in SG                  |
| `fgEstimated`      | number       | Estimated FG from yeast attenuation  |
| `attenuation`      | number       | Apparent attenuation percentage      |
| `preBoilGravity`   | number\|null | Pre-boil gravity in SG               |
| `postBoilGravity`  | number       | Post-boil gravity in SG              |
| `firstWortGravity` | number\|null | First wort gravity in SG             |

#### Color and Bitterness

| Field        | Type   | Description                                                                                               |
| ------------ | ------ | --------------------------------------------------------------------------------------------------------- |
| `color`      | number | Beer color in SRM (0–100)                                                                                 |
| `ibu`        | number | International Bitterness Units                                                                            |
| `ibuFormula` | string | IBU calculation formula (default: "tinseth"). Values: "tinseth", "tinseth\*", "rager", "garetz", "noonan" |
| `buGuRatio`  | number | BU:GU ratio (bitterness to gravity balance)                                                               |
| `rbRatio`    | number | Relative Bitterness Ratio                                                                                 |

#### ABV and Carbonation

| Field               | Type   | Description                               |
| ------------------- | ------ | ----------------------------------------- |
| `abv`               | number | Alcohol By Volume percentage              |
| `carbonation`       | number | Carbonation level in volumes of CO2 (0–5) |
| `carbonationTemp`   | number | Carbonation temperature in Celsius        |
| `primingSugarEquiv` | number | Priming sugar equivalent in grams         |

#### Profiles

| Field          | Type                                                 | Description                              |
| -------------- | ---------------------------------------------------- | ---------------------------------------- |
| `equipment`    | [Equipment](#equipment-object)                       | Equipment profile                        |
| `mash`         | [Mash Profile](#mash-profile-object)                 | Mash profile with steps                  |
| `fermentation` | [Fermentation Profile](#fermentation-profile-object) | Fermentation profile with steps          |
| `water`        | [Water](#water-object)                               | Water chemistry profiles and adjustments |

#### Calculated Data

| Field  | Type                               | Description             |
| ------ | ---------------------------------- | ----------------------- |
| `data` | [Recipe Data](#recipe-data-object) | Calculated brewing data |

#### Metadata

| Field            | Type                           | Description                                 |
| ---------------- | ------------------------------ | ------------------------------------------- |
| `notes`          | string                         | Recipe notes                                |
| `tags`           | [Tag](#tag-object)\[]          | Tags for categorization                     |
| `nutrition`      | [Nutrition](#nutrition-object) | Nutrition information per serving           |
| `path`           | string                         | Folder path for organization (default: "/") |
| `diastaticPower` | number                         | Total diastatic power in Lintner            |

***

### Inventory Metadata Fields

Complete inventory responses may include these server-managed fields in addition to the object-specific fields below.

| Field           | Type         | Description                                          |
| --------------- | ------------ | ---------------------------------------------------- |
| `_rev`          | string       | Server-managed revision identifier                   |
| `_data_rev`     | string\|null | Internal data revision identifier when present       |
| `createdAt`     | string       | Creation timestamp in ISO 8601 format                |
| `updatedAt`     | string       | Last update timestamp in ISO 8601 format             |
| `_timestamp`    | object       | Internal timestamp value used by Brewfather          |
| `_created`      | object       | Internal creation timestamp value used by Brewfather |
| `_timestamp_ms` | string       | Millisecond timestamp stored as a string             |

***

### Fermentable Object

Returned by inventory endpoints and nested in recipe/batch `fermentables[]`. Complete inventory responses may also include the shared [Inventory Metadata Fields](#inventory-metadata-fields).

| Field            | Type          | Description                                                                                                                                                                                                   |
| ---------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `_id`            | string        | Unique identifier                                                                                                                                                                                             |
| `name`           | string        | Ingredient name (e.g. "Pilsner Malt", "Honey")                                                                                                                                                                |
| `type`           | string        | See [Fermentable Type](/api/enums.md#fermentable-type) enum                                                                                                                                                   |
| `grainCategory`  | string\|null  | Grain classification. Values: "Base", "Base (Pilsner)", "Base (Wheat)", "Base (Munich)", "Base (Vienna)", "Base (Maris Otter)", "Base (6-Row)", "Crystal/Caramel", "Roasted", "Acidulated", "Other", "Ignore" |
| `amount`         | number        | Amount in kilograms                                                                                                                                                                                           |
| `percentage`     | number        | Percentage of total grain bill (0–100)                                                                                                                                                                        |
| `color`          | number        | Color in SRM                                                                                                                                                                                                  |
| `lovibond`       | number        | Color in Lovibond                                                                                                                                                                                             |
| `use`            | string\|null  | Addition timing. Values: "Boil", "Mash", "Steep", "Primary", "Secondary", "Bottling", "Sparge", "Flameout"                                                                                                    |
| `time`           | number        | Addition time                                                                                                                                                                                                 |
| `timeUnit`       | string\|null  | Time unit: "min", "day", or "days"                                                                                                                                                                            |
| `origin`         | string        | Country or region of origin                                                                                                                                                                                   |
| `supplier`       | string\|null  | Manufacturer or supplier name                                                                                                                                                                                 |
| `potential`      | number\|null  | Gravity potential in SG (1.000–1.500)                                                                                                                                                                         |
| `moisture`       | number\|null  | Moisture percentage (0–100)                                                                                                                                                                                   |
| `diastaticPower` | number\|null  | Diastatic power in Lintner                                                                                                                                                                                    |
| `protein`        | number\|null  | Protein percentage (0–100)                                                                                                                                                                                    |
| `attenuation`    | number\|null  | Fermentability percentage (0–100)                                                                                                                                                                             |
| `notFermentable` | boolean\|null | Non-fermentable flag (e.g. lactose)                                                                                                                                                                           |
| `inventory`      | number\|null  | Current stock in kg                                                                                                                                                                                           |
| `costPerAmount`  | number\|null  | Cost per unit amount                                                                                                                                                                                          |
| `notes`          | string        | Additional notes                                                                                                                                                                                              |
| `hidden`         | boolean       | Whether hidden in lists                                                                                                                                                                                       |

***

### Hop Object

Returned by inventory endpoints and nested in recipe/batch `hops[]`. Complete inventory responses may also include the shared [Inventory Metadata Fields](#inventory-metadata-fields).

| Field           | Type                           | Description                                                |
| --------------- | ------------------------------ | ---------------------------------------------------------- |
| `_id`           | string                         | Unique identifier                                          |
| `name`          | string                         | Hop variety name (e.g. "Cascade", "Saaz")                  |
| `alpha`         | number                         | Alpha acid percentage                                      |
| `amount`        | number                         | Amount in grams                                            |
| `use`           | string                         | Addition method. See [Hop Use](/api/enums.md#hop-use) enum |
| `time`          | number\|null                   | Contact time (minutes for boil, days for dry hop; 0–365)   |
| `timeUnit`      | string\|null                   | Time unit: "min", "day", or "days"                         |
| `type`          | string                         | Physical form. See [Hop Type](/api/enums.md#hop-type) enum |
| `ibu`           | number                         | Calculated IBU contribution                                |
| `beta`          | number\|null                   | Beta acid percentage (0–20)                                |
| `hsi`           | number\|null                   | Hop Storage Index percentage (0–100)                       |
| `origin`        | string\|null                   | Country code of origin                                     |
| `usage`         | string\|null                   | Usage role: "Aroma", "Bittering", or "Both"                |
| `temp`          | number\|null                   | Hop stand temperature in Celsius (0–100)                   |
| `year`          | number\|null                   | Harvest year                                               |
| `oil`           | number\|null                   | Total essential oil content (ml/100g; 0–10)                |
| `myrcene`       | number\|null                   | Myrcene oil percentage (0–100)                             |
| `humulene`      | number\|null                   | Humulene oil percentage (0–100)                            |
| `caryophyllene` | number\|null                   | Caryophyllene oil percentage (0–100)                       |
| `farnesene`     | number\|null                   | Farnesene oil percentage (0–100)                           |
| `geraniol`      | number\|null                   | Geraniol oil percentage (0–100)                            |
| `linalool`      | number\|null                   | Linalool oil percentage (0–100)                            |
| `aroma`         | [Hop Aroma](#hop-aroma-object) | Aroma profile characteristics                              |
| `inventory`     | number\|null                   | Current stock in grams                                     |
| `costPerAmount` | number\|null                   | Cost per unit amount                                       |
| `notes`         | string                         | Additional notes                                           |
| `hidden`        | boolean                        | Whether hidden in lists                                    |

***

### Yeast Object

Returned by inventory endpoints and nested in recipe/batch `yeasts[]`. Complete inventory responses may also include the shared [Inventory Metadata Fields](#inventory-metadata-fields).

| Field            | Type          | Description                                                     |
| ---------------- | ------------- | --------------------------------------------------------------- |
| `_id`            | string        | Unique identifier                                               |
| `name`           | string        | Yeast strain name (e.g. "US-05", "WLP001")                      |
| `type`           | string        | See [Yeast Type](/api/enums.md#yeast-type) enum                 |
| `form`           | string        | See [Yeast Form](/api/enums.md#yeast-form) enum                 |
| `amount`         | number\|null  | Quantity in specified units                                     |
| `unit`           | string        | Unit: "g", "ml", "pkg", "billion cells", or "oz"                |
| `laboratory`     | string\|null  | Manufacturer (e.g. "Fermentis", "White Labs")                   |
| `productId`      | string\|null  | Product code from manufacturer                                  |
| `flocculation`   | string\|null  | See [Yeast Flocculation](/api/enums.md#yeast-flocculation) enum |
| `attenuation`    | number\|null  | Average apparent attenuation percentage (0–100)                 |
| `minAttenuation` | number\|null  | Minimum expected attenuation (0–100)                            |
| `maxAttenuation` | number\|null  | Maximum expected attenuation (0–100)                            |
| `minTemp`        | number\|null  | Minimum fermentation temperature in Celsius                     |
| `maxTemp`        | number\|null  | Maximum fermentation temperature in Celsius                     |
| `maxAbv`         | number\|null  | Maximum ABV tolerance percentage (0–30)                         |
| `notes`          | string\|null  | Characteristics and performance notes                           |
| `bestFor`        | string        | Beer styles this yeast is best for                              |
| `starter`        | boolean\|null | Whether to make a yeast starter                                 |
| `starterSize`    | number\|null  | Starter volume in liters                                        |
| `inventory`      | number\|null  | Current stock amount                                            |
| `costPerAmount`  | number\|null  | Cost per unit amount                                            |
| `hidden`         | boolean       | Whether hidden in lists                                         |

***

### Misc Object

Returned by inventory endpoints and nested in recipe/batch `miscs[]`. Complete inventory responses may also include the shared [Inventory Metadata Fields](#inventory-metadata-fields).

| Field             | Type         | Description                                                                                                    |
| ----------------- | ------------ | -------------------------------------------------------------------------------------------------------------- |
| `_id`             | string       | Unique identifier                                                                                              |
| `name`            | string       | Ingredient name                                                                                                |
| `type`            | string       | See [Misc Type](/api/enums.md#misc-type) enum                                                                  |
| `use`             | string       | Addition timing: "Boil", "Mash", "Steep", "Primary", "Secondary", "Bottling", "Sparge", "Flameout"             |
| `time`            | number       | Addition time                                                                                                  |
| `timeUnit`        | string\|null | Time unit: "min", "day", or "days"                                                                             |
| `amount`          | number       | Ingredient amount                                                                                              |
| `unit`            | string       | Unit: "g", "mg", "kg", "oz", "lb", "ml", "l", "tsp", "tbsp", "cup", "pkg", "items", "drops", "pt", "qt", "gal" |
| `amountPerL`      | number\|null | Amount per liter for scaling                                                                                   |
| `concentration`   | number\|null | Concentration percentage (0–100)                                                                               |
| `waterAdjustment` | boolean      | Whether this is a water chemistry adjustment                                                                   |
| `inventory`       | number\|null | Current stock amount                                                                                           |
| `costPerAmount`   | number\|null | Cost per unit amount                                                                                           |
| `notes`           | string       | Additional notes                                                                                               |
| `hidden`          | boolean      | Whether hidden in lists                                                                                        |

***

### Reading Object

Returned by `GET /v2/batches/:id/readings` and `GET /v2/batches/:id/readings/last`.

| Field      | Type         | Description                                        |
| ---------- | ------------ | -------------------------------------------------- |
| `time`     | number       | Reading timestamp (Unix milliseconds)              |
| `sg`       | number       | Specific gravity                                   |
| `temp`     | number       | Temperature in Celsius                             |
| `comment`  | string\|null | Reading comment                                    |
| `type`     | string       | Reading source (e.g. "manual", "iSpindel", "tilt") |
| `pressure` | number\|null | Pressure reading                                   |
| `ph`       | number\|null | pH reading                                         |
| `battery`  | number\|null | Device battery level (device readings only)        |
| `rssi`     | number\|null | Signal strength (device readings only)             |
| `angle`    | number\|null | Tilt/iSpindel angle (device readings only)         |
| `id`       | string\|null | Device identifier (device readings only)           |

***

### Brew Tracker Object

Returned by `GET /v2/batches/:id/brewtracker`. Returns an empty object `{}` when the brew tracker is not active.

| Field       | Type                                      | Description                  |
| ----------- | ----------------------------------------- | ---------------------------- |
| `_id`       | string                                    | Tracker identifier           |
| `enabled`   | boolean                                   | Whether tracker is enabled   |
| `completed` | boolean                                   | Whether tracker is completed |
| `stage`     | number                                    | Current stage index          |
| `stages`    | [Tracker Stage](#tracker-stage-object)\[] | Array of brew tracker stages |

***

## Nested Object Types

### Batch Note Object

| Field       | Type    | Description                                                                           |
| ----------- | ------- | ------------------------------------------------------------------------------------- |
| `hidden`    | boolean | Whether note is hidden                                                                |
| `timestamp` | number  | Note timestamp (Unix milliseconds)                                                    |
| `status`    | string  | Batch status when note was added. See [Batch Status](/api/enums.md#batch-status) enum |
| `note`      | string  | Note content                                                                          |
| `type`      | string  | Note type (e.g. "statusChanged")                                                      |

***

### Taste Log Object

| Field         | Type   | Description                                                                  |
| ------------- | ------ | ---------------------------------------------------------------------------- |
| `timestamp`   | number | Tasting timestamp (Unix milliseconds)                                        |
| `status`      | string | Batch status at tasting. See [Batch Status](/api/enums.md#batch-status) enum |
| `tasteNotes`  | string | Tasting notes                                                                |
| `tasteRating` | number | Overall rating (1–5)                                                         |
| `bitterness`  | number | Bitterness level (1–5)                                                       |
| `sweetness`   | number | Sweetness level (1–5)                                                        |
| `alcohol`     | number | Alcohol perception (1–5)                                                     |
| `tropical`    | number | Tropical character (1–5)                                                     |

***

### Batch Measurement Object

| Field                 | Type   | Description                                                                      |
| --------------------- | ------ | -------------------------------------------------------------------------------- |
| `timestamp`           | number | Measurement timestamp (Unix milliseconds)                                        |
| `status`              | string | Batch status at measurement. See [Batch Status](/api/enums.md#batch-status) enum |
| `text`                | string | Measurement description                                                          |
| `value`               | any    | Measurement value                                                                |
| `type`                | string | Type of measurement: "Gravity", "Volume", "Temperature", "Weight"                |
| `spesificMeasurement` | string | Specific measurement point: "OriginalGravity", "FinalGravity", "GravityAddition" |

***

### Cost Object

| Field               | Type   | Description                             |
| ------------------- | ------ | --------------------------------------- |
| `fermentables`      | number | Total cost of fermentables              |
| `hops`              | number | Total cost of hops                      |
| `miscs`             | number | Total cost of miscellaneous ingredients |
| `yeasts`            | number | Total cost of yeasts                    |
| `fermentablesShare` | number | Percentage share of fermentables cost   |
| `hopsShare`         | number | Percentage share of hops cost           |
| `miscsShare`        | number | Percentage share of miscs cost          |
| `yeastsShare`       | number | Percentage share of yeasts cost         |
| `total`             | number | Total batch cost                        |
| `perBottlingLiter`  | number | Cost per liter at bottling              |

***

### Batch Event Object

| Field             | Type         | Description                                                                                                                                                                                                                                                                                |
| ----------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `active`          | boolean      | Whether event is active                                                                                                                                                                                                                                                                    |
| `time`            | number       | Event start timestamp (Unix milliseconds)                                                                                                                                                                                                                                                  |
| `endTime`         | number       | Event end timestamp                                                                                                                                                                                                                                                                        |
| `notifyTime`      | number       | Notification time (manually overridden)                                                                                                                                                                                                                                                    |
| `endNotifyTime`   | number       | End notification time                                                                                                                                                                                                                                                                      |
| `eventType`       | string       | Type of event: "event-batch-brew-day", "event-batch-brew-day-reminder", "event-batch-bottling-day", "event-batch-ferm-step", "event-batch-ferm-completed", "event-batch-dry-hop", "event-batch-general", "event-batch-date", "event-batch-yeast-starter-reminder", "event-general", "test" |
| `title`           | string       | Event title                                                                                                                                                                                                                                                                                |
| `description`     | string       | Event description                                                                                                                                                                                                                                                                          |
| `descriptionHTML` | string       | HTML formatted description                                                                                                                                                                                                                                                                 |
| `eventText`       | string\|null | Short event text                                                                                                                                                                                                                                                                           |
| `notify`          | boolean      | Whether to send start notification                                                                                                                                                                                                                                                         |
| `notifyEnd`       | boolean      | Whether to send end notification                                                                                                                                                                                                                                                           |
| `confirmed`       | number       | Timestamp of confirmation                                                                                                                                                                                                                                                                  |
| `persistant`      | boolean      | Do not auto-delete                                                                                                                                                                                                                                                                         |
| `dayEvent`        | boolean      | All-day event flag                                                                                                                                                                                                                                                                         |

***

### Style Object

| Field              | Type         | Description                               |
| ------------------ | ------------ | ----------------------------------------- |
| `_id`              | string       | Unique style identifier                   |
| `name`             | string       | Style name                                |
| `category`         | string       | Style category name (e.g. "American IPA") |
| `categoryNumber`   | string       | BJCP category number (e.g. "21")          |
| `styleLetter`      | string       | BJCP style letter (e.g. "A" for 21A)      |
| `styleGuide`       | string       | Style guideline source (e.g. "BJCP 2021") |
| `type`             | string       | Beer type (e.g. "Ale", "Lager", "Hybrid") |
| `ogMin`            | number\|null | Minimum original gravity                  |
| `ogMax`            | number\|null | Maximum original gravity                  |
| `fgMin`            | number\|null | Minimum final gravity                     |
| `fgMax`            | number\|null | Maximum final gravity                     |
| `ibuMin`           | number\|null | Minimum IBUs                              |
| `ibuMax`           | number\|null | Maximum IBUs                              |
| `colorMin`         | number\|null | Minimum color in SRM                      |
| `colorMax`         | number\|null | Maximum color in SRM                      |
| `abvMin`           | number\|null | Minimum ABV percentage                    |
| `abvMax`           | number\|null | Maximum ABV percentage                    |
| `carbMin`          | number\|null | Minimum carbonation                       |
| `carbMax`          | number\|null | Maximum carbonation                       |
| `buGuMin`          | number\|null | Minimum BU:GU ratio                       |
| `buGuMax`          | number\|null | Maximum BU:GU ratio                       |
| `rbrMin`           | number\|null | Minimum Relative Bitterness Ratio         |
| `rbrMax`           | number\|null | Maximum Relative Bitterness Ratio         |
| `lovibondMin`      | number\|null | Minimum color in Lovibond                 |
| `lovibondMax`      | number\|null | Maximum color in Lovibond                 |
| `carbonationStyle` | string\|null | Carbonation level descriptor              |
| `notes`            | string\|null | General notes about the style             |
| `profile`          | string\|null | Flavor and aroma profile description      |
| `ingredients`      | string\|null | Typical ingredients used                  |
| `examples`         | string\|null | Commercial examples                       |
| `aroma`            | string\|null | Expected aroma characteristics            |
| `flavor`           | string\|null | Expected flavor profile                   |
| `appearance`       | string\|null | Visual characteristics                    |
| `mouthfeel`        | string\|null | Body, carbonation, and texture            |
| `history`          | string\|null | Historical background                     |
| `origin`           | string\|null | Geographic origin                         |

***

### Equipment Object

| Field                         | Type         | Description                                                                          |
| ----------------------------- | ------------ | ------------------------------------------------------------------------------------ |
| `_id`                         | string       | Unique equipment profile identifier                                                  |
| `name`                        | string       | Equipment profile name                                                               |
| `batchSize`                   | number       | Target batch size to fermenter in liters                                             |
| `boilSize`                    | number       | Pre-boil volume in liters                                                            |
| `boilTime`                    | number       | Default boil time in minutes (default: 60)                                           |
| `efficiency`                  | number       | Brewhouse efficiency percentage (0–100)                                              |
| `mashEfficiency`              | number       | Mash efficiency percentage (0–100)                                                   |
| `brewhouseEfficiency`         | number       | Overall brewhouse efficiency percentage (0–100)                                      |
| `conversionEfficiency`        | number       | Mash conversion efficiency percentage (0–100)                                        |
| `boilOffPerHr`                | number       | Boil-off rate in liters per hour                                                     |
| `evaporationRate`             | number\|null | Evaporation rate percentage per hour                                                 |
| `trubChillerLoss`             | number\|null | Trub and chiller loss in liters                                                      |
| `fermenterLoss`               | number\|null | Fermenter dead space loss in liters                                                  |
| `fermenterLossEstimate`       | number\|null | Estimated fermenter loss in liters                                                   |
| `fermenterTopUp`              | number\|null | Water added to fermenter in liters                                                   |
| `fermenterVolume`             | number       | Volume into fermenter in liters                                                      |
| `fermenterVolumeBeforeTopUp`  | number       | Fermenter volume before top-up in liters                                             |
| `postBoilKettleVol`           | number       | Post-boil kettle volume in liters                                                    |
| `bottlingVolume`              | number       | Final packaging volume in liters                                                     |
| `grainAbsorptionRate`         | number\|null | Grain absorption rate in L/kg (default: 0.96)                                        |
| `waterGrainRatio`             | number\|null | Water to grain ratio in L/kg                                                         |
| `hopUtilization`              | number       | Hop utilization factor (0–200%, default: 100)                                        |
| `aromaHopUtilization`         | number       | Aroma hop utilization percentage                                                     |
| `calcAromaHopUtilization`     | boolean      | Whether to calculate aroma hop utilization                                           |
| `hopstandTemperature`         | number\|null | Default hop stand temperature in Celsius                                             |
| `mashTunDeadSpace`            | number\|null | Mash tun dead space in liters                                                        |
| `mashTunLoss`                 | number\|null | Mash tun loss in liters                                                              |
| `mashTunHeatCapacity`         | number\|null | Mash tun heat capacity                                                               |
| `hltDeadSpace`                | number\|null | HLT dead space in liters                                                             |
| `spargeTemperature`           | number\|null | Sparge water temperature in Celsius                                                  |
| `spargeWaterMin`              | number\|null | Minimum sparge water volume in liters                                                |
| `spargeWaterMax`              | number\|null | Maximum sparge water volume in liters                                                |
| `mashWaterMin`                | number\|null | Minimum mash water volume in liters                                                  |
| `mashWaterMax`                | number\|null | Maximum mash water volume in liters                                                  |
| `mashWaterVolumeLimitEnabled` | boolean      | Whether to enforce mash water volume limits                                          |
| `hltWaterMin`                 | number\|null | Minimum HLT water volume in liters                                                   |
| `waterCalculation`            | string       | Water calculation method: "Default", "Default\_2", "Batch\_1", "No Sparge", "Custom" |
| `spargeWaterOverflow`         | string       | Where to redirect overflow water: "Mash", "Top-Up"                                   |
| `mashWaterFormula`            | string\|null | Custom mash water calculation formula                                                |
| `spargeWaterFormula`          | string\|null | Custom sparge water calculation formula                                              |
| `calcBoilVolume`              | boolean      | Whether to calculate boil volume automatically                                       |
| `calcStrikeWaterTemperature`  | boolean      | Whether to calculate strike water temperature                                        |
| `calcMashEfficiency`          | boolean      | Whether to calculate mash efficiency                                                 |
| `altitudeAdjustment`          | boolean      | Whether to adjust for altitude effects                                               |
| `altitude`                    | number       | Altitude in meters                                                                   |
| `boilTemp`                    | number\|null | Boiling point temperature in Celsius                                                 |
| `ambientTemperature`          | number\|null | Ambient temperature in Celsius                                                       |
| `grainTemperature`            | number\|null | Grain temperature in Celsius                                                         |
| `whirlpoolTime`               | number\|null | Whirlpool/hop stand time in minutes (0–120)                                          |
| `boilExpansion`               | number\|null | Boil expansion factor                                                                |
| `topUpKettle`                 | number       | Top-up water to kettle in liters                                                     |
| `notes`                       | string       | Additional notes                                                                     |
| `hidden`                      | boolean      | Whether profile is hidden in lists                                                   |

***

### Mash Profile Object

| Field        | Type                              | Description                                           |
| ------------ | --------------------------------- | ----------------------------------------------------- |
| `_id`        | string                            | Unique mash profile identifier                        |
| `name`       | string                            | Mash profile name                                     |
| `ph`         | number\|null                      | Target mash pH (0–14, optimal: 5.2–5.6)               |
| `spargeTemp` | number                            | Sparge temperature in Celsius (60–85, typical: 75–78) |
| `steps`      | [Mash Step](#mash-step-object)\[] | Array of mash steps in sequence                       |
| `notes`      | string                            | Additional notes                                      |
| `hidden`     | boolean                           | Whether profile is hidden in lists                    |

#### Mash Step Object

| Field             | Type         | Description                                                        |
| ----------------- | ------------ | ------------------------------------------------------------------ |
| `name`            | string       | Step name                                                          |
| `type`            | string       | Step type. See [Mash Step Type](/api/enums.md#mash-step-type) enum |
| `stepTemp`        | number       | Step temperature in Celsius (0–100)                                |
| `stepTime`        | number       | Step duration in minutes (0–360)                                   |
| `rampTime`        | number\|null | Temperature ramp time in minutes (0–60)                            |
| `endTemp`         | number       | End temperature in Celsius after ramping                           |
| `infuseAmount`    | number       | Infusion amount in liters (for infusion steps)                     |
| `displayStepTemp` | number\|null | Temperature in user's display units                                |

***

### Fermentation Profile Object

| Field         | Type                                              | Description                             |
| ------------- | ------------------------------------------------- | --------------------------------------- |
| `_id`         | string                                            | Unique fermentation profile identifier  |
| `name`        | string                                            | Fermentation profile name               |
| `pressurized` | boolean                                           | Whether fermentation is pressurized     |
| `steps`       | [Fermentation Step](#fermentation-step-object)\[] | Array of fermentation steps in sequence |
| `hidden`      | boolean                                           | Whether profile is hidden in lists      |

#### Fermentation Step Object

| Field             | Type         | Description                                                                        |
| ----------------- | ------------ | ---------------------------------------------------------------------------------- |
| `name`            | string       | Step name (e.g. "Primary", "Diacetyl Rest", "Cold Crash")                          |
| `type`            | string       | Step type. See [Fermentation Step Type](/api/enums.md#fermentation-step-type) enum |
| `stepTemp`        | number       | Fermentation temperature in Celsius (-100–100)                                     |
| `stepTime`        | number       | Step duration in days (0–365)                                                      |
| `ramp`            | number\|null | Temperature ramp time in days (0–365)                                              |
| `pressure`        | number\|null | Fermentation pressure in PSI (-100–100)                                            |
| `displayStepTemp` | number\|null | Temperature in user's display units                                                |
| `displayPressure` | number\|null | Pressure in user's display units                                                   |
| `actualTime`      | number\|null | Calculated actual time in hours from start                                         |
| `actualRampTime`  | number\|null | Calculated actual ramp time in hours                                               |

***

### Water Object

Water chemistry profiles and adjustments. Contains multiple [Water Profile](#water-profile-object) instances for different stages.

| Field                         | Type                                           | Description                                 |
| ----------------------------- | ---------------------------------------------- | ------------------------------------------- |
| `mashWaterAmount`             | number\|null                                   | Mash water amount in liters                 |
| `spargeWaterAmount`           | number\|null                                   | Sparge water amount in liters               |
| `source`                      | [Water Profile](#water-profile-object)         | Source/base water profile                   |
| `target`                      | [Water Profile](#water-profile-object)\|null   | Target water profile                        |
| `mash`                        | [Water Profile](#water-profile-object)         | Mash water profile                          |
| `sparge`                      | [Water Profile](#water-profile-object)         | Sparge water profile                        |
| `total`                       | [Water Profile](#water-profile-object)         | Total water profile                         |
| `diluted`                     | [Water Profile](#water-profile-object)\|null   | Diluted water profile                       |
| `dilution`                    | [Water Profile](#water-profile-object)\|null   | Dilution water profile                      |
| `dilutionPercentage`          | number\|null                                   | Dilution percentage (0–100)                 |
| `dilutionAmount`              | number                                         | Dilution amount in liters                   |
| `dilutionByAmount`            | boolean                                        | Whether dilution is by amount vs percentage |
| `mashAdjustments`             | [Water Adjustments](#water-adjustments-object) | Mash water adjustments                      |
| `spargeAdjustments`           | [Water Adjustments](#water-adjustments-object) | Sparge water adjustments                    |
| `totalAdjustments`            | [Water Adjustments](#water-adjustments-object) | Total water adjustments                     |
| `enableSpargeAdjustments`     | boolean                                        | Whether sparge adjustments are enabled      |
| `enableAcidAdjustments`       | boolean                                        | Whether acid adjustments are enabled        |
| `enableSpargeAcidAdjustments` | boolean                                        | Whether sparge acid adjustments are enabled |
| `sourceTargetDiff`            | [Water Profile](#water-profile-object)\|null   | Source vs target difference                 |
| `mashTargetDiff`              | [Water Profile](#water-profile-object)\|null   | Mash vs target difference                   |
| `spargeTargetDiff`            | [Water Profile](#water-profile-object)\|null   | Sparge vs target difference                 |
| `totalTargetDiff`             | [Water Profile](#water-profile-object)\|null   | Total vs target difference                  |
| `mashPh`                      | number\|null                                   | Calculated mash pH (0–14)                   |
| `mashPhDistilled`             | number\|null                                   | Distilled water mash pH (0–14)              |
| `spargeWaterPh`               | number                                         | Sparge water pH (0–14)                      |
| `spargeWaterTargetPh`         | number                                         | Target sparge water pH (0–14)               |
| `spargeAcidPhAdjustment`      | number\|null                                   | Sparge acid pH adjustment amount            |
| `acidPhAdjustment`            | number\|null                                   | Acid pH adjustment amount                   |
| `settings`                    | [Water Settings](#water-settings-object)       | Water calculation settings                  |

#### Water Profile Object

Represents a water mineral profile used for source, target, mash, sparge, and total water.

| Field                        | Type         | Description                             |
| ---------------------------- | ------------ | --------------------------------------- |
| `_id`                        | string       | Unique water profile identifier         |
| `name`                       | string       | Water profile name                      |
| `type`                       | string       | Water type: "source" or "target"        |
| `calcium`                    | number\|null | Calcium (Ca) in ppm                     |
| `magnesium`                  | number\|null | Magnesium (Mg) in ppm                   |
| `sodium`                     | number\|null | Sodium (Na) in ppm                      |
| `chloride`                   | number\|null | Chloride (Cl) in ppm                    |
| `sulfate`                    | number\|null | Sulfate (SO4) in ppm                    |
| `bicarbonate`                | number       | Bicarbonate (HCO3) in ppm               |
| `ph`                         | number\|null | Water pH (0–14)                         |
| `cations`                    | number\|null | Cations in mEq/L                        |
| `anions`                     | number\|null | Anions in mEq/L                         |
| `ionBalance`                 | number\|null | Ion balance calculation                 |
| `ionBalanceOff`              | boolean      | Whether ion balance is off              |
| `hardness`                   | number\|null | Total hardness                          |
| `alkalinity`                 | number\|null | Alkalinity                              |
| `residualAlkalinity`         | number\|null | Residual alkalinity                     |
| `residualAlkalinityMeqLCalc` | number\|null | Calculated residual alkalinity in mEq/L |
| `soClRatio`                  | number\|null | Sulfate to chloride ratio               |
| `bicarbonateMeqL`            | number\|null | Bicarbonate in mEq/L                    |
| `description`                | string       | Description of water profile            |
| `hidden`                     | boolean      | Whether profile is hidden in lists      |

#### Water Adjustments Object

| Field                 | Type                                      | Description                               |
| --------------------- | ----------------------------------------- | ----------------------------------------- |
| `volume`              | number                                    | Water volume in liters                    |
| `acids`               | [Acid Addition](#acid-addition-object)\[] | Array of acid additions                   |
| `calciumCarbonate`    | number\|null                              | Calcium Carbonate (Chalk) in grams        |
| `sodiumBicarbonate`   | number\|null                              | Sodium Bicarbonate (Baking Soda) in grams |
| `calciumHydroxide`    | number\|null                              | Calcium Hydroxide (Slaked Lime) in grams  |
| `calciumSulfate`      | number\|null                              | Calcium Sulfate (Gypsum) in grams         |
| `magnesiumSulfate`    | number\|null                              | Magnesium Sulfate (Epsom Salt) in grams   |
| `calciumChloride`     | number\|null                              | Calcium Chloride in grams                 |
| `magnesiumChloride`   | number\|null                              | Magnesium Chloride in grams               |
| `sodiumChloride`      | number\|null                              | Sodium Chloride (Table Salt) in grams     |
| `sodiumMetabisulfite` | number\|null                              | Sodium Metabisulfite (Campden) in grams   |
| `ltDWB`               | number\|null                              | Low Temperature DWB in grams              |
| `ltAMS`               | number\|null                              | Low Temperature AMS (CRS/AMS) in grams    |

#### Acid Addition Object

| Field            | Type         | Description                            |
| ---------------- | ------------ | -------------------------------------- |
| `type`           | string       | Type of acid: "lactic" or "phosphoric" |
| `concentration`  | number       | Acid concentration percentage          |
| `amount`         | number       | Acid amount in milliliters             |
| `alkalinityMeqL` | number\|null | Alkalinity reduction in mEq/L          |

#### Water Settings Object

| Field                 | Type                                         | Description                               |
| --------------------- | -------------------------------------------- | ----------------------------------------- |
| `adjustSparge`        | boolean                                      | Whether to adjust sparge water chemistry  |
| `calciumCarbonate`    | [Water Ingredient](#water-ingredient-object) | Calcium Carbonate (Chalk) settings        |
| `sodiumBicarbonate`   | [Water Ingredient](#water-ingredient-object) | Sodium Bicarbonate (Baking Soda) settings |
| `calciumHydroxide`    | [Water Ingredient](#water-ingredient-object) | Calcium Hydroxide (Slaked Lime) settings  |
| `calciumSulfate`      | [Water Ingredient](#water-ingredient-object) | Calcium Sulfate (Gypsum) settings         |
| `magnesiumSulfate`    | [Water Ingredient](#water-ingredient-object) | Magnesium Sulfate (Epsom Salt) settings   |
| `calciumChloride`     | [Water Ingredient](#water-ingredient-object) | Calcium Chloride settings                 |
| `magnesiumChloride`   | [Water Ingredient](#water-ingredient-object) | Magnesium Chloride settings               |
| `sodiumChloride`      | [Water Ingredient](#water-ingredient-object) | Sodium Chloride (Table Salt) settings     |
| `sodiumMetabisulfite` | [Water Ingredient](#water-ingredient-object) | Sodium Metabisulfite (Campden) settings   |
| `ltDWB`               | [Water Ingredient](#water-ingredient-object) | Low Temperature DWB settings              |
| `ltAMS`               | [Water Ingredient](#water-ingredient-object) | Low Temperature AMS (CRS/AMS) settings    |

#### Water Ingredient Object

| Field           | Type    | Description                      |
| --------------- | ------- | -------------------------------- |
| `mash`          | boolean | Add to mash water                |
| `sparge`        | boolean | Add to sparge water              |
| `auto`          | boolean | Automatically calculate amount   |
| `form`          | string  | Physical form of ingredient      |
| `concentration` | number  | Concentration percentage (0–100) |

***

### Recipe Data Object

Calculated brewing values auto-generated from the recipe.

| Field                     | Type                                  | Description                                              |
| ------------------------- | ------------------------------------- | -------------------------------------------------------- |
| `mashVolume`              | number\|null                          | Total mash volume in liters including grain displacement |
| `mashWaterAmount`         | number                                | Mash water (strike water) volume in liters               |
| `spargeWaterAmount`       | number                                | Sparge water volume in liters                            |
| `totalWaterAmount`        | number                                | Total water needed in liters                             |
| `hltWaterAmount`          | number                                | Hot liquor tank water amount in liters                   |
| `strikeTemp`              | number\|null                          | Strike water temperature in Celsius                      |
| `mashFermentablesAmount`  | number                                | Total weight of mash fermentables in kg                  |
| `otherFermentablesAmount` | number                                | Total weight of non-mash fermentables in kg              |
| `hopsAmount`              | number                                | Total amount of hops in grams                            |
| `topUpWater`              | number                                | Top-up water added to fermenter in liters                |
| `mashVolumeSurplus`       | number\|null                          | Extra mash volume available in liters                    |
| `batchSpargeWaterAmount1` | number\|null                          | First batch sparge volume in liters                      |
| `batchSpargeWaterAmount2` | number\|null                          | Second batch sparge volume in liters                     |
| `batchSpargeWaterAmount3` | number\|null                          | Third batch sparge volume in liters                      |
| `batchSpargeWaterAmount4` | number\|null                          | Fourth batch sparge volume in liters                     |
| `mashFermentables`        | [Fermentable](#fermentable-object)\[] | Fermentables added to mash                               |
| `otherFermentables`       | [Fermentable](#fermentable-object)\[] | Non-mash fermentables (extracts, sugars)                 |
| `allDiastaticPower`       | boolean                               | Whether all grains have sufficient diastatic power       |
| `totalDiastaticPower`     | number                                | Combined diastatic power in Lintner                      |

***

### Tag Object

| Field     | Type   | Description                    |
| --------- | ------ | ------------------------------ |
| `display` | string | Display text shown to users    |
| `value`   | string | Internal value/key for the tag |

***

### Nutrition Object

Nutrition information per serving.

| Field      | Type                         | Description                      |
| ---------- | ---------------------------- | -------------------------------- |
| `calories` | [Calories](#calories-object) | Caloric breakdown per serving    |
| `carbs`    | [Carbs](#carbs-object)       | Carbohydrate content per serving |

#### Calories Object

| Field     | Type   | Description                 |
| --------- | ------ | --------------------------- |
| `total`   | number | Total calories              |
| `alcohol` | number | Calories from alcohol       |
| `carbs`   | number | Calories from carbohydrates |
| `kJ`      | number | Energy in kilojoules        |

#### Carbs Object

| Field   | Type   | Description                  |
| ------- | ------ | ---------------------------- |
| `total` | number | Total carbohydrates in grams |

***

### Hop Aroma Object

| Field    | Type   | Description                             |
| -------- | ------ | --------------------------------------- |
| `floral` | number | Floral aroma intensity (0–100)          |
| `grassy` | number | Grassy/hay-like aroma intensity (0–100) |
| `herbal` | number | Herbal/tea-like aroma intensity (0–100) |
| `earthy` | number | Earthy aroma intensity (0–100)          |
| `woody`  | number | Woody/resinous aroma intensity (0–100)  |
| `onion`  | number | Onion/garlic aroma intensity (0–100)    |
| `citrus` | number | Citrus aroma intensity (0–100)          |
| `fruity` | number | Fruity/tropical aroma intensity (0–100) |

***

### Tracker Stage Object

| Field      | Type                                    | Description                          |
| ---------- | --------------------------------------- | ------------------------------------ |
| `name`     | string                                  | Stage name                           |
| `type`     | string                                  | Stage type: "tracker" or "checklist" |
| `start`    | number                                  | Start timestamp (Unix milliseconds)  |
| `duration` | number                                  | Stage duration in seconds            |
| `position` | number                                  | Position index                       |
| `step`     | number                                  | Current step index                   |
| `paused`   | boolean                                 | Whether stage is paused              |
| `steps`    | [Tracker Step](#tracker-step-object)\[] | Array of steps within this stage     |

#### Tracker Step Object

| Field         | Type    | Description                                                               |
| ------------- | ------- | ------------------------------------------------------------------------- |
| `type`        | string  | Step type: "before", "after", "event", "mash", "ramp", "boil", "hopstand" |
| `name`        | string  | Step name                                                                 |
| `description` | string  | Step description                                                          |
| `tooltip`     | string  | Tooltip text                                                              |
| `pauseBefore` | boolean | Whether to pause before this step                                         |
| `time`        | number  | Time in seconds                                                           |
| `value`       | number  | Temperature value                                                         |
| `duration`    | number  | Duration in seconds                                                       |
| `priority`    | number  | Step priority                                                             |
| `active`      | boolean | Whether step is active                                                    |
| `buttonText`  | string  | Button text for interaction                                               |
| `final`       | boolean | Whether this is the final step                                            |
| `startTime`   | number  | Step start timestamp                                                      |
| `endTime`     | number  | Step end timestamp                                                        |

***

### Related docs

* [API](/api.md)
* [API Enums](/api/enums.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.brewfather.app/api/types.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
