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

# Get a recipe

> The recipe with all of its ingredients and mash steps.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/recipes/{id}
openapi: 3.1.0
info:
  title: Brewgravity API
  version: 1.0.0
  description: >-
    Read and write your recipes, brew sessions, fermentation logs, and
    ingredient inventory.


    Every request is scoped to the account its credential belongs to — there is
    no `user_id` parameter anywhere, and an id belonging to someone else returns
    `404`.


    All units are metric: kilograms, grams, litres, degrees Celsius, minutes.
  contact:
    name: Brewgravity support
    email: support@brewgravity.com
servers:
  - url: https://brewgravity.com
    description: Production
  - url: http://localhost:8787
    description: Local development
security:
  - apiKey: []
tags:
  - name: Identity
    description: Who the credential belongs to.
  - name: Recipes
    description: Recipes and their computed stats.
  - name: Fermentables
    description: Grain, sugar, and extract on a recipe.
  - name: Hops
    description: Hop additions on a recipe.
  - name: Yeasts
    description: Yeast on a recipe.
  - name: Other ingredients
    description: Finings, salts, spices, and flavourings.
  - name: Mash steps
    description: A recipe's mash schedule.
  - name: Brew sessions
    description: Individual brew days made from a recipe.
  - name: Brew day steps
    description: The checklist attached to a brew session.
  - name: Fermentation logs
    description: Timestamped readings against a brew session.
  - name: Inventory
    description: Ingredients you physically have on hand.
  - name: AI
    description: Recipe analysis and usage metering.
  - name: Chats
    description: >-
      AI chat threads. The streaming turn endpoint is not part of the REST
      surface.
paths:
  /v1/recipes/{id}:
    parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
        description: Recipe id
    get:
      tags:
        - Recipes
      summary: Get a recipe
      description: The recipe with all of its ingredients and mash steps.
      operationId: getRecipe
      responses:
        '200':
          description: The recipe
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecipeWithIngredients'
        '401':
          description: Missing, invalid, or revoked credential
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No such resource, or it does not belong to you
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    RecipeWithIngredients:
      allOf:
        - $ref: '#/components/schemas/Recipe'
        - type: object
          properties:
            fermentables:
              type: array
              items:
                $ref: '#/components/schemas/Fermentable'
            hops:
              type: array
              items:
                $ref: '#/components/schemas/Hop'
            yeasts:
              type: array
              items:
                $ref: '#/components/schemas/Yeast'
            miscs:
              type: array
              items:
                $ref: '#/components/schemas/Misc'
            mash_steps:
              type: array
              items:
                $ref: '#/components/schemas/MashStep'
      description: A recipe with every ingredient list and its mash schedule.
    Error:
      type: object
      properties:
        error:
          type: string
          description: Human-readable description of what went wrong
      required:
        - error
    Recipe:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier
          format: uuid
          readOnly: true
        user_id:
          type: string
          description: Owning account
          readOnly: true
        name:
          type: string
          description: Recipe name
        style:
          description: Beer style
          type:
            - string
            - 'null'
        type:
          type: string
          enum:
            - all_grain
            - extract
            - partial_mash
          description: Brewing method
        batch_size_liters:
          type: number
          description: Target volume in the fermenter, in litres
        boil_time_minutes:
          type: integer
          description: Boil duration in minutes
        efficiency:
          type: number
          description: Brewhouse efficiency as a decimal (0–1)
        notes:
          description: Freeform recipe notes
          type:
            - string
            - 'null'
        est_color_srm:
          description: Estimated colour in SRM
          type:
            - number
            - 'null'
        created_at:
          type: string
          description: ISO 8601 timestamp
          format: date-time
          readOnly: true
        updated_at:
          type: string
          description: ISO 8601 timestamp
          format: date-time
          readOnly: true
    Fermentable:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier
          format: uuid
          readOnly: true
        recipe_id:
          type: string
          description: Parent recipe
          format: uuid
          readOnly: true
        name:
          type: string
          description: Fermentable name
        type:
          type: string
          enum:
            - grain
            - sugar
            - extract
            - dry_extract
            - adjunct
          description: Fermentable category
        amount_kg:
          type: number
          description: Weight in kilograms
        color_srm:
          description: Colour in SRM
          type:
            - number
            - 'null'
        yield_percent:
          description: Extract yield percentage
          type:
            - number
            - 'null'
        sort_order:
          type: integer
          description: Display order
        created_at:
          type: string
          description: ISO 8601 timestamp
          format: date-time
          readOnly: true
    Hop:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier
          format: uuid
          readOnly: true
        recipe_id:
          type: string
          description: Parent recipe
          format: uuid
          readOnly: true
        name:
          type: string
          description: Hop variety
        alpha_acid:
          description: Alpha acid percentage
          type:
            - number
            - 'null'
        amount_grams:
          type: number
          description: Weight in grams
        time_minutes:
          description: Addition time in minutes
          type:
            - number
            - 'null'
        use:
          type: string
          enum:
            - boil
            - dry_hop
            - mash
            - first_wort
            - whirlpool
            - aroma
          description: When and how the hop is added
        sort_order:
          type: integer
          description: Display order
        created_at:
          type: string
          description: ISO 8601 timestamp
          format: date-time
          readOnly: true
    Yeast:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier
          format: uuid
          readOnly: true
        recipe_id:
          type: string
          description: Parent recipe
          format: uuid
          readOnly: true
        name:
          type: string
          description: Yeast strain name
        type:
          enum:
            - ale
            - lager
            - wheat
            - wine
            - champagne
          description: Yeast category
          type:
            - string
            - 'null'
        form:
          enum:
            - liquid
            - dry
            - slant
            - culture
          description: Yeast format
          type:
            - string
            - 'null'
        attenuation:
          description: Expected apparent attenuation percentage
          type:
            - number
            - 'null'
        amount:
          description: Quantity
          type:
            - number
            - 'null'
        created_at:
          type: string
          description: ISO 8601 timestamp
          format: date-time
          readOnly: true
    Misc:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier
          format: uuid
          readOnly: true
        recipe_id:
          type: string
          description: Parent recipe
          format: uuid
          readOnly: true
        name:
          type: string
          description: Ingredient name
        type:
          enum:
            - spice
            - fining
            - water_agent
            - herb
            - flavor
            - other
          description: Ingredient category
          type:
            - string
            - 'null'
        use:
          enum:
            - boil
            - mash
            - primary
            - secondary
            - bottling
          description: When the ingredient is added
          type:
            - string
            - 'null'
        amount:
          description: Quantity
          type:
            - number
            - 'null'
        amount_unit:
          type: string
          description: Unit for amount
        time_minutes:
          description: Addition time in minutes
          type:
            - integer
            - 'null'
        sort_order:
          type: integer
          description: Display order
        created_at:
          type: string
          description: ISO 8601 timestamp
          format: date-time
          readOnly: true
    MashStep:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier
          format: uuid
          readOnly: true
        recipe_id:
          type: string
          description: Parent recipe
          format: uuid
          readOnly: true
        name:
          type: string
          description: Step name
        type:
          type: string
          enum:
            - infusion
            - decoction
            - temperature
          description: Mash step method
        step_temp_c:
          description: Target temperature in °C
          type:
            - number
            - 'null'
        step_time_minutes:
          description: Rest duration in minutes
          type:
            - integer
            - 'null'
        sort_order:
          type: integer
          description: Display order
        created_at:
          type: string
          description: ISO 8601 timestamp
          format: date-time
          readOnly: true
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-Key
      description: An API key created from a signed-in session. See Authentication.

````