@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api 1,000,000+ Recipe and Grocery List API (v2)
@base https://api2.bigoven.com
@version partner
@auth basic | ApiKey X-BigOven-API-Key in header
@endpoints 66
@hint download_for_search
@toc collection(2), collections(1), grocerylist(10), recipe(39), image(1), me(7), recipes(6)

@group collection
@endpoint GET /collection/{id}
@required {id: any}
@optional {rpp: any, pg: any, test: any, sessionForLogging: any}
@returns(200)

@endpoint GET /collection/{id}/meta
@required {id: any}
@returns(200)

@endgroup

@group collections
@endpoint GET /collections
@optional {test: any}
@returns(200)

@endgroup

@group grocerylist
@endpoint POST /grocerylist/department
@required {model: map}
@returns(200)

@endpoint GET /grocerylist
@returns(200)

@endpoint DELETE /grocerylist
@returns(200)

@endpoint POST /grocerylist/recipe
@required {data: map}
@returns(200)

@endpoint POST /grocerylist/line
@required {newItem: map}
@returns(200)

@endpoint POST /grocerylist/item
@required {newItem: map}
@returns(200)

@endpoint POST /grocerylist/sync
@required {req: map}
@returns(200)

@endpoint PUT /grocerylist/item/{guid}
@required {req: map, guid: any}
@returns(200)

@endpoint DELETE /grocerylist/item/{guid}
@required {guid: any}
@returns(200)

@endpoint POST /grocerylist/clearcheckedlines
@returns(200)

@endgroup

@group recipe
@endpoint GET /recipe/{recipeId}/images
@required {recipeId: any}
@returns(200)

@endpoint GET /recipe/photos/pending
@returns(200)

@endpoint GET /recipe/{recipeId}/photos
@required {recipeId: any}
@optional {pg: any, rpp: any}
@returns(200)

@endpoint GET /recipe/{recipeId}/scans
@required {recipeId: any}
@returns(200)

@endpoint POST /recipe/{recipeId}/image
@required {recipeId: any}
@optional {caption: any, lat: any, lng: any}
@returns(200)
@errors {400, 401, 415}

@endgroup

@group image
@endpoint POST /image/avatar
@returns(200)
@errors {400, 401, 415}

@endgroup

@group me
@endpoint GET /me
@returns(200)

@endpoint PUT /me
@required {req: map}
@returns(200)

@endpoint GET /me/skinny
@returns(200)

@endpoint GET /me/preferences/options
@returns(200)

@endpoint PUT /me/profile
@required {req: map}
@returns(200)

@endpoint PUT /me/personal
@required {req: map}
@returns(200)

@endpoint PUT /me/preferences
@required {req: map}
@returns(200)

@endgroup

@group recipe
@endpoint GET /recipe/{recipeId}/note/{noteId}
@required {recipeId: any, noteId: any}
@returns(200)

@endpoint PUT /recipe/{recipeId}/note/{noteId}
@required {recipeId: any, noteId: any, recipeNote: map}
@returns(200)

@endpoint DELETE /recipe/{recipeId}/note/{noteId}
@required {recipeId: any, noteId: any}
@returns(200)

@endpoint GET /recipe/{recipeId}/notes
@required {recipeId: any}
@optional {pg: any, rpp: any}
@returns(200)

@endpoint POST /recipe/{recipeId}/note
@required {recipeId: any, note: map}
@returns(200)

@endgroup

@group recipes
@endpoint GET /recipes/raves
@optional {pg: any, rpp: any}
@returns(200)

@endgroup

@group recipe
@endpoint GET /recipe/{id}/zap
@required {id: any}
@returns(200)

@endpoint GET /recipe/{id}
@required {id: any}
@optional {prefetch: any}
@returns(200)

@endpoint DELETE /recipe/{id}
@required {id: any}
@optional {Authorization: any}
@returns(200)
@errors {401, 403}

@endgroup

@group recipes
@endpoint GET /recipes/{id}
@required {id: any}
@optional {prefetch: any, includeInstructions: any, Authorization: any}
@returns(200)
@errors {400, 403, 404, 500}

@endgroup

@group recipe
@endpoint GET /recipe/steps/{id}
@required {id: any}
@optional {prefetch: any}
@returns(200)

@endpoint POST /recipe/post/step
@required {userName: any, recipeId: any, stepId: any}
@returns(200)

