# Recipes

| Method | Path | What it does | Permission | Sudo | Approval |
|---|---|---|---|---|---|
| GET | `/api/recipes` | Get Recipes | `apps.read` |  |  |
| GET | `/api/recipes/catalog` | Get Catalog State | `apps.read` |  |  |
| DELETE | `/api/recipes/catalog` | Remove Catalog Package | `server.manage` | yes |  |
| POST | `/api/recipes/catalog/fetch` | Fetch Catalog Package | `server.manage` | yes |  |
| GET | `/api/recipes/categories` | Get Recipe Categories | `apps.read` |  |  |
| GET | `/api/recipes/installed` | Get Installed Recipes | `apps.read` |  |  |
| GET | `/api/recipes/installed/{domain}` | Get Installed Recipe | `apps.read` |  |  |
| POST | `/api/recipes/installed/{domain}/update` | Update Installed Recipe | `apps.deploy` |  |  |
| POST | `/api/recipes/private` | Add Private Recipe | `server.manage` | yes |  |
| POST | `/api/recipes/private/check` | Check Private Recipe | `server.manage` |  |  |
| DELETE | `/api/recipes/private/{name}` | Remove Private Recipe | `server.manage` | yes |  |
| GET | `/api/recipes/{name}` | Get Recipe Detail | `apps.read` |  |  |
| POST | `/api/recipes/{name}/install` | Install Recipe | `apps.manage` |  |  |
| GET | `/api/recipes/{name}/logo` | Get Recipe Logo | `apps.read` |  |  |
| GET | `/api/recipes/{name}/requirements` | Get Recipe Requirements | `apps.read` |  |  |

