Add Recipes to a Community

This endpoint allows you add a batch of existing recipes in a community.

post
Add Recipes

https://api.whisk.com/community/v2/{community_id}/recipes
You can use the following parameters to add recipes to a particular community:
Request
Response
Request
Path Parameters
community_id
required
string
The community identifier. For example, 39d539c738eb47debfb1a6319d34235a.
Headers
Authentication
required
string
User Access token containing community:write scope to authorize the API usage. For more information, see Authentication.
Body Parameters
body
required
object
A body object contains one or more recipe identifiers representing the recipes to be added to the community. See the Body Object Example below.
Response
200: OK
This is how a successful response looks.
{
"recipes": [
{
"success": {
"recipe": {
"id": "string",
"name": "string",
"description": "string",
"ingredients": [
{
"text": "string",
"group": "string",
"linked_products": [
{
"id": "string",
"name": "string",
"images": [
{
"responsive": {
"url": "string",
"width": 0,
"height": 0,
"selection": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
}
},
"url": "string"
}
],
"description": "string",
"url": "string",
"price": {
"rrp": {
"currency_code": "string",
"cents": "string"
}
},
"gtin": "string",
"brand": {
"raw_name": "string"
}
}
]
}
],
"instructions": {
"steps": [
{
"text": "string",
"images": [
{
"responsive": {
"url": "string",
"width": 0,
"height": 0,
"selection": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
}
},
"url": "string"
}
],
"group": "string",
"intents": [
{
"name": "string",
"options": [
{
"key": "string",
"value": 0,
"unit": "string"
}
]
}
],
"labels": [
{
"name": "string",
"labels": [
{
"name": "string"
}
]
}
],
"instruction_intents": {
"attributes": [
{
"attribute_value": {
"duration": {
"value": {
"range_value": {
"from": 0,
"to": 0
},
"plain_value": 0
},
"unit": "UNIT_INVALID"
},
"temperature": {
"value": {
"range_value": {
"from": 0,
"to": 0
},
"plain_value": 0
},
"unit": "UNIT_INVALID"
}
},
"span": {
"start": 0,
"end": 0
},
"equipment_action": {
"oven": {
"action": "ACTION_INVALID",
"mode": "MODE_INVALID"
}
}
}
]
}
}
]
},
"images": [
{
"responsive": {
"url": "string",
"width": 0,
"height": 0,
"selection": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
}
},
"url": "string"
}
],
"videos": [
{
"content_url": "string",
"embed_url": "string",
"thumbnail": "string"
}
],
"source": {
"name": "string",
"display_name": "string",
"source_recipe_url": "string",
"image": {
"responsive": {
"url": "string",
"width": 0,
"height": 0,
"selection": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
}
},
"url": "string"
},
"license": "LICENCE_INVALID"
},
"servings": 0,
"servings_scaled": 0,
"durations": {
"cook_time": 0,
"prep_time": 0,
"total_time": 0
},
"normalized_ingredients": [
{
"text": "string",
"group": "string",
"analysis": {
"product": {
"canonical_name": "string",
"original_name": "string"
},
"category": {
"canonical_name": "string"
},
"brand": {
"canonical_name": "string"
},
"quantity": 0,
"unit": "string",
"multiplier": 0,
"comment": "string",
"image_url": "string"
},
"source_text": "string",
"labels": [
{
"name": "string",
"labels": [
{
"name": "string"
}
]
}
],
"id": "string"
}
],
"nutrition": {
"status": "STATUS_INVALID",
"total": [
{
"label": "string",
"code": "NUTRITION_CODE_INVALID",
"value": 0,
"unit": "NUTRITION_UNIT_INVALID"
}
],
"coverage": 0,
"labels": [
{
"name": "string",
"display_name": "string"
}
],
"health_score": {
"value": 0,
"nutrients_influence": [
{
"code": "NUTRITION_CODE_INVALID",
"influence": 0,
"comment": "string"
}
]
},
"glycemic_index": {
"value": 0
},
"glycemic_load": {
"value": 0
}
},
"labels": {
"meal_type": [
{
"name": "string",
"display_name": "string"
}
],
"cuisine": [
{
"name": "string",
"display_name": "string"
}
],
"category": [
{
"name": "string",
"display_name": "string"
}
],
"technique": [
{
"name": "string",
"display_name": "string"
}
],
"holiday": [
{
"name": "string",
"display_name": "string"
}
],
"seasonality": [
{
"name": "string",
"display_name": "string"
}
]
},
"constraints": {
"violates": {
"diets": [
"DIET_INVALID"
],
"avoidances": [
"AVOIDANCE_INVALID"
]
}
},
"saved": {
"value": true,
"collection_ids": [
"string"
],
"owner": true,
"recipe_type": "RECIPE_TYPE_INVALID"
},
"author": {
"name": "string",
"image": {
"responsive": {
"url": "string",
"width": 0,
"height": 0,
"selection": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
}
},
"url": "string"
}
},
"language": "string",
"custom_labels": [
{
"name": "string",
"labels": [
{
"name": "string"
}
]
}
]
}
},
"error": "COMMUNITY_RECIPE_ADDITION_ERROR_INVALID"
}
]
}
400: Bad Request
This failed response appears when error codes are found in the endpoint query.
{
"error_code": "REAL_CODES_ARE_IN_ENDPOINT_DESCRIPTION",
"message": "Additional details about error are not static and can be changed"
}
401: Unauthorized
This failed response appears due to API authentication failure. The possible error codes that may appear are: auth.tokenNotFound , auth.tokenExpired, auth.tokenInvalid, auth.tokenRequired.
{
"code": "auth.tokenNotFound"
}
500: Internal Server Error
This failed response appears when something is not right on Whisk's end. Please send a message to [email protected], and be sure to include both the Request and Response data. We’ll get back to you soon.
This is unexpected response, something is wrong on our side, please contact: [email protected]

