BigOven GroceryList API

The GroceryList API from BigOven — 8 operation(s) for grocerylist.

OpenAPI Specification

bigoven-grocerylist-api-openapi.yml Raw ↑
openapi: 3.0.0
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) Collection GroceryList API
  version: partner
  x-apiClientRegistration:
    url: http://api2.bigoven.com/web/console
  x-logo:
    url: https://twitter.com/bigoven/profile_image?size=original
  x-origin:
  - format: openapi
    url: http://api2.bigoven.com/swagger/docs/partner
    version: '3.0'
  x-providerName: bigoven.com
servers:
- url: https://api2.bigoven.com
tags:
- name: GroceryList
paths:
  /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
components:
  schemas:
    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.API2.UserInfoTinyx:
      properties:
        FirstName:
          type: string
        LastName:
          type: string
        PhotoUrl:
          type: string
        UserID:
          format: int32
          type: integer
        UserName:
          type: string
      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
    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.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.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
    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.PostGroceryListAddLineRequest:
      description: ''
      properties:
        text:
          description: Gets or sets the text.
          type: string
      type: object
    System.Object:
      properties: {}
      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.GroceryListDepartmentResult:
      description: ''
      properties:
        dept:
          description: Gets or sets the dept.
          type: string
        item:
          description: Gets or sets the item.
          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.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
    API2.Controllers.WebAPI.GroceryListController.DepartmentModel:
      description: ''
      properties:
        items:
          description: Gets or sets the items.
          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
    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
  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
externalDocs:
  url: http://api2.bigoven.com/web/documentation