---
title: "Read a recipe and how it installs"
method: GET
path: "/api/recipes/{id}"
tags: ["Recipes"]
---

# Read a recipe and how it installs

`GET /api/recipes/{id}`

## Request

- Base URL: `https://trmnl.com`
- URL: `https://trmnl.com/api/recipes/{id}`
- Auth: HTTP bearer

install_method says what installRecipe will do: simple_install mirrors the author's render; read_only_fork copies the recipe so the installer fills its custom fields; oauth_choice is a fork that can also carry the author's OAuth connection when inherit_oauth is true.

## Path parameters

- `id` integer, required

## Response `200`

A recipe with custom fields must be forked so the installer can fill them

- object
  - `data` Recipe
    - `kind` 'official' | 'recipe'
    - `source_revision` string
    - `requirements` string[]
    - `compatibility` object
    - `install_choices` object[]
    - `id` integer
    - `name` string
    - `description` string, nullable
    - `author` string, nullable
    - `categories` string[], nullable
    - `ai_tags` string[], nullable
    - `ai_keywords` string[], nullable
    - `stats` object
      - `installs` integer
      - `forks` integer
    - `strategy` string, nullable
    - `custom_fields` object[]: Fields a fork needs filled
    - `published_at` string, date_time, nullable
    - `screenshot_url` string, nullable
    - `install_method` 'simple_install' | 'read_only_fork' | 'oauth_choice': getRecipe only
    - `share_oauth_config` boolean: getRecipe only

## Other responses

- `401`: Unauthorized
- `404`: Not a published recipe

---

[API](https://skmtc.dev/trmnl/apis/trmnl-api.md) · [All operations](https://skmtc.dev/trmnl/apis/trmnl-api/llms.txt) · [OpenAPI document](https://skmtc.dev/trmnl/apis/trmnl-api/revisions/66179e6d663b?raw)
