Links

Community

The Community API service offers you the ability to discover, search, and retrieve communities related to recipe content that exist on Whisk.
Let's first understand the Community object and its data structure before looking at its endpoints’ description.

Community Object

A Community object is a collection of arrays and attributes that defines the data structure for any given community.
This is how the data structure of a community looks:
{
"community": {
"id": "39d539c738eb47debfb1a6319d34235a",
"name": "WAPID Community",
"image": {
...
},
"description": "Food and fun with WAPID!",
"topics": [
{
"id": "914d167bb1754adbbcd1f085cdcc4f6c",
"display_name": "Family Friendly"
}
],
"social_settings": {
"website_url": "https://wapid.com/",
"instagram_username": "wapid",
"youtube_channel_url": "https://www.youtube.com/channel/WAPID",
"tiktok_username": "wapid"
},
"permissions": {
"role": "COMMUNITY_ROLE_OWNER",
"mode": "COMMUNITY_CONTRIBUTION_PERMISSION_MODE_ANYONE",
"visibility": "COMMUNITY_VISIBILITY_PUBLIC"
},
"members": {
"count": 1
},
"recipes": {
"count": 2
},
"is_sponsored": true
}
}

Core Data

The following attributes define the core of a community:
Attribute
Type
Description
id
string
The community identifier.
name
string
The full name of the community.
image
object
The community's cover image details.

Image

The image object contains the following attributes that store details of the cover image added in the community.
"image": {
"url": "https://whisk-res.cloudinary.com/image/upload/v1611066523/v3/user-recipes/nfaul13bavzqyiirk0sl.jpg",
"width": 1280,
"height": 854
"selection": {
"x": 0,
"y": 88,
"width": 422,
"height": 767
}
},
Attribute
Type
Description
url
string
The cover image URL.
width
string
Image width.
height
string
Image height.
selection
object
It contains the x and y coordinates and the actual size of the cover image on display.

Optional Data

The community data structure may include extra information based on any additional parameters included in the API request.
Attribute
Type
Description
description
string
A summary describing the community.
topics
array
A list of topics that include the community. For more information, see topics.
social_settings
object
It contains the community's account on various social platforms like Facebook, Instagram, etc. For more information, see social settings.
permissions
object
It contains the different permissions configured for the community. For more information, see permissions.
members
object
It contains the count of members in the community.
recipes
object
It contains the count of recipes added to the community.
is_sponsored
boolean
Indicates if the community is commercially sponsored or not.

Topics

Topics are categories that appear on the home page of your Whisk app or website like - Featured Communities, 30 Minutes Meals, Quick and Healthy, etc. Each community is assigned a category at the time of its creation, and later we may also add it to the Featured Communities topic if we like it. The topics array contains a list of such topics that include the community.
"topics": [
{
"id": "914d167bb1754adbbcd1f085cdcc4f6c",
"display_name": "Family Friendly"
},
{
"id": "69f7f66c4c774fcf90ba4d5762f06517",
"display_name": "Featured Communities"
}
],
Each topic contains the following attributes:
Attribute
Type
Description
id
string
The topic identifier.
display_name
string
Topic's name as it appears on the Whisk website or app.

Social Settings

This object contains details on the community's presence on different social platforms.
"social_settings": {
"website_url": "https://wapid.com/",
"instagram_username": "@wapid",
"youtube_channel_url": "https://www.youtube.com/channel/WAPID",
"tiktok_username": "@wapid"
},
Attribute
Type
Description
website_url
string
The community's website.
instagram_username
string
The community's Instagram username.
youtube_channel_url
string
The community channel on Youtube.
tiktok_username
string
The community's TikTok username.

Permissions

This object contains information on your role in the community and other details like the community's general visibility and contribution scope.
"permissions": {
"role": "COMMUNITY_ROLE_OWNER",
"mode": "COMMUNITY_CONTRIBUTION_PERMISSION_MODE_ANYONE",
"visibility": "COMMUNITY_VISIBILITY_PUBLIC"
},
Attribute
Type
Description
Supported Values
role
enum
Indicates your role in the community.
  • COMMUNITY_ROLE_INVALID
  • COMMUNITY_ROLE_UNSET
  • COMMUNITY_ROLE_OWNER
  • COMMUNITY_ROLE_ADMIN
  • COMMUNITY_ROLE_MEMBER
  • COMMUNITY_ROLE_BLOCKED
  • COMMUNITY_ROLE_PENDING
mode
enum
Indicates the contribution mode configured for the community. By default, it is set to Anyone.
  • COMMUNITY_CONTRIBUTION_PERMISSION_MODE_INVALID
  • COMMUNITY_CONTRIBUTION_PERMISSION_MODE_ANYONE
  • COMMUNITY_CONTRIBUTION_PERMISSION_MODE_ADMINS
visibility
enum
Indicates the community's visibility on the Whisk's website or app. By default, it is set to Public.
  • COMMUNITY_VISIBILITY_INVALID
  • COMMUNITY_VISIBILITY_PUBLIC
  • COMMUNITY_VISIBILITY_PRIVATE

Endpoints

Community API includes the following endpoints that you can use to pull, discover or search communities and their details.