Request Body Object Example

{
"recipe_ids": [
"101289f373d7690500330adc596629a5556d973830d",
"101772a1db675504ef37b28e918643d571decf6ddb5"
]
}

You can add a list of recipe identifiers in the recipe_ids array to add them to the community.

Sample Request and Response

Curl Request
Response
Curl Request
curl -X POST "https://api.whisk.com/community/v2/39d539c738eb47debfb1a6319d34235a/recipes"
-H "Accept: application/json"
-H "Authorization: Bearer <YOUR-API-ACCESS-KEY>"
-d "{ \"recipe_ids\": [ \"101289f373d7690500330adc596629a5556d973830d\", \"101772a1db675504ef37b28e918643d571decf6ddb5\" ]}"

Whisk allows you to discover and understand its API capabilities on the Swagger interface with the ability to try out the API calls directly in your browser. You can call this endpoint here.

Response
{
"recipes": [
{
"success": {
"recipe": {
"id": "101289f373d7690500330adc596629a5556d973830d",
"name": "Chocolate Coffee Avocado Pudding",
"description": "Creamy, whipped and airy pudding made with ripe avocados that will please any chocolate lover with healthy ingredients! Delicious and easy, it takes 5 minutes and your pudding is ready!",
"ingredients": [
...
],
"images": [
...
],
"videos": [
...
],
"source": {
...
},
"servings": 4,
"durations": {
...
},
"labels": {
...
},
"constraints": {
...
},
"author": {
"name": "Lama"
},
"language": "en"
}
}
},
{
"success": {
"recipe": {
"id": "101772a1db675504ef37b28e918643d571decf6ddb5",
"name": "Apple bundt cake with cake mix",
"description": "This Fresh apple cake recipe is the perfect fall treat! Tender, moist, and deliciously spiced with cinnamon and cardamom, it's a wonderfully decadent dessert for the whole family.",
"ingredients": [
...
],
"images": [
...
],
"videos": [
...
],
"source": {
...
},
"servings": 10,
"durations": {
...
},
"labels": {
...
},
"constraints": {
...
},
"author": {
"name": "Jeehan"
},
"language": "en"
}
}
}
]
}

To understand the data structure of a recipe definition, see Recipe Object.