BigOven Review API

The Review API from BigOven — 6 operation(s) for review.

OpenAPI Specification

bigoven-review-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 Review 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: Review
paths:
  /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/{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
components:
  schemas:
    BigOven.Model.API.UserInfoTiny:
      properties:
        FirstName:
          type: string
        LastName:
          type: string
        PhotoUrl:
          type: string
        UserID:
          format: int32
          type: integer
        UserName:
          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
    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.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
    System.Object:
      properties: {}
      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.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
    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
  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
  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