# social.arabica.alpha.recipe

> Published by [arabica.social](https://lexicon.garden/identity/did:plc:chqc2ockzmyvlrasfb66x64a)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:chqc2ockzmyvlrasfb66x64a/social.arabica.alpha.recipe)
- [Documentation](https://lexicon.garden/lexicon/did:plc:chqc2ockzmyvlrasfb66x64a/social.arabica.alpha.recipe/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:chqc2ockzmyvlrasfb66x64a/social.arabica.alpha.recipe/examples)

## Definitions

### `social.arabica.alpha.recipe`

**Type**: `record`

A reusable brewing recipe with parameters for repeatable coffee preparation

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `name` | `string` | Yes | User-given name for the recipe (e.g., 'James Hoffmann V60') |
| `notes` | `string` | No | Free-text instructions, tips, or notes about the recipe |
| `pours` | `array` | No | Array of pour information for multi-pour methods |
| `brewerRef` | `string` (at-uri) | No | AT-URI reference to a specific brewer record |
| `createdAt` | `string` (datetime) | Yes | Timestamp when the recipe was created |
| `sourceRef` | `string` (at-uri) | No | AT-URI of the recipe this was forked/copied from |
| `brewerType` | `string` | No | Fallback brewer type when no specific brewer is referenced (e.g., 'Pour-Over', 'French Press') |
| `waterAmount` | `integer` | No | Amount of water in tenths of grams (e.g., 3000 = 300.0g) |
| `coffeeAmount` | `integer` | No | Amount of coffee in tenths of grams (e.g., 180 = 18.0g) |

### `social.arabica.alpha.recipe#pour`

**Type**: `object`

Information about a single pour in a multi-pour brewing method

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `timeSeconds` | `integer` | Yes | Time of this pour relative to brew start (seconds) |
| `waterAmount` | `integer` | Yes | Amount of water in this pour (grams or ml) |

## Raw Schema

```json
{
  "id": "social.arabica.alpha.recipe",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "name",
          "createdAt"
        ],
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 200,
            "description": "User-given name for the recipe (e.g., 'James Hoffmann V60')"
          },
          "notes": {
            "type": "string",
            "maxLength": 2000,
            "description": "Free-text instructions, tips, or notes about the recipe"
          },
          "pours": {
            "type": "array",
            "items": {
              "ref": "#pour",
              "type": "ref"
            },
            "description": "Array of pour information for multi-pour methods"
          },
          "brewerRef": {
            "type": "string",
            "format": "at-uri",
            "description": "AT-URI reference to a specific brewer record"
          },
          "createdAt": {
            "type": "string",
            "format": "datetime",
            "description": "Timestamp when the recipe was created"
          },
          "sourceRef": {
            "type": "string",
            "format": "at-uri",
            "description": "AT-URI of the recipe this was forked/copied from"
          },
          "brewerType": {
            "type": "string",
            "maxLength": 100,
            "description": "Fallback brewer type when no specific brewer is referenced (e.g., 'Pour-Over', 'French Press')"
          },
          "waterAmount": {
            "type": "integer",
            "minimum": 0,
            "description": "Amount of water in tenths of grams (e.g., 3000 = 300.0g)"
          },
          "coffeeAmount": {
            "type": "integer",
            "minimum": 0,
            "description": "Amount of coffee in tenths of grams (e.g., 180 = 18.0g)"
          }
        }
      },
      "description": "A reusable brewing recipe with parameters for repeatable coffee preparation"
    },
    "pour": {
      "type": "object",
      "required": [
        "waterAmount",
        "timeSeconds"
      ],
      "properties": {
        "timeSeconds": {
          "type": "integer",
          "minimum": 0,
          "description": "Time of this pour relative to brew start (seconds)"
        },
        "waterAmount": {
          "type": "integer",
          "minimum": 0,
          "description": "Amount of water in this pour (grams or ml)"
        }
      },
      "description": "Information about a single pour in a multi-pour brewing method"
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