@endpoint POST /recipe/get/step/number
@required {userName: any, recipeId: any}
@returns(200)

@endpoint GET /recipe/get/active/recipe
@required {userName: any}
@returns(200)

@endpoint POST /recipe/get/saved/step
@required {userName: any, recipeId: any, stepId: any}
@returns(200)

@endpoint GET /recipe/{recipeId}/related
@required {recipeId: any}
@optional {pg: any, rpp: any}
@returns(200)

@endpoint POST /recipe/{recipeId}/feedback
@required {recipeId: any, data: map}
@returns(200)

@endgroup

@group recipes
@endpoint GET /recipes/random
@returns(200)

@endpoint GET /recipes/top25random
@optional {any_kw: any, folder: any, coll: any, filter: any, title_kw: any, userId: any, username: any, token: any, photos: any, boostmine: any, include_cat: any, exclude_cat: any, include_primarycat: any, exclude_primarycat: any, include_ing: any, exclude_ing: any, cuisine: any, db: any, userset: any, servingsMin: any, totalMins: any, maxIngredients: any, minIngredients: any, vtn: any, vgn: any, chs: any, glf: any, ntf: any, dyf: any, sff: any, slf: any, tnf: any, wmf: any, rmf: any, cps: any, champion: any, synonyms: any}
@returns(200)

@endpoint GET /recipes
@optional {any_kw: any, folder: any, coll: any, filter: any, title_kw: any, userId: any, username: any, token: any, photos: any, boostmine: any, include_cat: any, exclude_cat: any, include_primarycat: any, exclude_primarycat: any, include_ing: any, exclude_ing: any, cuisine: any, db: any, userset: any, servingsMin: any, totalMins: any, maxIngredients: any, minIngredients: any, rpp: any, pg: any, vtn: any, vgn: any, chs: any, glf: any, ntf: any, dyf: any, sff: any, slf: any, tnf: any, wmf: any, rmf: any, cps: any, champion: any, synonyms: any}
@returns(200)

@endgroup

@group recipe
@endpoint GET /recipe/categories
@returns(200)

@endpoint GET /recipe/autocomplete
@required {query: any}
@optional {limit: any}
@returns(200)

@endpoint GET /recipe/autocomplete/mine
@required {query: any, limit: any}
@returns(200)

@endpoint GET /recipe/autocomplete/all
@required {query: any, limit: any}
@returns(200)

@endpoint POST /recipe/scan
@optional {test: any, devicetype: any, lat: any, lng: any}
@errors {401, 402, 415, 500}

@endpoint PUT /recipe
@required {recipe: map}
@returns(200)

@endpoint POST /recipe
@required {recipe: map}
@returns(200)

@endgroup

@group recipes
@endpoint GET /recipes/recentviews
@optional {pg: any, rpp: any}
@returns(200)

@endgroup

@group recipe
@endpoint GET /recipe/{recipeId}/review/{reviewId}
@required {reviewId: any, recipeId: any}
@returns(200)

@endpoint PUT /recipe/{recipeId}/review/{reviewId}
@required {reviewId: any, review: map, recipeId: any}
@returns(200)

@endpoint DELETE /recipe/{recipeId}/review/{reviewId}
@required {recipeId: any, reviewId: any}
@returns(200)

@endpoint GET /recipe/review/{reviewId}
@required {reviewId: any}
@returns(200)

@endpoint PUT /recipe/review/{reviewId}
@required {reviewId: any, review: map}
@returns(200)

@endpoint GET /recipe/{recipeId}/review
@required {recipeId: any}
@returns(200)

@endpoint POST /recipe/{recipeId}/review
@required {recipeId: any, data: map}
@returns(200)

@endpoint GET /recipe/{recipeId}/reviews
@required {recipeId: any}
@optional {pg: any, rpp: any}
@returns(200)

@endpoint GET /recipe/review/{reviewId}/replies
@required {reviewId: any}
@optional {pg: any, rpp: any}
@returns(200)

@endpoint POST /recipe/review/{reviewId}/replies
@required {reviewId: any, data: map}
@returns(200)

@endpoint PUT /recipe/review/replies/{replyId}
@required {replyId: any, data: map}
@returns(200)

@endpoint DELETE /recipe/review/replies/{replyId}
@required {replyId: any}
@returns(200)

@endgroup

@end
