1,000,000+ Recipe and Grocery List API (v2) icon

1,000,000+ Recipe and Grocery List API (v2)

Documentation

COMMUNITYAPI KEY0 INSTALLS
API Docs
OpenAPI Specificationv3.0
{
  "openapi": "3.0.0",
  "servers": [
    {
      "url": "https://api2.bigoven.com"
    }
  ],
  "info": {
    "description": "#Documentation\r\n\r\nThis is the documentation for the partner endpoint of the BigOven Recipe and Grocery List API.\r\n\r\nThe update brings with it Swagger-based documentation. [Swagger](http://swagger.io) is an emerging standard for describing REST-based APIs, and with this Swagger-compliant endpoint (above), you can make ready-to-go interface libraries for your code via [swagger-codegen](https://github.com/swagger-api/swagger-codegen). For instance, it's easy to generate libraries for Node.js, Java, Ruby, ASP.NET MVC, jQuery, php and more!\r\n\r\nYou can also try out the endpoint calls with your own api_key right here on this page. Be sure to enter your api_key above to use the \"Try it out!\" buttons on this page.\r\n\r\n##Start Here\r\n\r\nDevelopers new to the BigOven API should start with this version, not with the legacy API. We'll be making improvements to this API over time, and doing only bug fixes on the v1 API.\r\n\r\n\r\n\r\nTo pretend you're a BigOven user (for instance, to get your recently viewed recipes or your grocery list), you need to pass in Basic Authentication information in the header, just as with the v1 API. We do now require that you make all calls via https. You need to pass your api_key in with every call, though this can now be done on the header (send a request header \"X-BigOven-API-Key\" set to your api_key value, e.g., Request[\"X-BigOven-API-Key\"]=\"your-key-here\".)\r\n\r\n##Migration Notes\r\n\r\nFor existing partners, we encourage you to [migrate](https://api2.bigoven.com), and while at this writing we have no hard-and-fast termination date for the v1 API, we strongly prefer that you migrate by January 1, 2017. While the changes aren't overly complex, there are several breaking changes, including refactoring of recipe search and results and removal of support for XML. This is not a simply plug-and-play replacement to the v1 API. With respect to an exclusive focus on JSON, the world has spoken, and it prefers JSON for REST-based API's. We've taken numerous steps to refactor the API to make it more REST-compliant. Note that this v2 API will be the preferred API from this point onward, so we encourage developers to migrate to this new format. We have put together some [migration notes](/web/documentation/migration-to-v2) that we encourage you to read carefully.\r\n\r\n##Photos\r\n\r\nSee our [photos documentation](https://api2.bigoven.com/web/documentation/recipe-images). \r\n\r\nFor more information on usage of this API, including features, pricing, rate limits, terms and conditions, please visit the [BigOven API website](https://api2.bigoven.com).",
    "title": "1,000,000+ Recipe and Grocery List API (v2)",
    "version": "partner",
    "x-apiClientRegistration": {
      "url": "http://api2.bigoven.com/web/console"
    },
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_twitter.com_bigoven_profile_image.jpeg"
    },
    "x-origin": [
      {
        "format": "openapi",
        "url": "http://api2.bigoven.com/swagger/docs/partner",
        "version": "3.0"
      }
    ],
    "x-providerName": "bigoven.com"
  },
  "externalDocs": {
    "url": "http://api2.bigoven.com/web/documentation"
  },
  "paths": {
    "/collection/{id}": {
      "get": {
        "deprecated": false,
        "operationId": "Collection_GetCollection",
        "parameters": [
          {
            "description": "the collection identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "results per page",
            "in": "query",
            "name": "rpp",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "page number (starting with 1)",
            "in": "query",
            "name": "pg",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "",
            "in": "query",
            "name": "test",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "",
            "in": "query",
            "name": "sessionForLogging",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.RecipeSearchResult"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.RecipeSearchResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.RecipeSearchResult"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.RecipeSearchResult"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Gets a recipe collection. A recipe collection is a curated set of recipes.",
        "tags": [
          "Collection"
        ]
      }
    },
    "/collection/{id}/meta": {
      "get": {
        "deprecated": false,
        "operationId": "Collection_GetCollectionMeta",
        "parameters": [
          {
            "description": "the collection identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.CollectionInfo"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.CollectionInfo"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.CollectionInfo"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.CollectionInfo"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Gets a recipe collection metadata. A recipe collection is a curated set of recipes.",
        "tags": [
          "Collection"
        ]
      }
    },
    "/collections": {
      "get": {
        "deprecated": false,
        "operationId": "Collection_Collections",
        "parameters": [
          {
            "in": "query",
            "name": "test",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.API2.CollectionInfo"
                  },
                  "type": "array"
                }
              },
              "application/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.API2.CollectionInfo"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.API2.CollectionInfo"
                  },
                  "type": "array"
                }
              },
              "text/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.API2.CollectionInfo"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Get the list of current, seasonal recipe collections. From here, you can use the /collection/{id} endpoint to retrieve the recipes in those collections.",
        "tags": [
          "Collection"
        ]
      }
    },
    "/grocerylist": {
      "delete": {
        "deprecated": false,
        "operationId": "GroceryList_Delete",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Delete all the items on a grocery list; faster operation than a sync with deleted items.",
        "tags": [
          "GroceryList"
        ]
      },
      "get": {
        "deprecated": false,
        "operationId": "GroceryList_Get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.GroceryList"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.GroceryList"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.GroceryList"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.GroceryList"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Get the user's grocery list.  User is determined by Basic Authentication.",
        "tags": [
          "GroceryList"
        ]
      }
    },
    "/grocerylist/clearcheckedlines": {
      "post": {
        "deprecated": false,
        "operationId": "GroceryList_GroceryListRemoveMarkedItems",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.GroceryList"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.GroceryList"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.GroceryList"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.GroceryList"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Clears the checked lines.",
        "tags": [
          "GroceryList"
        ]
      }
    },
    "/grocerylist/department": {
      "post": {
        "deprecated": false,
        "operationId": "GroceryList_Department",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.DepartmentModel"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.DepartmentModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.DepartmentModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.DepartmentModel"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.DepartmentModel"
              }
            }
          },
          "description": "see DepartmentModel for the request payload",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/API2.GroceryListDepartmentResult"
                  },
                  "type": "array"
                }
              },
              "application/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/API2.GroceryListDepartmentResult"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/API2.GroceryListDepartmentResult"
                  },
                  "type": "array"
                }
              },
              "text/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/API2.GroceryListDepartmentResult"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Departmentalize a list of strings -- used for ad-hoc grocery list item addition",
        "tags": [
          "GroceryList"
        ]
      }
    },
    "/grocerylist/item": {
      "post": {
        "deprecated": false,
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.PostToGroceryListRecipeRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.PostToGroceryListRecipeRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.PostToGroceryListRecipeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.PostToGroceryListRecipeRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.PostToGroceryListRecipeRequest"
              }
            }
          },
          "description": "name, quantity, unit, notes, department",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.ShoppingListLine"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.ShoppingListLine"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.ShoppingListLine"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.ShoppingListLine"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Add a single line item to the grocery list",
        "tags": [
          "GroceryList"
        ]
      }
    },
    "/grocerylist/item/{guid}": {
      "delete": {
        "deprecated": false,
        "operationId": "GroceryList_DeleteItemByGuid",
        "parameters": [
          {
            "description": "",
            "in": "path",
            "name": "guid",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "/grocerylist/item/{guid}  DELETE will delete this item assuming you own it.",
        "tags": [
          "GroceryList"
        ]
      },
      "put": {
        "deprecated": false,
        "operationId": "GroceryList_GroceryListItemGuid",
        "parameters": [
          {
            "in": "path",
            "name": "guid",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.UpdateItemByGuidRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.UpdateItemByGuidRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.UpdateItemByGuidRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.UpdateItemByGuidRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.UpdateItemByGuidRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Update a grocery item by GUID",
        "tags": [
          "GroceryList"
        ]
      }
    },
    "/grocerylist/line": {
      "post": {
        "deprecated": false,
        "operationId": "GroceryList_Post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.PostGroceryListAddLineRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.PostGroceryListAddLineRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.PostGroceryListAddLineRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.PostGroceryListAddLineRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.PostGroceryListAddLineRequest"
              }
            }
          },
          "description": "name, quantity, unit, notes, department",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.ShoppingListLine"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.ShoppingListLine"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.ShoppingListLine"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.ShoppingListLine"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Add a single line item to the grocery list",
        "tags": [
          "GroceryList"
        ]
      }
    },
    "/grocerylist/recipe": {
      "post": {
        "deprecated": false,
        "operationId": "GroceryList_AddRecipe",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.PostGroceryListRecipeRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.PostGroceryListRecipeRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.PostGroceryListRecipeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.PostGroceryListRecipeRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.PostGroceryListRecipeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Add a Recipe to the grocery list.  In the request data, pass in recipeId, scale (scale=1.0 says to keep the recipe the same size as originally posted), markAsPending (true/false) to indicate that\r\n            the lines in the recipe should be marked in a \"pending\" (unconfirmed by user) state.",
        "tags": [
          "GroceryList"
        ]
      }
    },
    "/grocerylist/sync": {
      "post": {
        "deprecated": false,
        "operationId": "GroceryList_PostGroceryListSync",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.PostGroceryListSyncRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.PostGroceryListSyncRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.PostGroceryListSyncRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.PostGroceryListSyncRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.GroceryListController.PostGroceryListSyncRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Synchronize the grocery list.  Call this with a POST to /grocerylist/sync",
        "tags": [
          "GroceryList"
        ]
      }
    },
    "/image/avatar": {
      "post": {
        "deprecated": false,
        "operationId": "Images_UploadUserAvatar",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              }
            },
            "description": "Success"
          },
          "400": {
            "description": "if bad request (e.g., missing parameters)"
          },
          "401": {
            "description": "if the user is unknown"
          },
          "415": {
            "description": "if unsupported media type (e.g., bad JPG)"
          }
        },
        "summary": "POST: /image/avatar\r\n             \r\n            Testing with Postman (validated 11/20/2015):\r\n            1) Remove the Content-Type header; add authentication information\r\n            2) On the request, click Body and choose \"form-data\", then add a line item with \"key\" column set to \"file\" and on the right,\r\n            change the type of the input from Text to File.  Browse and choose a JPG.",
        "tags": [
          "Images"
        ]
      }
    },
    "/me": {
      "get": {
        "deprecated": false,
        "operationId": "Me_Index",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.BigOvenUser"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.BigOvenUser"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.BigOvenUser"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.BigOvenUser"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Indexes this instance.",
        "tags": [
          "Me"
        ]
      },
      "put": {
        "deprecated": false,
        "operationId": "Me_PutMe",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Models.BigOvenUser"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/API2.Models.BigOvenUser"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Models.BigOvenUser"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Models.BigOvenUser"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Models.BigOvenUser"
              }
            }
          },
          "description": "The req.",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.BigOvenUser"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.BigOvenUser"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.BigOvenUser"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.BigOvenUser"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Puts me.",
        "tags": [
          "Me"
        ]
      }
    },
    "/me/personal": {
      "put": {
        "deprecated": false,
        "operationId": "Me_PutMePersonal",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Models.Personal"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/API2.Models.Personal"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Models.Personal"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Models.Personal"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Models.Personal"
              }
            }
          },
          "description": "The req.",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.BigOvenUser"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.BigOvenUser"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.BigOvenUser"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.BigOvenUser"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Puts me personal.",
        "tags": [
          "Me"
        ]
      }
    },
    "/me/preferences": {
      "put": {
        "deprecated": false,
        "operationId": "Me_PutMePreferences",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Models.Preference"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/API2.Models.Preference"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Models.Preference"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Models.Preference"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Models.Preference"
              }
            }
          },
          "description": "The req.",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.BigOvenUser"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.BigOvenUser"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.BigOvenUser"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.BigOvenUser"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Puts me preferences.",
        "tags": [
          "Me"
        ]
      }
    },
    "/me/preferences/options": {
      "get": {
        "deprecated": false,
        "operationId": "Me_GetOptions",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Controllers.WebAPI.MeController.PreferenceOptions"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Controllers.WebAPI.MeController.PreferenceOptions"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Controllers.WebAPI.MeController.PreferenceOptions"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Controllers.WebAPI.MeController.PreferenceOptions"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Gets the options.",
        "tags": [
          "Me"
        ]
      }
    },
    "/me/profile": {
      "put": {
        "deprecated": false,
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Models.Profile"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/API2.Models.Profile"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Models.Profile"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Models.Profile"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Models.Profile"
              }
            }
          },
          "description": "The req.",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.BigOvenUser"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.BigOvenUser"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.BigOvenUser"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.BigOvenUser"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Puts me.",
        "tags": [
          "Me"
        ]
      }
    },
    "/me/skinny": {
      "get": {
        "deprecated": false,
        "operationId": "Me_Skinny",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.BigOvenUser"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.BigOvenUser"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.BigOvenUser"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.BigOvenUser"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Skinnies this instance.",
        "tags": [
          "Me"
        ]
      }
    },
    "/recipe": {
      "post": {
        "deprecated": false,
        "operationId": "Recipe_Post",
        "requestBody": {
          "$ref": "#/components/requestBodies/BigOven.Model.API.Recipe"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Recipe"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Recipe"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Recipe"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Recipe"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Add a new recipe",
        "tags": [
          "Recipe"
        ]
      },
      "put": {
        "deprecated": false,
        "operationId": "Recipe_Put",
        "requestBody": {
          "$ref": "#/components/requestBodies/BigOven.Model.API.Recipe"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Recipe"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Recipe"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Recipe"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Recipe"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Update a recipe",
        "tags": [
          "Recipe"
        ]
      }
    },
    "/recipe/autocomplete": {
      "get": {
        "deprecated": false,
        "operationId": "Recipe_AutoComplete",
        "parameters": [
          {
            "description": "",
            "in": "query",
            "name": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "application/xml": {
                "schema": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "text/xml": {
                "schema": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Given a query, return recipe titles starting with query. Query must be at least 3 chars in length.",
        "tags": [
          "Recipe"
        ]
      }
    },
    "/recipe/autocomplete/all": {
      "get": {
        "deprecated": false,
        "operationId": "Recipe_AutoCompleteAllRecipes",
        "parameters": [
          {
            "description": "The query.",
            "in": "query",
            "name": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The limit.",
            "in": "query",
            "name": "limit",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.RecipeInfoTiny"
                  },
                  "type": "array"
                }
              },
              "application/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.RecipeInfoTiny"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.RecipeInfoTiny"
                  },
                  "type": "array"
                }
              },
              "text/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.RecipeInfoTiny"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Automatics the complete all recipes.",
        "tags": [
          "Recipe"
        ]
      }
    },
    "/recipe/autocomplete/mine": {
      "get": {
        "deprecated": false,
        "operationId": "Recipe_AutoCompleteMyRecipes",
        "parameters": [
          {
            "description": "The query.",
            "in": "query",
            "name": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The limit.",
            "in": "query",
            "name": "limit",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.RecipeInfoTiny"
                  },
                  "type": "array"
                }
              },
              "application/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.RecipeInfoTiny"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.RecipeInfoTiny"
                  },
                  "type": "array"
                }
              },
              "text/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.RecipeInfoTiny"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Automatics the complete my recipes.",
        "tags": [
          "Recipe"
        ]
      }
    },
    "/recipe/categories": {
      "get": {
        "deprecated": false,
        "operationId": "Recipe_Categories",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.RecipeCategory"
                  },
                  "type": "array"
                }
              },
              "application/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.RecipeCategory"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.RecipeCategory"
                  },
                  "type": "array"
                }
              },
              "text/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.RecipeCategory"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Get a list of recipe categories (the ID field can be used for include_cat in search parameters)",
        "tags": [
          "Recipe"
        ]
      }
    },
    "/recipe/get/active/recipe": {
      "get": {
        "deprecated": false,
        "operationId": "Recipe_GetActiveRecipe",
        "parameters": [
          {
            "description": "",
            "in": "query",
            "name": "userName",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Result"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Result"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Result"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Result"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Returns last active recipe for the user",
        "tags": [
          "Recipe"
        ]
      }
    },
    "/recipe/get/saved/step": {
      "post": {
        "deprecated": false,
        "operationId": "Recipe_GetStep",
        "parameters": [
          {
            "description": "",
            "in": "query",
            "name": "userName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "",
            "in": "query",
            "name": "recipeId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "",
            "in": "query",
            "name": "stepId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Gets recipe single step as text",
        "tags": [
          "Recipe"
        ]
      }
    },
    "/recipe/get/step/number": {
      "post": {
        "deprecated": false,
        "operationId": "Recipe_GetStepNumber",
        "parameters": [
          {
            "description": "",
            "in": "query",
            "name": "userName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "",
            "in": "query",
            "name": "recipeId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Result"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Result"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Result"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Result"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Returns stored step number and number of steps in recipe",
        "tags": [
          "Recipe"
        ]
      }
    },
    "/recipe/photos/pending": {
      "get": {
        "deprecated": false,
        "operationId": "Images_GetPendingByUser",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Controllers.WebAPI.ImagesController.RecipePhotosResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Controllers.WebAPI.ImagesController.RecipePhotosResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Controllers.WebAPI.ImagesController.RecipePhotosResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Controllers.WebAPI.ImagesController.RecipePhotosResponse"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Gets the pending by user.",
        "tags": [
          "Images"
        ]
      }
    },
    "/recipe/post/step": {
      "post": {
        "deprecated": false,
        "operationId": "Recipe_GetSteps",
        "parameters": [
          {
            "description": "",
            "in": "query",
            "name": "userName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "",
            "in": "query",
            "name": "recipeId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "",
            "in": "query",
            "name": "stepId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Result"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Result"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Result"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Result"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Stores recipe step number and returns saved step data",
        "tags": [
          "Recipe"
        ]
      }
    },
    "/recipe/review/replies/{replyId}": {
      "delete": {
        "deprecated": false,
        "operationId": "Review_DeleteReply",
        "parameters": [
          {
            "description": "",
            "in": "path",
            "name": "replyId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "DELETE a reply to a given review. Authenticated user must be the one who originally posted the reply.",
        "tags": [
          "Review"
        ]
      },
      "put": {
        "deprecated": false,
        "operationId": "Review_PutReply",
        "parameters": [
          {
            "description": "",
            "in": "path",
            "name": "replyId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/API2.Controllers.WebAPI.ReviewController.PostReplyReq"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Reply"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Reply"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Reply"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Reply"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Update (PUT) a reply to a given review. Authenticated user must be the original one that posted the reply.",
        "tags": [
          "Review"
        ]
      }
    },
    "/recipe/review/{reviewId}": {
      "get": {
        "deprecated": false,
        "parameters": [
          {
            "in": "path",
            "name": "reviewId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Review"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Review"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Review"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Review"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Get a given review by string-style ID. This will return a payload with FeaturedReply, ReplyCount.\r\n            Recommended display is to list top-level reviews with one featured reply underneath. \r\n            Currently, the FeaturedReply is the most recent one for that rating.",
        "tags": [
          "Review"
        ]
      },
      "put": {
        "deprecated": false,
        "operationId": "Review_Put",
        "parameters": [
          {
            "description": "",
            "in": "path",
            "name": "reviewId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/API2.Controllers.WebAPI.ReviewController.ReviewRequest"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Review"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Review"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Review"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Review"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Update a given top-level review.",
        "tags": [
          "Review"
        ]
      }
    },
    "/recipe/review/{reviewId}/replies": {
      "get": {
        "deprecated": false,
        "operationId": "Review_GetReplies",
        "parameters": [
          {
            "description": "",
            "in": "path",
            "name": "reviewId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "the page (int), starting with 1",
            "in": "query",
            "name": "pg",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "results per page (int)",
            "in": "query",
            "name": "rpp",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.API.Reply"
                  },
                  "type": "array"
                }
              },
              "application/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.API.Reply"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.API.Reply"
                  },
                  "type": "array"
                }
              },
              "text/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.API.Reply"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Get a paged list of replies for a given review.",
        "tags": [
          "Review"
        ]
      },
      "post": {
        "deprecated": false,
        "operationId": "Review_PostReply",
        "parameters": [
          {
            "description": "",
            "in": "path",
            "name": "reviewId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/API2.Controllers.WebAPI.ReviewController.PostReplyReq"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Reply"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Reply"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Reply"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Reply"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "POST a reply to a given review. The date will be set by server. Note that replies no longer have star ratings, only top-level reviews do.",
        "tags": [
          "Review"
        ]
      }
    },
    "/recipe/scan": {
      "post": {
        "deprecated": false,
        "operationId": "Recipe_Scan",
        "parameters": [
          {
            "in": "query",
            "name": "test",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "devicetype",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "lat",
            "required": false,
            "schema": {
              "format": "double",
              "type": "number"
            }
          },
          {
            "in": "query",
            "name": "lng",
            "required": false,
            "schema": {
              "format": "double",
              "type": "number"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Not authorized"
          },
          "402": {
            "description": "Payment required (not enough credits)"
          },
          "415": {
            "description": "Bad media type (bad JPG)"
          },
          "500": {
            "description": "General error on initiating RecipeScan task; please try again or contact us at support[at]bigoven.com"
          }
        },
        "summary": "POST an image as a new RecipeScan request\r\n                1)  Fetch the filename -- DONE\r\n                2)  Copy it to the pics/scan folder - ENSURE NO NAMING COLLISIONS -- DONE\r\n                3)  Create 120 thumbnail size  in pics/scan/120 -- DONE\r\n                4)  Insert the CloudTasks record\r\n                5)  Create the HIT\r\n                6)  Update the CloudTasks record with the HIT ID\r\n                7)  Email the requesing user\r\n                8)  Call out to www.bigoven.com to fetch the image and re-create the thumbnail",
        "tags": [
          "Recipe"
        ]
      }
    },
    "/recipe/steps/{id}": {
      "get": {
        "deprecated": false,
        "operationId": "Recipe_GetRecipeWithSteps",
        "parameters": [
          {
            "description": "the Recipe ID to retrieve",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "prefetch",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.Recipe"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.Recipe"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.Recipe"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.Recipe"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Return full Recipe detail with steps. Returns 403 if the recipe is owned by someone else.",
        "tags": [
          "Recipe"
        ]
      }
    },
    "/recipe/{id}": {
      "delete": {
        "deprecated": false,
        "operationId": "Recipe_Delete",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Delete a Recipe (you must be authenticated as an owner of the recipe)",
        "tags": [
          "Recipe"
        ]
      },
      "get": {
        "deprecated": false,
        "operationId": "Recipe_Get",
        "parameters": [
          {
            "description": "The Recipe ID to retrieve",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "The prefetch.",
            "in": "query",
            "name": "prefetch",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.Recipe"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.Recipe"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.Recipe"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.Recipe"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Return full Recipe detail. Returns 403 if the recipe is owned by someone else.",
        "tags": [
          "Recipe"
        ]
      }
    },
    "/recipe/{id}/zap": {
      "get": {
        "deprecated": false,
        "operationId": "Recipe_ZapRecipe",
        "parameters": [
          {
            "description": "The identifier.",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Zaps the recipe.",
        "tags": [
          "Recipe"
        ]
      }
    },
    "/recipe/{recipeId}/feedback": {
      "post": {
        "deprecated": false,
        "operationId": "Recipe_Feedback",
        "parameters": [
          {
            "description": "",
            "in": "path",
            "name": "recipeId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Models.Recipes.FeedbackDTO"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/API2.Models.Recipes.FeedbackDTO"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Models.Recipes.FeedbackDTO"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Models.Recipes.FeedbackDTO"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Models.Recipes.FeedbackDTO"
              }
            }
          },
          "description": "The payload for feedback, which includes the field \"feedback\"",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Feedback on a Recipe -- for internal BigOven editors",
        "tags": [
          "Recipe"
        ]
      }
    },
    "/recipe/{recipeId}/image": {
      "post": {
        "deprecated": false,
        "operationId": "Images_UploadRecipeImage",
        "parameters": [
          {
            "in": "path",
            "name": "recipeId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "caption",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "lat",
            "required": false,
            "schema": {
              "format": "double",
              "type": "number"
            }
          },
          {
            "in": "query",
            "name": "lng",
            "required": false,
            "schema": {
              "format": "double",
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              }
            },
            "description": "Success"
          },
          "400": {
            "description": "if bad request (e.g., missing parameters)"
          },
          "401": {
            "description": "if the user is unknown"
          },
          "415": {
            "description": "if unsupported media type (e.g., bad JPG)"
          }
        },
        "summary": "POST: /recipe/{recipeId}/image?lat=42&lng=21&caption=this%20is%20my%20caption\r\n             \r\n             Note that caption, lng and lat are all optional, but must go on the request URI as params because this endpoint\r\n             needs a multipart/mime content header and will not parse JSON in the body along with it.\r\n            \r\n             Testing with Postman (validated 11/20/2015):\r\n             1) Remove the Content-Type header; add authentication information\r\n             2) On the request, click Body and choose \"form-data\", then add a line item with \"key\" column set to \"file\" and on the right,\r\n             change the type of the input from Text to File.  Browse and choose a JPG.",
        "tags": [
          "Images"
        ]
      }
    },
    "/recipe/{recipeId}/images": {
      "get": {
        "deprecated": false,
        "operationId": "Images_Get",
        "parameters": [
          {
            "description": "Recipe ID (required)",
            "in": "path",
            "name": "recipeId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.API.Image"
                  },
                  "type": "array"
                }
              },
              "application/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.API.Image"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.API.Image"
                  },
                  "type": "array"
                }
              },
              "text/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.API.Image"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Get all the images for a recipe. DEPRECATED. Please use /recipe/{recipeId}/photos.",
        "tags": [
          "Images"
        ]
      }
    },
    "/recipe/{recipeId}/note": {
      "post": {
        "deprecated": false,
        "operationId": "Note_Post",
        "parameters": [
          {
            "description": "recipeId (int)",
            "in": "path",
            "name": "recipeId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.NoteController.NoteRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.NoteController.NoteRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.NoteController.NoteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.NoteController.NoteRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.NoteController.NoteRequest"
              }
            }
          },
          "description": "a recipe note, with fields: Date (YYYY-MM-DD string), Notes (string), People (string), Variations (string), RecipeID (int?)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.RecipeNote"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.RecipeNote"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.RecipeNote"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.RecipeNote"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "HTTP POST a new note into the system.",
        "tags": [
          "Note"
        ]
      }
    },
    "/recipe/{recipeId}/note/{noteId}": {
      "delete": {
        "deprecated": false,
        "operationId": "Note_Delete",
        "parameters": [
          {
            "description": "recipeId (int)",
            "in": "path",
            "name": "recipeId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "noteId (int)",
            "in": "path",
            "name": "noteId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Delete a review\r\n                do a DELETE Http request of /note/{ID}",
        "tags": [
          "Note"
        ]
      },
      "get": {
        "deprecated": false,
        "operationId": "Note_Get",
        "parameters": [
          {
            "description": "recipe identifier (integer)",
            "in": "path",
            "name": "recipeId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "The note ID (note -- it's not the RecipeID)",
            "in": "path",
            "name": "noteId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.RecipeNote"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.RecipeNote"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.RecipeNote"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.RecipeNote"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Get a given note. Make sure you're passing authentication information in the header for the user who owns the note.",
        "tags": [
          "Note"
        ]
      },
      "put": {
        "deprecated": false,
        "operationId": "Note_Put",
        "parameters": [
          {
            "in": "path",
            "name": "recipeId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "in": "path",
            "name": "noteId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.NoteController.NoteRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.NoteController.NoteRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.NoteController.NoteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.NoteController.NoteRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.NoteController.NoteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.RecipeNote"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.RecipeNote"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.RecipeNote"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.RecipeNote"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "HTTP PUT (update) a Recipe note (RecipeNote).",
        "tags": [
          "Note"
        ]
      }
    },
    "/recipe/{recipeId}/notes": {
      "get": {
        "deprecated": false,
        "operationId": "Note_GetNotes",
        "parameters": [
          {
            "description": "recipeId (int)",
            "in": "path",
            "name": "recipeId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "page (int, starting from 1)",
            "in": "query",
            "name": "pg",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "recipeId",
            "in": "query",
            "name": "rpp",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.RecipeNoteList"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.RecipeNoteList"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.RecipeNoteList"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.RecipeNoteList"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "recipe/100/notes",
        "tags": [
          "Note"
        ]
      }
    },
    "/recipe/{recipeId}/photos": {
      "get": {
        "deprecated": false,
        "operationId": "Images_GetRecipePhotos",
        "parameters": [
          {
            "description": "Recipe ID (required)",
            "in": "path",
            "name": "recipeId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "",
            "in": "query",
            "name": "pg",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "",
            "in": "query",
            "name": "rpp",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Controllers.WebAPI.ImagesController.RecipePhotosResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Controllers.WebAPI.ImagesController.RecipePhotosResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Controllers.WebAPI.ImagesController.RecipePhotosResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Controllers.WebAPI.ImagesController.RecipePhotosResponse"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Get all the photos for a recipe",
        "tags": [
          "Images"
        ]
      }
    },
    "/recipe/{recipeId}/related": {
      "get": {
        "deprecated": false,
        "operationId": "Recipe_Related",
        "parameters": [
          {
            "description": "The recipe id",
            "in": "path",
            "name": "recipeId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "The page",
            "in": "query",
            "name": "pg",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "The results per page",
            "in": "query",
            "name": "rpp",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.RecipeSearchResult"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.RecipeSearchResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.RecipeSearchResult"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.RecipeSearchResult"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Get recipes related to the given recipeId",
        "tags": [
          "Recipe"
        ]
      }
    },
    "/recipe/{recipeId}/review": {
      "get": {
        "deprecated": false,
        "parameters": [
          {
            "description": "",
            "in": "path",
            "name": "recipeId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Review"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Review"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Review"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Review"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Get *my* review for the recipe {recipeId}, where \"me\" is determined by standard authentication headers",
        "tags": [
          "Review"
        ]
      },
      "post": {
        "deprecated": false,
        "operationId": "Review_Post",
        "parameters": [
          {
            "description": "",
            "in": "path",
            "name": "recipeId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/API2.Controllers.WebAPI.ReviewController.ReviewRequest"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Add a new review. Only one review can be provided per {userId, recipeId} pair. Otherwise your review will be updated.",
        "tags": [
          "Review"
        ]
      }
    },
    "/recipe/{recipeId}/review/{reviewId}": {
      "delete": {
        "deprecated": false,
        "operationId": "Review_Delete",
        "parameters": [
          {
            "description": "",
            "in": "path",
            "name": "recipeId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "",
            "in": "path",
            "name": "reviewId",
            "required": true,
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/System.Object"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "DEPRECATED! - Deletes a review by recipeId and reviewId. Please use recipe/review/{reviewId} instead.",
        "tags": [
          "Review"
        ]
      },
      "get": {
        "deprecated": false,
        "operationId": "Review_Get",
        "parameters": [
          {
            "description": "int",
            "in": "path",
            "name": "reviewId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "int",
            "in": "path",
            "name": "recipeId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Review"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Review"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Review"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Review"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Get a given review - DEPRECATED. See recipe/review/{reviewId} for the current usage.\r\n            Beginning in January 2017, BigOven moded from an integer-based ID system to a GUID-style string-based ID system for reviews and replies.\r\n            We are also supporting more of a \"Google Play\" style model for Reviews and Replies. That is, there are top-level Reviews and then\r\n            an unlimited list of replies (which do not carry star ratings) underneath existing reviews. Also, a given user can only have one review \r\n            per recipe. Existing legacy endpoints will continue to work, but we strongly recommend you migrate to using the newer endpoints listed\r\n            which do NOT carry the \"DEPRECATED\" flag.",
        "tags": [
          "Review"
        ]
      },
      "put": {
        "deprecated": false,
        "operationId": "Review_PutLegacy",
        "parameters": [
          {
            "description": "reviewId (int)",
            "in": "path",
            "name": "reviewId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "recipeId (int)",
            "in": "path",
            "name": "recipeId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.ReviewController.ReviewRequestLegacy"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.ReviewController.ReviewRequestLegacy"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.ReviewController.ReviewRequestLegacy"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.ReviewController.ReviewRequestLegacy"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/API2.Controllers.WebAPI.ReviewController.ReviewRequestLegacy"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Review"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Review"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Review"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Review"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "HTTP PUT (update) a recipe review. DEPRECATED. Please see recipe/review/{reviewId} PUT for the new endpoint.\r\n            We are moving to a string-based primary key system, no longer integers, for reviews and replies.",
        "tags": [
          "Review"
        ]
      }
    },
    "/recipe/{recipeId}/reviews": {
      "get": {
        "deprecated": false,
        "operationId": "Review_GetReviews",
        "parameters": [
          {
            "description": "recipe id (int)",
            "in": "path",
            "name": "recipeId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "the page (int), starting with 1",
            "in": "query",
            "name": "pg",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "results per page (int)",
            "in": "query",
            "name": "rpp",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.API.Review"
                  },
                  "type": "array"
                }
              },
              "application/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.API.Review"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.API.Review"
                  },
                  "type": "array"
                }
              },
              "text/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.API.Review"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Get paged list of reviews for a recipe. Each review will have at most one FeaturedReply, as well as a ReplyCount.",
        "tags": [
          "Review"
        ]
      }
    },
    "/recipe/{recipeId}/scans": {
      "get": {
        "deprecated": false,
        "operationId": "Images_GetScanImages",
        "parameters": [
          {
            "description": "the recipe identifier (int)",
            "in": "path",
            "name": "recipeId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.API.Image"
                  },
                  "type": "array"
                }
              },
              "application/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.API.Image"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.API.Image"
                  },
                  "type": "array"
                }
              },
              "text/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.API.Image"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Gets a list of RecipeScan images for the recipe. There will be at most 3 per recipe.",
        "tags": [
          "Images"
        ]
      }
    },
    "/recipes": {
      "get": {
        "deprecated": false,
        "operationId": "Recipe_RecipeSearch",
        "parameters": [
          {
            "description": "Search anywhere in the recipe for the keyword",
            "in": "query",
            "name": "any_kw",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Search in a specific folder name for the authenticated user",
            "in": "query",
            "name": "folder",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Limit to a collection ID number",
            "in": "query",
            "name": "coll",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "optionally set to either \"myrecipes\", \"try\", \"favorites\",\"added\" to filter to just the authenticated user's recipe set",
            "in": "query",
            "name": "filter",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Search just in the recipe title for the keyword",
            "in": "query",
            "name": "title_kw",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Set the target userid to search their public recipes",
            "in": "query",
            "name": "userId",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "Set the target username to search their public recipes",
            "in": "query",
            "name": "username",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "",
            "in": "query",
            "name": "token",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "if set to true, limit search results to photos only",
            "in": "query",
            "name": "photos",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "if set to true, boost my own recipes in my folders so they show up high in the list (at the expense of other sort orders)",
            "in": "query",
            "name": "boostmine",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "integer of the subcategory you'd like to limit searches to (see the /recipe/categories endpoint for available id numbers). For instance, 58 is \"Main Dish > Casseroles\".",
            "in": "query",
            "name": "include_cat",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "like include_cat, set this to an integer to exclude a specific category",
            "in": "query",
            "name": "exclude_cat",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "csv indicating up to three top-level categories -- valid values are [appetizers,bread,breakfast,desserts,drinks,maindish,salads,sidedish,soups,marinades,other]",
            "in": "query",
            "name": "include_primarycat",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "csv indicating integer values for up to 3 top-level categories -- valid values are 1...11 [appetizers,bread,breakfast,desserts,drinks,maindish,salads,sidedish,soups,marinades,other]",
            "in": "query",
            "name": "exclude_primarycat",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "A CSV representing up to 3 ingredients to include, e.g., tomatoes,corn%20%starch,chicken",
            "in": "query",
            "name": "include_ing",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "A CSV representing up to 3 ingredients to exclude  (Powersearch-capable plan required)",
            "in": "query",
            "name": "exclude_ing",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Limit to a specific cuisine. Cooks can enter anything free-form, but the few dozen preconfigured values are Afghan,African,American,American-South,Asian,Australian,Brazilian,Cajun,Canadian,Caribbean,Chinese,Croatian,Cuban,Dessert,Eastern European,English,French,German,Greek,Hawaiian,Hungarian,India,Indian,Irish,Italian,Japanese,Jewish,Korean,Latin,Mediterranean,Mexican,Middle Eastern,Moroccan,Polish,Russian,Scandanavian,Seafood,Southern,Southwestern,Spanish,Tex-Mex,Thai,Vegan,Vegetarian,Vietnamese",
            "in": "query",
            "name": "cuisine",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "",
            "in": "query",
            "name": "db",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "If set to a given username, it'll force the search to filter to just that username",
            "in": "query",
            "name": "userset",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Limit to yield of a given number size or greater. Note that cooks usually enter recipes by Servings, but sometimes they are posted by \"dozen\", etc. This parameter simply specifies the minimum number for that value entered in \"yield.\"",
            "in": "query",
            "name": "servingsMin",
            "required": false,
            "schema": {
              "format": "double",
              "type": "number"
            }
          },
          {
            "description": "Optional. If supplied, will restrict results to recipes that can be made in {totalMins} or less. (Convert \"1 hour, 15 minutes\" to 75 before passing in.)",
            "in": "query",
            "name": "totalMins",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "Optional. If supplied, will restrict results to recipes that can be made with {maxIngredients} ingredients or less",
            "in": "query",
            "name": "maxIngredients",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "Optional. If supplied, will restrict results to recipes that have at least {minIngredients}",
            "in": "query",
            "name": "minIngredients",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "integer; results per page",
            "in": "query",
            "name": "rpp",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "integer: the page number",
            "in": "query",
            "name": "pg",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "when set to 1, limit to vegetarian (Powersearch-capable plan required)",
            "in": "query",
            "name": "vtn",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "when set to 1, limit to vegan (Powersearch-capable plan required)",
            "in": "query",
            "name": "vgn",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "when set to 1, limit to contains-cheese (Powersearch-capable plan required)",
            "in": "query",
            "name": "chs",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "when set to 1, limit to gluten-free (Powersearch-capable plan required)",
            "in": "query",
            "name": "glf",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "when set to 1, limit to nut-free (Powersearch-capable plan required)",
            "in": "query",
            "name": "ntf",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "when set to 1, limit to dairy-free (Powersearch-capable plan required)",
            "in": "query",
            "name": "dyf",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "when set to 1, limit to seafood-free (Powersearch-capable plan required)",
            "in": "query",
            "name": "sff",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "when set to 1, limit to shellfish-free (Powersearch-capable plan required)",
            "in": "query",
            "name": "slf",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "when set to 1, limit to tree-nut free (Powersearch-capable plan required)",
            "in": "query",
            "name": "tnf",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "when set to 1, limit to white-meat free (Powersearch-capable plan required)",
            "in": "query",
            "name": "wmf",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "when set to 1, limit to red-meat free (Powersearch-capable plan required)",
            "in": "query",
            "name": "rmf",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "when set to 1, recipe contains pasta, set to 0 means contains no pasta (Powersearch-capable plan required)",
            "in": "query",
            "name": "cps",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "optional. When set to 1, this will limit search results to \"best of\" recipes as determined by various internal editorial and programmatic algorithms. For the most comprehensive results, don't include this parameter.",
            "in": "query",
            "name": "champion",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "optional, default is false. When set to true, BigOven will attempt to apply synonyms in search (e.g., excluding pork will also exclude bacon)",
            "in": "query",
            "name": "synonyms",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.RecipeSearchResult"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.RecipeSearchResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.RecipeSearchResult"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.RecipeSearchResult"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Search for recipes. There are many parameters that you can apply. Starting with the most common, use title_kw to search within a title.\r\n            Use any_kw to search across the entire recipe.\r\n            If you'd like to limit by course, set the parameter \"include_primarycat\" to one of (appetizers,bread,breakfast,dessert,drinks,maindish,salad,sidedish,soup,marinades,other).\r\n            If you'd like to exclude a category, set exclude_cat to one or more (comma-separated) list of those categories to exclude.\r\n            If you'd like to include a category, set include_cat to one or more (comma-separated) of those categories to include.\r\n            To explicitly include an ingredient in your search, set the parameter \"include_ing\" to a CSV of up to three ingredients, e.g.:include_ing=mustard,chicken,beef%20tips\r\n            To explicitly exclude an ingredient in your search, set the parameter \"exclude_ing\" to a CSV of up to three ingredients.\r\n            All searches must contain the paging parameters pg and rpp, which are integers, and represent the page number (1-based) and results per page (rpp).\r\n            So, to get the third page of a result set paged with 25 recipes per page, you'd pass pg=3&rpp=25\r\n            If you'd like to target searches to just a single target user's recipes, set userId=the target userId (number).\r\n            Or, you can set username=theirusername\r\n            vtn;vgn;chs;glf;ntf;dyf;sff;slf;tnf;wmf;rmf;cps\r\n            cuisine\r\n            photos\r\n            filter=added,try,favorites,myrecipes\\r\\n\\r\\n\r\n            folder=FolderNameCaseSensitive\r\n            coll=ID of Collection",
        "tags": [
          "Recipe"
        ]
      }
    },
    "/recipes/random": {
      "get": {
        "deprecated": false,
        "operationId": "Recipe_GetRandomRecipe",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Recipe"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Recipe"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Recipe"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API.Recipe"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Get a random, home-page-quality Recipe.",
        "tags": [
          "Recipe"
        ]
      }
    },
    "/recipes/raves": {
      "get": {
        "deprecated": false,
        "operationId": "Recipe_Raves",
        "parameters": [
          {
            "description": "page, starting with 1",
            "in": "query",
            "name": "pg",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "results per page",
            "in": "query",
            "name": "rpp",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.RecipeInfoReviewTuple2"
                  },
                  "type": "array"
                }
              },
              "application/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.RecipeInfoReviewTuple2"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.RecipeInfoReviewTuple2"
                  },
                  "type": "array"
                }
              },
              "text/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.RecipeInfoReviewTuple2"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Get the recipe/comment tuples for those recipes with 4 or 5 star ratings",
        "tags": [
          "Recipe"
        ]
      }
    },
    "/recipes/recentviews": {
      "get": {
        "deprecated": false,
        "operationId": "Recipe_RecentViews",
        "parameters": [
          {
            "description": "Page number starting with 1",
            "in": "query",
            "name": "pg",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "results per page",
            "in": "query",
            "name": "rpp",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.RecipeInfoDateTuple2"
                  },
                  "type": "array"
                }
              },
              "application/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.RecipeInfoDateTuple2"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.RecipeInfoDateTuple2"
                  },
                  "type": "array"
                }
              },
              "text/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BigOven.Model.RecipeInfoDateTuple2"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Get a list of recipes that the authenticated user has most recently viewed",
        "tags": [
          "Recipe"
        ]
      }
    },
    "/recipes/top25random": {
      "get": {
        "deprecated": false,
        "operationId": "Recipe_RecipeSearchRandom",
        "parameters": [
          {
            "description": "Search anywhere in the recipe for the keyword",
            "in": "query",
            "name": "any_kw",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Search in a specific folder name for the authenticated user",
            "in": "query",
            "name": "folder",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Limit to a collection ID number",
            "in": "query",
            "name": "coll",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "optionally set to either \"myrecipes\", \"try\", \"favorites\",\"added\" to filter to just the authenticated user's recipe set",
            "in": "query",
            "name": "filter",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Search just in the recipe title for the keyword",
            "in": "query",
            "name": "title_kw",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Set the target userid to search their public recipes",
            "in": "query",
            "name": "userId",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "Set the target username to search their public recipes",
            "in": "query",
            "name": "username",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "",
            "in": "query",
            "name": "token",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "if set to true, limit search results to photos only",
            "in": "query",
            "name": "photos",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "if set to true, boost my own recipes in my folders so they show up high in the list (at the expense of other sort orders)",
            "in": "query",
            "name": "boostmine",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "integer of the subcategory you'd like to limit searches to (see the /recipe/categories endpoint for available id numbers). For instance, 58 is \"Main Dish > Casseroles\".",
            "in": "query",
            "name": "include_cat",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "like include_cat, set this to an integer to exclude a specific category",
            "in": "query",
            "name": "exclude_cat",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "csv indicating up to three top-level categories -- valid values are [appetizers,bread,breakfast,desserts,drinks,maindish,salads,sidedish,soups,marinades,other]",
            "in": "query",
            "name": "include_primarycat",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "csv indicating integer values for up to 3 top-level categories -- valid values are 1...11 [appetizers,bread,breakfast,desserts,drinks,maindish,salads,sidedish,soups,marinades,other]",
            "in": "query",
            "name": "exclude_primarycat",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "A CSV representing up to 3 ingredients to include, e.g., tomatoes,corn%20%starch,chicken",
            "in": "query",
            "name": "include_ing",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "A CSV representing up to 3 ingredients to exclude  (Powersearch-capable plan required)",
            "in": "query",
            "name": "exclude_ing",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Limit to a specific cuisine. Cooks can enter anything free-form, but the few dozen preconfigured values are Afghan,African,American,American-South,Asian,Australian,Brazilian,Cajun,Canadian,Caribbean,Chinese,Croatian,Cuban,Dessert,Eastern European,English,French,German,Greek,Hawaiian,Hungarian,India,Indian,Irish,Italian,Japanese,Jewish,Korean,Latin,Mediterranean,Mexican,Middle Eastern,Moroccan,Polish,Russian,Scandanavian,Seafood,Southern,Southwestern,Spanish,Tex-Mex,Thai,Vegan,Vegetarian,Vietnamese",
            "in": "query",
            "name": "cuisine",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "",
            "in": "query",
            "name": "db",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "If set to a given username, it'll force the search to filter to just that username",
            "in": "query",
            "name": "userset",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Limit to yield of a given number size or greater. Note that cooks usually enter recipes by Servings, but sometimes they are posted by \"dozen\", etc. This parameter simply specifies the minimum number for that value entered in \"yield.\"",
            "in": "query",
            "name": "servingsMin",
            "required": false,
            "schema": {
              "format": "double",
              "type": "number"
            }
          },
          {
            "description": "Optional. If supplied, will restrict results to recipes that can be made in {totalMins} or less. (Convert \"1 hour, 15 minutes\" to 75 before passing in.)",
            "in": "query",
            "name": "totalMins",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "Optional. If supplied, will restrict results to recipes that can be made with {maxIngredients} ingredients or less",
            "in": "query",
            "name": "maxIngredients",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "Optional. If supplied, will restrict results to recipes that have at least {minIngredients}",
            "in": "query",
            "name": "minIngredients",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "when set to 1, limit to vegetarian (Powersearch-capable plan required)",
            "in": "query",
            "name": "vtn",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "when set to 1, limit to vegan (Powersearch-capable plan required)",
            "in": "query",
            "name": "vgn",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "when set to 1, limit to contains-cheese (Powersearch-capable plan required)",
            "in": "query",
            "name": "chs",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "when set to 1, limit to gluten-free (Powersearch-capable plan required)",
            "in": "query",
            "name": "glf",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "when set to 1, limit to nut-free (Powersearch-capable plan required)",
            "in": "query",
            "name": "ntf",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "when set to 1, limit to dairy-free (Powersearch-capable plan required)",
            "in": "query",
            "name": "dyf",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "when set to 1, limit to seafood-free (Powersearch-capable plan required)",
            "in": "query",
            "name": "sff",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "when set to 1, limit to shellfish-free (Powersearch-capable plan required)",
            "in": "query",
            "name": "slf",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "when set to 1, limit to tree-nut free (Powersearch-capable plan required)",
            "in": "query",
            "name": "tnf",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "when set to 1, limit to white-meat free (Powersearch-capable plan required)",
            "in": "query",
            "name": "wmf",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "when set to 1, limit to red-meat free (Powersearch-capable plan required)",
            "in": "query",
            "name": "rmf",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "when set to 1, recipe contains pasta, set to 0 means contains no pasta (Powersearch-capable plan required)",
            "in": "query",
            "name": "cps",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "optional. When set to 1, this will limit search results to \"best of\" recipes as determined by various internal editorial and programmatic algorithms. For the most comprehensive results, don't include this parameter.",
            "in": "query",
            "name": "champion",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "optional, default is false. When set to true, BigOven will attempt to apply synonyms in search (e.g., excluding pork will also exclude bacon)",
            "in": "query",
            "name": "synonyms",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.RecipeSearchResult"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.RecipeSearchResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.RecipeSearchResult"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/BigOven.Model.API2.RecipeSearchResult"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Search for recipes. There are many parameters that you can apply. Starting with the most common, use title_kw to search within a title.\r\n            Use any_kw to search across the entire recipe.\r\n            If you'd like to limit by course, set the parameter \"include_primarycat\" to one of (appetizers,bread,breakfast,dessert,drinks,maindish,salad,sidedish,soup,marinades,other).\r\n            If you'd like to exclude a category, set exclude_cat to one or more (comma-separated) list of those categories to exclude.\r\n            If you'd like to include a category, set include_cat to one or more (comma-separated) of those categories to include.\r\n            To explicitly include an ingredient in your search, set the parameter \"include_ing\" to a CSV of up to three ingredients, e.g.:include_ing=mustard,chicken,beef%20tips\r\n            To explicitly exclude an ingredient in your search, set the parameter \"exclude_ing\" to a CSV of up to three ingredients.\r\n            All searches must contain the paging parameters pg and rpp, which are integers, and represent the page number (1-based) and results per page (rpp).\r\n            So, to get the third page of a result set paged with 25 recipes per page, you'd pass pg=3&rpp=25\r\n            If you'd like to target searches to just a single target user's recipes, set userId=the target userId (number).\r\n            Or, you can set username=theirusername\r\n            vtn;vgn;chs;glf;ntf;dyf;sff;slf;tnf;wmf;rmf;cps\r\n            cuisine\r\n            photos\r\n            filter=added,try,favorites,myrecipes\\r\\n\\r\\n\r\n            folder=FolderNameCaseSensitive\r\n            coll=ID of Collection",
        "tags": [
          "Recipe"
        ]
      }
    },
    "/recipes/{id}": {
      "get": {
        "deprecated": false,
        "operationId": "Recipe_GetV2",
        "parameters": [
          {
            "description": "The Recipe ID to retrieve",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "The prefetch.",
            "in": "query",
            "name": "prefetch",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.Recipes.RecipeResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.Recipes.RecipeResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.Recipes.RecipeResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/API2.Models.Recipes.RecipeResponse"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Same as GET recipe but also includes the recipe videos (if any)",
        "tags": [
          "Recipe"
        ]
      }
    }
  },
  "components": {
    "requestBodies": {
      "API2.Controllers.WebAPI.ReviewController.PostReplyReq": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/API2.Controllers.WebAPI.ReviewController.PostReplyReq"
            }
          },
          "application/x-www-form-urlencoded": {
            "schema": {
              "$ref": "#/components/schemas/API2.Controllers.WebAPI.ReviewController.PostReplyReq"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/API2.Controllers.WebAPI.ReviewController.PostReplyReq"
            }
          },
          "text/json": {
            "schema": {
              "$ref": "#/components/schemas/API2.Controllers.WebAPI.ReviewController.PostReplyReq"
            }
          },
          "text/xml": {
            "schema": {
              "$ref": "#/components/schemas/API2.Controllers.WebAPI.ReviewController.PostReplyReq"
            }
          }
        },
        "required": true
      },
      "API2.Controllers.WebAPI.ReviewController.ReviewRequest": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/API2.Controllers.WebAPI.ReviewController.ReviewRequest"
            }
          },
          "application/x-www-form-urlencoded": {
            "schema": {
              "$ref": "#/components/schemas/API2.Controllers.WebAPI.ReviewController.ReviewRequest"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/API2.Controllers.WebAPI.ReviewController.ReviewRequest"
            }
          },
          "text/json": {
            "schema": {
              "$ref": "#/components/schemas/API2.Controllers.WebAPI.ReviewController.ReviewRequest"
            }
          },
          "text/xml": {
            "schema": {
              "$ref": "#/components/schemas/API2.Controllers.WebAPI.ReviewController.ReviewRequest"
            }
          }
        },
        "required": true
      },
      "BigOven.Model.API.Recipe": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/BigOven.Model.API.Recipe"
            }
          },
          "application/x-www-form-urlencoded": {
            "schema": {
              "$ref": "#/components/schemas/BigOven.Model.API.Recipe"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/BigOven.Model.API.Recipe"
            }
          },
          "text/json": {
            "schema": {
              "$ref": "#/components/schemas/BigOven.Model.API.Recipe"
            }
          },
          "text/xml": {
            "schema": {
              "$ref": "#/components/schemas/BigOven.Model.API.Recipe"
            }
          }
        },
        "required": true
      }
    },
    "schemas": {
      "API2.Controllers.WebAPI.GroceryListController.DepartmentModel": {
        "description": "",
        "properties": {
          "items": {
            "description": "Gets or sets the items.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "API2.Controllers.WebAPI.GroceryListController.PostGroceryListAddLineRequest": {
        "description": "",
        "properties": {
          "text": {
            "description": "Gets or sets the text.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "API2.Controllers.WebAPI.GroceryListController.PostGroceryListRecipeRequest": {
        "description": "",
        "properties": {
          "markAsPending": {
            "description": "Gets or sets the mark as pending.",
            "type": "boolean"
          },
          "recipeId": {
            "description": "Gets or sets the recipe identifier.",
            "format": "int32",
            "type": "integer"
          },
          "scale": {
            "description": "Gets or sets the scale.",
            "format": "double",
            "type": "number"
          }
        },
        "type": "object"
      },
      "API2.Controllers.WebAPI.GroceryListController.PostGroceryListSyncRequest": {
        "description": "",
        "properties": {
          "list": {
            "$ref": "#/components/schemas/BigOven.Model.API.Grocery.GroceryList"
          },
          "since": {
            "description": "Gets or sets the since.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "API2.Controllers.WebAPI.GroceryListController.PostToGroceryListRecipeRequest": {
        "description": "",
        "properties": {
          "department": {
            "description": "Gets or sets the department.",
            "type": "string"
          },
          "name": {
            "description": "Gets or sets the name.",
            "type": "string"
          },
          "notes": {
            "description": "Gets or sets the notes.",
            "type": "string"
          },
          "quantity": {
            "description": "Gets or sets the quantity.",
            "type": "string"
          },
          "unit": {
            "description": "Gets or sets the unit.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "API2.Controllers.WebAPI.GroceryListController.UpdateItemByGuidRequest": {
        "description": "",
        "properties": {
          "department": {
            "description": "Gets or sets the department.",
            "type": "string"
          },
          "guid": {
            "description": "Gets or sets the unique identifier.",
            "type": "string"
          },
          "ischecked": {
            "description": "Gets or sets the ischecked.",
            "type": "boolean"
          },
          "name": {
            "description": "Gets or sets the name.",
            "type": "string"
          },
          "notes": {
            "description": "Gets or sets the notes.",
            "type": "string"
          },
          "quantity": {
            "description": "Gets or sets the quantity.",
            "type": "string"
          },
          "unit": {
            "description": "Gets or sets the unit.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "API2.Controllers.WebAPI.ImagesController.RecipePhotosResponse": {
        "description": "",
        "properties": {
          "ResultCount": {
            "description": "Gets or sets the result count.",
            "format": "int32",
            "type": "integer"
          },
          "Results": {
            "description": "Gets or sets the results.",
            "items": {
              "$ref": "#/components/schemas/BigOven.Model.API2.Photo"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "API2.Controllers.WebAPI.MeController.EatingStyle": {
        "description": "",
        "properties": {
          "Options": {
            "description": "Gets or sets the options.",
            "items": {
              "$ref": "#/components/schemas/API2.Controllers.WebAPI.MeController.Option"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "API2.Controllers.WebAPI.MeController.Option": {
        "description": "",
        "properties": {
          "Description": {
            "description": "Gets or sets the description.",
            "type": "string"
          },
          "Key": {
            "description": "Gets or sets the key.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "API2.Controllers.WebAPI.MeController.PreferenceOptions": {
        "description": "",
        "properties": {
          "EatingStyle": {
            "$ref": "#/components/schemas/API2.Controllers.WebAPI.MeController.EatingStyle"
          }
        },
        "type": "object"
      },
      "API2.Controllers.WebAPI.NoteController.NoteRequest": {
        "description": "",
        "properties": {
          "CreationDate": {
            "description": "Gets or sets the creation date.",
            "format": "date-time",
            "type": "string"
          },
          "Date": {
            "description": "Gets or sets the date.",
            "format": "date-time",
            "type": "string"
          },
          "DateDT": {
            "description": "Gets or sets the date dt.",
            "type": "string"
          },
          "GUID": {
            "description": "Gets or sets the unique identifier.",
            "type": "string"
          },
          "ID": {
            "description": "Gets or sets the identifier.",
            "format": "int32",
            "type": "integer"
          },
          "Notes": {
            "description": "Gets or sets the notes.",
            "type": "string"
          },
          "People": {
            "description": "Gets or sets the people.",
            "type": "string"
          },
          "RecipeID": {
            "description": "Gets or sets the recipe identifier.",
            "format": "int32",
            "type": "integer"
          },
          "UserID": {
            "description": "Gets or sets the user identifier.",
            "format": "int32",
            "type": "integer"
          },
          "Variations": {
            "description": "Gets or sets the variations.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "API2.Controllers.WebAPI.ReviewController.PostReplyReq": {
        "description": "Reply request parameters",
        "properties": {
          "Comment": {
            "description": "The comment. If mentioning any user(s) (optional), include them as @username in the text body. Do not use @ symbol for anything but mentioning @usernames.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "API2.Controllers.WebAPI.ReviewController.ReviewRequest": {
        "description": "Payload for reviews",
        "properties": {
          "ActiveMinutes": {
            "description": "How many minutes of ACTIVE time (i.e., actively working on the recipe, not waiting for rising, baking, etc.) did it \r\n            demand of the cook? Optional.",
            "format": "int32",
            "type": "integer"
          },
          "Comment": {
            "description": "The notes",
            "type": "string"
          },
          "MakeAgain": {
            "description": "\"yes\" or \"no\"",
            "type": "string"
          },
          "StarRating": {
            "description": "1, 2, 3, 4, or 5",
            "format": "int32",
            "type": "integer"
          },
          "TotalMinutes": {
            "description": "How long, start to finish, in minutes (integer) did it take? Optional.",
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "API2.Controllers.WebAPI.ReviewController.ReviewRequestLegacy": {
        "description": "Legacy -- This object here is deprecated. Please use the new \"ReviewRequest\" structure for all future development",
        "properties": {
          "ActiveMinutes": {
            "format": "int32",
            "type": "integer"
          },
          "Comment": {
            "type": "string"
          },
          "GUID": {
            "type": "string"
          },
          "MakeAgain": {
            "type": "string"
          },
          "ParentID": {
            "format": "int32",
            "type": "integer"
          },
          "StarRating": {
            "format": "int32",
            "type": "integer"
          },
          "TotalMinutes": {
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "API2.GroceryListDepartmentResult": {
        "description": "",
        "properties": {
          "dept": {
            "description": "Gets or sets the dept.",
            "type": "string"
          },
          "item": {
            "description": "Gets or sets the item.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "API2.Models.Accounting": {
        "description": "",
        "properties": {
          "CreditBalance": {
            "description": "",
            "format": "int32",
            "type": "integer"
          },
          "MemberSince": {
            "description": "",
            "format": "date-time",
            "type": "string"
          },
          "PremiumExpiryDate": {
            "description": "",
            "format": "date-time",
            "type": "string"
          },
          "UserLevel": {
            "description": "",
            "type": "string"
          }
        },
        "type": "object"
      },
      "API2.Models.BigOvenUser": {
        "description": "An API2 wrapper object for a user",
        "properties": {
          "Accounting": {
            "$ref": "#/components/schemas/API2.Models.Accounting"
          },
          "BOAuthToken": {
            "description": "The user-specific authentication token",
            "type": "string"
          },
          "LastChangeLogID": {
            "description": "Last change log",
            "type": "string"
          },
          "Personal": {
            "$ref": "#/components/schemas/API2.Models.Personal"
          },
          "Preferences": {
            "$ref": "#/components/schemas/API2.Models.Preference"
          },
          "Profile": {
            "$ref": "#/components/schemas/API2.Models.Profile"
          }
        },
        "type": "object"
      },
      "API2.Models.Counts": {
        "description": "",
        "properties": {
          "AddedCount": {
            "description": "",
            "format": "int64",
            "type": "integer"
          },
          "FollowersCount": {
            "description": "",
            "format": "int64",
            "type": "integer"
          },
          "FollowingCount": {
            "description": "",
            "format": "int64",
            "type": "integer"
          },
          "PrivateRecipeCount": {
            "description": "",
            "format": "int64",
            "type": "integer"
          },
          "PublicRecipeCount": {
            "description": "",
            "format": "int64",
            "type": "integer"
          },
          "TotalRecipes": {
            "description": "",
            "format": "int64",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "API2.Models.Location": {
        "description": "",
        "properties": {
          "City": {
            "description": "",
            "type": "string"
          },
          "Country": {
            "description": "",
            "type": "string"
          },
          "DMA": {
            "description": "",
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "API2.Models.Personal": {
        "description": "Personal level info -- email, location, etc.",
        "properties": {
          "Email": {
            "description": "",
            "type": "string"
          },
          "Location": {
            "$ref": "#/components/schemas/API2.Models.Location"
          }
        },
        "type": "object"
      },
      "API2.Models.Preference": {
        "description": "",
        "properties": {
          "EatingStyle": {
            "description": "",
            "type": "string"
          }
        },
        "type": "object"
      },
      "API2.Models.Profile": {
        "description": "",
        "properties": {
          "AboutMe": {
            "description": "",
            "type": "string"
          },
          "BackgroundUrl": {
            "description": "",
            "type": "string"
          },
          "Counts": {
            "$ref": "#/components/schemas/API2.Models.Counts"
          },
          "FirstName": {
            "description": "",
            "type": "string"
          },
          "FullName": {
            "description": "",
            "type": "string"
          },
          "HomeUrl": {
            "description": "",
            "type": "string"
          },
          "LastName": {
            "description": "",
            "type": "string"
          },
          "PhotoUrl": {
            "description": "",
            "type": "string"
          },
          "UserID": {
            "description": "",
            "format": "int64",
            "type": "integer"
          },
          "UserName": {
            "description": "",
            "type": "string"
          }
        },
        "type": "object"
      },
      "API2.Models.Recipes.FeedbackDTO": {
        "properties": {
          "feedback": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "API2.Models.Recipes.RecipeResponse": {
        "description": "DTO used to return a recipe with videos",
        "properties": {
          "ActiveMinutes": {
            "format": "int32",
            "type": "integer"
          },
          "AdTags": {
            "type": "string"
          },
          "AdminBoost": {
            "format": "int32",
            "type": "integer"
          },
          "AllCategoriesText": {
            "type": "string"
          },
          "BookmarkImageURL": {
            "type": "string"
          },
          "BookmarkSiteLogo": {
            "type": "string"
          },
          "BookmarkURL": {
            "type": "string"
          },
          "Category": {
            "type": "string"
          },
          "Collection": {
            "type": "string"
          },
          "CollectionID": {
            "format": "int32",
            "type": "integer"
          },
          "CreationDate": {
            "format": "date-time",
            "type": "string"
          },
          "Cuisine": {
            "type": "string"
          },
          "Description": {
            "type": "string"
          },
          "FavoriteCount": {
            "format": "int32",
            "type": "integer"
          },
          "ImageSquares": {
            "items": {
              "format": "int32",
              "type": "integer"
            },
            "type": "array"
          },
          "ImageURL": {
            "type": "string"
          },
          "Ingredients": {
            "items": {
              "$ref": "#/components/schemas/BigOven.Model.API.Ingredient"
            },
            "type": "array"
          },
          "IngredientsTextBlock": {
            "type": "string"
          },
          "Instructions": {
            "type": "string"
          },
          "IsBookmark": {
            "type": "boolean"
          },
          "IsPrivate": {
            "type": "boolean"
          },
          "IsRecipeScan": {
            "type": "boolean"
          },
          "IsSponsored": {
            "type": "boolean"
          },
          "LastModified": {
            "format": "date-time",
            "type": "string"
          },
          "MaxImageSquare": {
            "format": "int32",
            "type": "integer"
          },
          "MedalCount": {
            "format": "int32",
            "type": "integer"
          },
          "MenuCount": {
            "format": "int32",
            "type": "integer"
          },
          "Microcategory": {
            "type": "string"
          },
          "NotesCount": {
            "format": "int32",
            "type": "integer"
          },
          "NutritionInfo": {
            "$ref": "#/components/schemas/BigOven.Model.API.NutritionInfo"
          },
          "PhotoUrl": {
            "type": "string"
          },
          "Poster": {
            "$ref": "#/components/schemas/BigOven.Model.API.UserInfo"
          },
          "PrimaryIngredient": {
            "type": "string"
          },
          "RecipeID": {
            "format": "int32",
            "type": "integer"
          },
          "ReviewCount": {
            "format": "int32",
            "type": "integer"
          },
          "StarRating": {
            "format": "double",
            "type": "number"
          },
          "Steps": {
            "items": {
              "$ref": "#/components/schemas/BigOven.Model.InstructionStep"
            },
            "type": "array"
          },
          "Subcategory": {
            "type": "string"
          },
          "Title": {
            "type": "string"
          },
          "TotalMinutes": {
            "format": "int32",
            "type": "integer"
          },
          "VariantOfRecipeID": {
            "format": "int32",
            "type": "integer"
          },
          "VerifiedByClass": {
            "type": "string"
          },
          "VerifiedDateTime": {
            "format": "date-time",
            "type": "string"
          },
          "Videos": {
            "description": "Gets or sets the recipe videos, i.e. a list of type {API2.Models.Recipes.RecipeVideoResponse}",
            "items": {
              "$ref": "#/components/schemas/API2.Models.Recipes.RecipeVideoResponse"
            },
            "type": "array"
          },
          "WebURL": {
            "type": "string"
          },
          "YieldNumber": {
            "format": "double",
            "type": "number"
          },
          "YieldUnit": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "API2.Models.Recipes.RecipeVideoResponse": {
        "description": "DTO used to return the details of a recipe video",
        "properties": {
          "InsertedOn": {
            "description": "Gets or sets the date the video was added.",
            "format": "date-time",
            "type": "string"
          },
          "IsPrimaryVideo": {
            "description": "Gets or sets a value indicating whether the video is the primary video of the recipe.",
            "type": "boolean"
          },
          "MediaId": {
            "description": "Gets or sets the JWPlayer media id.",
            "type": "string"
          },
          "VidId": {
            "description": "Gets or sets the video id.",
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "API2.Result": {
        "properties": {
          "Data": {
            "$ref": "#/components/schemas/System.Object"
          },
          "Message": {
            "type": "string"
          },
          "StatusCode": {
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "BigOven.Model.API.Grocery.GroceryList": {
        "properties": {
          "Items": {
            "items": {
              "$ref": "#/components/schemas/BigOven.Model.API.Grocery.Item"
            },
            "type": "array"
          },
          "LastModified": {
            "format": "date-time",
            "type": "string"
          },
          "Recipes": {
            "items": {
              "$ref": "#/components/schemas/BigOven.Model.API.RecipeInfo"
            },
            "type": "array"
          },
          "VersionGuid": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "BigOven.Model.API.Grocery.Item": {
        "properties": {
          "BigOvenObject": {
            "type": "string"
          },
          "CreationDate": {
            "format": "date-time",
            "type": "string"
          },
          "Department": {
            "type": "string"
          },
          "DisplayQuantity": {
            "type": "string"
          },
          "GUID": {
            "type": "string"
          },
          "IsChecked": {
            "type": "boolean"
          },
          "ItemID": {
            "format": "int64",
            "type": "integer"
          },
          "LastModified": {
            "format": "date-time",
            "type": "string"
          },
          "LocalStatus": {
            "type": "string"
          },
          "Name": {
            "type": "string"
          },
          "Notes": {
            "type": "string"
          },
          "RecipeID": {
            "format": "int32",
            "type": "integer"
          },
          "ThirdPartyURL": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "BigOven.Model.API.Image": {
        "properties": {
          "Caption": {
            "type": "string"
          },
          "CreationDate": {
            "type": "string"
          },
          "ImageID": {
            "format": "int64",
            "type": "integer"
          },
          "ImageSquares": {
            "items": {
              "format": "int32",
              "type": "integer"
            },
            "type": "array"
          },
          "ImageURL": {
            "type": "string"
          },
          "ImageURL120": {
            "type": "string"
          },
          "ImageURL128": {
            "type": "string"
          },
          "ImageURL200": {
            "type": "string"
          },
          "ImageURL256": {
            "type": "string"
          },
          "ImageURL48": {
            "type": "string"
          },
          "ImageURL64": {
            "type": "string"
          },
          "IsPrimary": {
            "type": "boolean"
          },
          "MaxImageSquare": {
            "format": "int32",
            "type": "integer"
          },
          "Poster": {
            "$ref": "#/components/schemas/BigOven.Model.API.UserInfo"
          }
        },
        "type": "object"
      },
      "BigOven.Model.API.Ingredient": {
        "properties": {
          "DisplayIndex": {
            "format": "int32",
            "type": "integer"
          },
          "DisplayQuantity": {
            "type": "string"
          },
          "HTMLName": {
            "type": "string"
          },
          "IngredientID": {
            "format": "int64",
            "type": "integer"
          },
          "IngredientInfo": {
            "$ref": "#/components/schemas/BigOven.Model.API.IngredientInfo"
          },
          "IsHeading": {
            "type": "boolean"
          },
          "IsLinked": {
            "type": "boolean"
          },
          "MetricDisplayQuantity": {
            "type": "string"
          },
          "MetricQuantity": {
            "format": "double",
            "type": "number"
          },
          "MetricUnit": {
            "type": "string"
          },
          "Name": {
            "type": "string"
          },
          "PreparationNotes": {
            "type": "string"
          },
          "Quantity": {
            "format": "double",
            "type": "number"
          },
          "Unit": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "BigOven.Model.API.IngredientInfo": {
        "properties": {
          "Department": {
            "type": "string"
          },
          "MasterIngredientID": {
            "format": "int32",
            "type": "integer"
          },
          "Name": {
            "type": "string"
          },
          "UsuallyOnHand": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "BigOven.Model.API.NutritionInfo": {
        "properties": {
          "CaloriesFromFat": {
            "format": "double",
            "type": "number"
          },
          "Cholesterol": {
            "format": "double",
            "type": "number"
          },
          "CholesterolPct": {
            "format": "double",
            "type": "number"
          },
          "DietaryFiber": {
            "format": "double",
            "type": "number"
          },
          "DietaryFiberPct": {
            "format": "double",
            "type": "number"
          },
          "MonoFat": {
            "format": "double",
            "type": "number"
          },
          "PolyFat": {
            "format": "double",
            "type": "number"
          },
          "Potassium": {
            "format": "double",
            "type": "number"
          },
          "PotassiumPct": {
            "format": "double",
            "type": "number"
          },
          "Protein": {
            "format": "double",
            "type": "number"
          },
          "ProteinPct": {
            "format": "double",
            "type": "number"
          },
          "SatFat": {
            "format": "double",
            "type": "number"
          },
          "SatFatPct": {
            "format": "double",
            "type": "number"
          },
          "SingularYieldUnit": {
            "type": "string"
          },
          "Sodium": {
            "format": "double",
            "type": "number"
          },
          "SodiumPct": {
            "format": "double",
            "type": "number"
          },
          "Sugar": {
            "format": "double",
            "type": "number"
          },
          "TotalCalories": {
            "format": "double",
            "type": "number"
          },
          "TotalCarbs": {
            "format": "double",
            "type": "number"
          },
          "TotalCarbsPct": {
            "format": "double",
            "type": "number"
          },
          "TotalFat": {
            "format": "double",
            "type": "number"
          },
          "TotalFatPct": {
            "format": "double",
            "type": "number"
          },
          "TransFat": {
            "format": "double",
            "type": "number"
          }
        },
        "type": "object"
      },
      "BigOven.Model.API.Recipe": {
        "properties": {
          "ActiveMinutes": {
            "format": "int32",
            "type": "integer"
          },
          "AdTags": {
            "type": "string"
          },
          "AdminBoost": {
            "format": "int32",
            "type": "integer"
          },
          "AllCategoriesText": {
            "type": "string"
          },
          "BookmarkImageURL": {
            "type": "string"
          },
          "BookmarkSiteLogo": {
            "type": "string"
          },
          "BookmarkURL": {
            "type": "string"
          },
          "Category": {
            "type": "string"
          },
          "Collection": {
            "type": "string"
          },
          "CollectionID": {
            "format": "int32",
            "type": "integer"
          },
          "CreationDate": {
            "format": "date-time",
            "type": "string"
          },
          "Cuisine": {
            "type": "string"
          },
          "Description": {
            "type": "string"
          },
          "FavoriteCount": {
            "format": "int32",
            "type": "integer"
          },
          "HeroPhotoUrl": {
            "type": "string"
          },
          "ImageSquares": {
            "items": {
              "format": "int32",
              "type": "integer"
            },
            "type": "array"
          },
          "ImageURL": {
            "type": "string"
          },
          "Ingredients": {
            "items": {
              "$ref": "#/components/schemas/BigOven.Model.API.Ingredient"
            },
            "type": "array"
          },
          "IngredientsTextBlock": {
            "type": "string"
          },
          "Instructions": {
            "type": "string"
          },
          "IsBookmark": {
            "type": "boolean"
          },
          "IsPrivate": {
            "type": "boolean"
          },
          "IsRecipeScan": {
            "type": "boolean"
          },
          "IsSponsored": {
            "type": "boolean"
          },
          "LastModified": {
            "format": "date-time",
            "type": "string"
          },
          "MaxImageSquare": {
            "format": "int32",
            "type": "integer"
          },
          "MedalCount": {
            "format": "int32",
            "type": "integer"
          },
          "MenuCount": {
            "format": "int32",
            "type": "integer"
          },
          "Microcategory": {
            "type": "string"
          },
          "NotesCount": {
            "format": "int32",
            "type": "integer"
          },
          "NutritionInfo": {
            "$ref": "#/components/schemas/BigOven.Model.API.NutritionInfo"
          },
          "Poster": {
            "$ref": "#/components/schemas/BigOven.Model.API.UserInfo"
          },
          "PrimaryIngredient": {
            "type": "string"
          },
          "RecipeID": {
            "format": "int32",
            "type": "integer"
          },
          "ReviewCount": {
            "format": "int32",
            "type": "integer"
          },
          "StarRating": {
            "format": "double",
            "type": "number"
          },
          "Subcategory": {
            "type": "string"
          },
          "Title": {
            "type": "string"
          },
          "TotalMinutes": {
            "format": "int32",
            "type": "integer"
          },
          "VariantOfRecipeID": {
            "format": "int32",
            "type": "integer"
          },
          "VerifiedByClass": {
            "type": "string"
          },
          "VerifiedDateTime": {
            "format": "date-time",
            "type": "string"
          },
          "WebURL": {
            "type": "string"
          },
          "YieldNumber": {
            "format": "double",
            "type": "number"
          },
          "YieldUnit": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "BigOven.Model.API.RecipeInfo": {
        "properties": {
          "BookmarkURL": {
            "type": "string"
          },
          "Category": {
            "type": "string"
          },
          "CreationDate": {
            "format": "date-time",
            "type": "string"
          },
          "Cuisine": {
            "type": "string"
          },
          "HasVideos": {
            "type": "boolean"
          },
          "HeroPhotoUrl": {
            "type": "string"
          },
          "HideFromPublicSearch": {
            "type": "boolean"
          },
          "ImageURL": {
            "type": "string"
          },
          "ImageURL120": {
            "type": "string"
          },
          "IsBookmark": {
            "type": "boolean"
          },
          "IsPrivate": {
            "type": "boolean"
          },
          "MaxImageSquare": {
            "format": "int32",
            "type": "integer"
          },
          "Microcategory": {
            "type": "string"
          },
          "Poster": {
            "$ref": "#/components/schemas/BigOven.Model.API.UserInfo"
          },
          "QualityScore": {
            "format": "double",
            "type": "number"
          },
          "RecipeID": {
            "format": "int32",
            "type": "integer"
          },
          "ReviewCount": {
            "format": "int32",
            "type": "integer"
          },
          "StarRating": {
            "format": "double",
            "type": "number"
          },
          "StarRatingIMG": {
            "type": "string"
          },
          "Subcategory": {
            "type": "string"
          },
          "Title": {
            "type": "string"
          },
          "TotalTries": {
            "format": "int32",
            "type": "integer"
          },
          "WebURL": {
            "type": "string"
          },
          "YieldNumber": {
            "format": "double",
            "type": "number"
          }
        },
        "type": "object"
      },
      "BigOven.Model.API.RecipeNote": {
        "properties": {
          "CreationDate": {
            "format": "date-time",
            "type": "string"
          },
          "Date": {
            "type": "string"
          },
          "DateDT": {
            "format": "date-time",
            "type": "string"
          },
          "GUID": {
            "type": "string"
          },
          "ID": {
            "format": "int32",
            "type": "integer"
          },
          "Notes": {
            "type": "string"
          },
          "People": {
            "type": "string"
          },
          "RecipeID": {
            "format": "int32",
            "type": "integer"
          },
          "UserID": {
            "format": "int32",
            "type": "integer"
          },
          "Variations": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "BigOven.Model.API.RecipeNoteList": {
        "properties": {
          "ResultCount": {
            "format": "int32",
            "type": "integer"
          },
          "Results": {
            "items": {
              "$ref": "#/components/schemas/BigOven.Model.API.RecipeNote"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "BigOven.Model.API.Reply": {
        "properties": {
          "Comment": {
            "type": "string"
          },
          "CreationDate": {
            "format": "date-time",
            "type": "string"
          },
          "ID": {
            "type": "string"
          },
          "LastModified": {
            "format": "date-time",
            "type": "string"
          },
          "Poster": {
            "$ref": "#/components/schemas/BigOven.Model.API.UserInfoTiny"
          },
          "ReviewID": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "BigOven.Model.API.Review": {
        "properties": {
          "ActiveMinutes": {
            "format": "int32",
            "type": "integer"
          },
          "Comment": {
            "type": "string"
          },
          "CreationDate": {
            "format": "date-time",
            "type": "string"
          },
          "FeaturedReply": {
            "$ref": "#/components/schemas/BigOven.Model.API.Reply"
          },
          "GUID": {
            "type": "string"
          },
          "ID": {
            "type": "string"
          },
          "LastModified": {
            "format": "date-time",
            "type": "string"
          },
          "ParentID": {
            "format": "int64",
            "type": "integer"
          },
          "Poster": {
            "$ref": "#/components/schemas/BigOven.Model.API.UserInfo"
          },
          "Replies": {
            "items": {
              "$ref": "#/components/schemas/BigOven.Model.API.Review"
            },
            "type": "array"
          },
          "ReplyCount": {
            "format": "int32",
            "type": "integer"
          },
          "ReviewID": {
            "format": "int64",
            "type": "integer"
          },
          "StarRating": {
            "format": "double",
            "type": "number"
          },
          "TotalMinutes": {
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "BigOven.Model.API.UserInfo": {
        "properties": {
          "FirstName": {
            "type": "string"
          },
          "ImageUrl48": {
            "type": "string"
          },
          "IsKitchenHelper": {
            "type": "boolean"
          },
          "IsPremium": {
            "type": "boolean"
          },
          "IsUsingRecurly": {
            "type": "boolean"
          },
          "LastName": {
            "type": "string"
          },
          "MemberSince": {
            "format": "date-time",
            "type": "string"
          },
          "PhotoUrl": {
            "type": "string"
          },
          "PhotoUrl48": {
            "readOnly": true,
            "type": "string"
          },
          "PremiumExpiryDate": {
            "format": "date-time",
            "type": "string"
          },
          "UserID": {
            "format": "int32",
            "type": "integer"
          },
          "UserName": {
            "type": "string"
          },
          "WebUrl": {
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "BigOven.Model.API.UserInfoTiny": {
        "properties": {
          "FirstName": {
            "type": "string"
          },
          "LastName": {
            "type": "string"
          },
          "PhotoUrl": {
            "type": "string"
          },
          "UserID": {
            "format": "int32",
            "type": "integer"
          },
          "UserName": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "BigOven.Model.API2.CollectionInfo": {
        "properties": {
          "Description": {
            "type": "string"
          },
          "ID": {
            "format": "int32",
            "type": "integer"
          },
          "IsFiltered": {
            "type": "boolean"
          },
          "IsSponsored": {
            "type": "boolean"
          },
          "MobileUrl": {
            "type": "string"
          },
          "PRO": {
            "type": "boolean"
          },
          "PhotoUrl": {
            "type": "string"
          },
          "Results": {
            "items": {
              "$ref": "#/components/schemas/BigOven.Model.API2.RecipeInfox"
            },
            "type": "array"
          },
          "Title": {
            "type": "string"
          },
          "Token": {
            "type": "string"
          },
          "WebUrl": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "BigOven.Model.API2.GroceryList": {
        "properties": {
          "Items": {
            "items": {
              "$ref": "#/components/schemas/BigOven.Model.API.Grocery.Item"
            },
            "type": "array"
          },
          "LastModified": {
            "format": "date-time",
            "type": "string"
          },
          "Recipes": {
            "items": {
              "$ref": "#/components/schemas/BigOven.Model.API2.RecipeInfox"
            },
            "type": "array"
          },
          "VersionGuid": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "BigOven.Model.API2.Photo": {
        "properties": {
          "Caption": {
            "type": "string"
          },
          "CreationDate": {
            "type": "string"
          },
          "ImageID": {
            "format": "int64",
            "type": "integer"
          },
          "IsPrimary": {
            "type": "boolean"
          },
          "MaxImageSquare": {
            "format": "int32",
            "type": "integer"
          },
          "PhotoUrl": {
            "type": "string"
          },
          "Poster": {
            "$ref": "#/components/schemas/BigOven.Model.API2.UserInfoTinyx"
          }
        },
        "type": "object"
      },
      "BigOven.Model.API2.Recipe": {
        "properties": {
          "ActiveMinutes": {
            "format": "int32",
            "type": "integer"
          },
          "AdTags": {
            "type": "string"
          },
          "AdminBoost": {
            "format": "int32",
            "type": "integer"
          },
          "AllCategoriesText": {
            "type": "string"
          },
          "BookmarkImageURL": {
            "type": "string"
          },
          "BookmarkSiteLogo": {
            "type": "string"
          },
          "BookmarkURL": {
            "type": "string"
          },
          "Category": {
            "type": "string"
          },
          "Collection": {
            "type": "string"
          },
          "CollectionID": {
            "format": "int32",
            "type": "integer"
          },
          "CreationDate": {
            "format": "date-time",
            "type": "string"
          },
          "Cuisine": {
            "type": "string"
          },
          "Description": {
            "type": "string"
          },
          "FavoriteCount": {
            "format": "int32",
            "type": "integer"
          },
          "ImageSquares": {
            "items": {
              "format": "int32",
              "type": "integer"
            },
            "type": "array"
          },
          "ImageURL": {
            "type": "string"
          },
          "Ingredients": {
            "items": {
              "$ref": "#/components/schemas/BigOven.Model.API.Ingredient"
            },
            "type": "array"
          },
          "IngredientsTextBlock": {
            "type": "string"
          },
          "Instructions": {
            "type": "string"
          },
          "IsBookmark": {
            "type": "boolean"
          },
          "IsPrivate": {
            "type": "boolean"
          },
          "IsRecipeScan": {
            "type": "boolean"
          },
          "IsSponsored": {
            "type": "boolean"
          },
          "LastModified": {
            "format": "date-time",
            "type": "string"
          },
          "MaxImageSquare": {
            "format": "int32",
            "type": "integer"
          },
          "MedalCount": {
            "format": "int32",
            "type": "integer"
          },
          "MenuCount": {
            "format": "int32",
            "type": "integer"
          },
          "Microcategory": {
            "type": "string"
          },
          "NotesCount": {
            "format": "int32",
            "type": "integer"
          },
          "NutritionInfo": {
            "$ref": "#/components/schemas/BigOven.Model.API.NutritionInfo"
          },
          "PhotoUrl": {
            "type": "string"
          },
          "Poster": {
            "$ref": "#/components/schemas/BigOven.Model.API.UserInfo"
          },
          "PrimaryIngredient": {
            "type": "string"
          },
          "RecipeID": {
            "format": "int32",
            "type": "integer"
          },
          "ReviewCount": {
            "format": "int32",
            "type": "integer"
          },
          "StarRating": {
            "format": "double",
            "type": "number"
          },
          "Steps": {
            "items": {
              "$ref": "#/components/schemas/BigOven.Model.InstructionStep"
            },
            "type": "array"
          },
          "Subcategory": {
            "type": "string"
          },
          "Title": {
            "type": "string"
          },
          "TotalMinutes": {
            "format": "int32",
            "type": "integer"
          },
          "VariantOfRecipeID": {
            "format": "int32",
            "type": "integer"
          },
          "VerifiedByClass": {
            "type": "string"
          },
          "VerifiedDateTime": {
            "format": "date-time",
            "type": "string"
          },
          "WebURL": {
            "type": "string"
          },
          "YieldNumber": {
            "format": "double",
            "type": "number"
          },
          "YieldUnit": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "BigOven.Model.API2.RecipeInfox": {
        "properties": {
          "Category": {
            "type": "string"
          },
          "CreationDate": {
            "format": "date-time",
            "type": "string"
          },
          "Cuisine": {
            "type": "string"
          },
          "HasVideos": {
            "type": "boolean"
          },
          "IsBookmark": {
            "type": "boolean"
          },
          "IsPrivate": {
            "type": "boolean"
          },
          "IsRecipeScan": {
            "type": "boolean"
          },
          "Microcategory": {
            "type": "string"
          },
          "PhotoUrl": {
            "type": "string"
          },
          "Poster": {
            "$ref": "#/components/schemas/BigOven.Model.API2.UserInfoTinyx"
          },
          "RecipeID": {
            "format": "int32",
            "type": "integer"
          },
          "ReviewCount": {
            "format": "int32",
            "type": "integer"
          },
          "Servings": {
            "format": "double",
            "type": "number"
          },
          "StarRating": {
            "format": "double",
            "type": "number"
          },
          "Subcategory": {
            "type": "string"
          },
          "Title": {
            "type": "string"
          },
          "TotalTries": {
            "format": "int32",
            "type": "integer"
          },
          "WebURL": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "BigOven.Model.API2.RecipeNote": {
        "properties": {
          "CreationDate": {
            "format": "date-time",
            "type": "string"
          },
          "Date": {
            "type": "string"
          },
          "DateDT": {
            "format": "date-time",
            "type": "string"
          },
          "GUID": {
            "type": "string"
          },
          "ID": {
            "format": "int32",
            "type": "integer"
          },
          "Notes": {
            "type": "string"
          },
          "People": {
            "type": "string"
          },
          "RecipeID": {
            "format": "int32",
            "type": "integer"
          },
          "UserID": {
            "format": "int32",
            "type": "integer"
          },
          "Variations": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "BigOven.Model.API2.RecipeSearchResult": {
        "properties": {
          "ResultCount": {
            "format": "int32",
            "type": "integer"
          },
          "Results": {
            "items": {
              "$ref": "#/components/schemas/BigOven.Model.API2.RecipeInfox"
            },
            "type": "array"
          },
          "SpellSuggest": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "BigOven.Model.API2.UserInfoTinyx": {
        "properties": {
          "FirstName": {
            "type": "string"
          },
          "LastName": {
            "type": "string"
          },
          "PhotoUrl": {
            "type": "string"
          },
          "UserID": {
            "format": "int32",
            "type": "integer"
          },
          "UserName": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "BigOven.Model.InstructionStep": {
        "properties": {
          "EndGantt": {
            "format": "int32",
            "type": "integer"
          },
          "StartGantt": {
            "format": "int32",
            "type": "integer"
          },
          "Text": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "BigOven.Model.RecipeCategory": {
        "properties": {
          "Category": {
            "type": "string"
          },
          "DefaultActiveMinutes": {
            "format": "int32",
            "type": "integer"
          },
          "DefaultTotalMinutes": {
            "format": "int32",
            "type": "integer"
          },
          "ID": {
            "format": "int32",
            "type": "integer"
          },
          "ParentID": {
            "format": "int32",
            "type": "integer"
          },
          "PrimaryImage": {
            "type": "string"
          },
          "ShortDescription": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "BigOven.Model.RecipeInfoDateTuple2": {
        "properties": {
          "date": {
            "format": "date-time",
            "type": "string"
          },
          "recipeInfo": {
            "$ref": "#/components/schemas/BigOven.Model.API2.RecipeInfox"
          }
        },
        "type": "object"
      },
      "BigOven.Model.RecipeInfoReviewTuple2": {
        "properties": {
          "RecipeInfo": {
            "$ref": "#/components/schemas/BigOven.Model.API2.RecipeInfox"
          },
          "Review": {
            "$ref": "#/components/schemas/BigOven.Model.API.Review"
          }
        },
        "type": "object"
      },
      "BigOven.Model.RecipeInfoTiny": {
        "properties": {
          "ImageURL": {
            "type": "string"
          },
          "QualityScore": {
            "format": "int32",
            "type": "integer"
          },
          "RecipeID": {
            "format": "int32",
            "type": "integer"
          },
          "Servings": {
            "format": "double",
            "type": "number"
          },
          "Title": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "BigOven.Model.ShoppingListLine": {
        "properties": {
          "DateAdded": {
            "format": "date-time",
            "type": "string"
          },
          "Dept": {
            "type": "string"
          },
          "GUID": {
            "type": "string"
          },
          "HTMLItemName": {
            "type": "string"
          },
          "IsChecked": {
            "type": "boolean"
          },
          "ItemName": {
            "type": "string"
          },
          "LastModified": {
            "format": "date-time",
            "type": "string"
          },
          "ListID": {
            "format": "int64",
            "type": "integer"
          },
          "MealPlanID": {
            "format": "int32",
            "type": "integer"
          },
          "MealPlanObjectType": {
            "format": "int32",
            "type": "integer"
          },
          "Notes": {
            "type": "string"
          },
          "PendingAddition": {
            "type": "boolean"
          },
          "RecipeID": {
            "format": "int32",
            "type": "integer"
          },
          "ShoppingListLineID": {
            "format": "int64",
            "type": "integer"
          },
          "Store": {
            "type": "string"
          },
          "TextAmt": {
            "type": "string"
          },
          "ThirdPartyHost": {
            "type": "string"
          },
          "ThirdPartyTitle": {
            "type": "string"
          },
          "ThirdPartyURL": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "BigOven.Result": {
        "properties": {
          "Data": {
            "$ref": "#/components/schemas/System.Object"
          },
          "Message": {
            "type": "string"
          },
          "StatusCode": {
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "System.Object": {
        "properties": {},
        "type": "object"
      }
    },
    "securitySchemes": {
      "api_key": {
        "description": "Pass your api_key in the header (recommended) or as a URL parameter. For the URL parameter, use api_key. For the header, send it as a header value for: X-BigOven-API-Key",
        "in": "header",
        "name": "X-BigOven-API-Key",
        "type": "apiKey"
      },
      "basic": {
        "description": "Basic HTTP Authentication is used for those endpoint calls where you want to act as a BigOven user -- e.g., to get the list of favorites of a signed-in user, or add items to their grocery list.",
        "scheme": "basic",
        "type": "http"
      }
    }
  }
}