Greetings
Welcome to the Braindate API ! This API is meant to grant our partners apps the opportunity to interact with our Braindate platform and enhance our common end-users experience. This document will show you how to push data into our system and how to receive real time notifications such as Braindate creations, Braindate cancellations, new topics, new users, etc...
For clarity, the terminology as described below will be used :
- The term 'event' refers to a social gathering or show
- The term 'user' refers to an account in our system
- The term 'membership' refers to the subscription of a user to an event
- The term 'unavailability item' refers to an item in the user's agenda
- The term 'hook event' refers to something happening in our system
- The term 'payload' refers to the data sent along a POST request
For any question, comment, enquiry or new feature request, our project manager will be pleased to respond at : techsupport@e-180.com
Push your data, pull our data
Braindate API sections:
- Authentication
- User objects
- Membership objects
- Topic objects
- Braindate objects
- Unavailability item objects
Environments
We have two environments :
- The staging environment https://api.staging.braindate.com, where you will assert your integration is working in coordination with our QA team
- The production environment https://api.braindate.com
Authentication
First of all, you need an account in our system. If you don't have one already, please contact our project manager at : techsupport@e-180.com.
Once you have an account, the /login/ endpoint will provide you a token in exchange to your credentials.
Sample Header
{
"Authorization": "Token 4bee5529a75e4c12f9a11c3bf077c7b6cfed67b2"
}
Add this token to the Authorize header of your future requests as the other endpoints need to authenticate you.
Login
POST {environment-url}/login/
This endpoint allows you to create a user token valid for 30 days.
Sample payload
{
"username": "my_username",
"password": "my_password"
}
- Payload :
Field key | Type | What goes in | Required |
---|---|---|---|
username | String | User's username | True |
password | String | User's password | True |
Sample response (200)
{
"user": {...},
"token": "4bee5529a75e4c12f9a11c3bf077c7b6cfed67b2",
}
- Response :
Most relevant fields to consider in the response data:
Status code:
200 - OK
400 - Bad Request
Field key | Type | What goes in |
---|---|---|
token | String | Authentication token |
user | Object | User object data |
Logout
POST {environment-url}/logout/
This endpoint invalidates your authentication token.
- Response :
Status code:
204 - No content
Refresh token
POST {environment-url}/refresh-token/
This endpoint allows you to invalidate the current user token and create a new user token valid for 30 days.
Sample response (200)
{
"token": "4bee5529a75e4c12f9a11c3bf077c7b6cfed67b2"
}
- Response :
Most relevant fields to consider in the response data:
Status code:
200 - OK
401 - Unauthorized
Field key | Type | What goes in |
---|---|---|
token | String | Authentication token |
User objects
This is an object representing a User. It contains all relevant user profile information such as: first name, last name, email, etc.
A User refers to an account in our system.
Create a user
POST {environment-url}/users/
This endpoint allows you to create a User object. The username must be unique.
User object creation will return a url
which will be used to create a membership object.
Sample payload
{
"first_name": "John",
"last_name": "Doe",
"username": "jd@example.com",
"avatar": "https://picsum.photos/200",
"language": "en",
"body": {
"en": {
"position": "artist",
"company": "my company",
"description": "Dog fanatic",
"roles": "Sticker collector and actor",
"excited_about": "learning how technology can impact sustainability",
"preferred_braindates": "talk about the environment, food and fashion",
"dream_braindate": "Werner Herzog, Simone de Beauvoir, MLK, Yvon Chouinard, Michael Pollan",
"pronouns": "he/him",
"love_talking_about": ["Technology"],
"want_to_learn": ["AI"],
"knowledgeable_about": ["Eastern cuisine"]
}
}
}
- Payload :
Field key | Type | What goes in | Required |
---|---|---|---|
username | String | The unique user identifier | True |
first_name | String | The first name | False |
last_name | String | The last name | False |
language | String | Language code (Default: 'en') | False |
avatar | String | A link to the user's profile picture | False |
body | Object | It is a set of data with language codes as keys and the translated fields as values (It is required to have a language as a key but the value can be left as an empty dictionary). | True |
User translated fields:
Field key | Type | What goes in | Required |
---|---|---|---|
position | String | The user's positions | False |
company | String | The user current company name | False |
description | String | A description a the user | False |
roles | String | Things the user do or is aside work | False |
excited_about | String | What the user is excited about | False |
preferred_braindates | String | The kind of people or topic the user prefers | False |
dream_braindate | String | The person the user would dream to braindate | False |
pronouns | String | The user's preferred pronouns | False |
love_talking_about | List[String] | A list of interests the user likes to talk about | False |
want_to_learn | List[String] | A list of interests the user likes to learn more about | False |
knowledgeable_about | List[String] | A list of topics the user is well versed in | False |
Sample response (201)
{
"id": 28844,
"url": "https://api.staging.braindate.com/users/28844/",
"urls": {
"bookmark": "https://api.staging.braindate.com/users/28844/bookmark/"
},
"path": "/users/28844/",
"avatar": "core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"first_name": "John",
"last_name": "Doe",
"body": {
"en": {
"position": "artist",
"company": "my company",
"description": "Dog fanatic",
"roles": "Sticker collector and actor",
"excited_about": "learning how technology can impact sustainability",
"preferred_braindates": "talk about the environment, food and fashion",
"dream_braindate": "Werner Herzog, Simone de Beauvoir, MLK, Yvon Chouinard, Michael Pollan",
"pronouns": "he/him",
"love_talking_about": [
{
"label": "technology"
}
],
"want_to_learn": [
{
"label": "ai"
}
],
"knowledgeable_about": [
{
"label": "eastern cuisine"
}
]
}
},
"locations": [],
"timezone": null,
"preferred_meeting_spot": "",
"is_connected": false,
"is_me": false,
"guidance_flags": {},
"external_id": null,
"username": "jd@example.com",
"language": "en",
"languages": [],
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"
}
- Response :
Most relevant fields to consider in the response data:
Status code:
200 - OK
Existing User found with given username. No changes will be made
201 - Created
New User created with given username
400 - Bad Request
Field key | Type | What goes in |
---|---|---|
id | String | The user technical identifier |
url | String | The backend user url, we use it as an identifier as well |
urls | Object[String] | Container of other useful URLs |
path | String | URL path of the user object |
avatar | String | User avatar url link |
first name | String | User first name |
last name | String | User last name |
body | Object | Translated fields container. It is a set of data with language codes as keys and the translated fields sets as values |
locations | List[Object] | List of location information |
timezone | String | Users' preferred timezone |
preferred_meeting_spot | String | User preferred meeting spot |
is_connected | Boolean | Is the user online |
is_me | Boolean | Is current user the queried result user |
username | String | The unique user identifier |
language | String | Language code of the users preferred language (default "en") |
language | String | Language code of the users preferred language (default "en") |
languages | List[String] | List of available language code for the user |
token | String | User login token |
User translated fields:
Field key | Type | What goes in | Required |
---|---|---|---|
position | String | The user's positions | False |
company | String | The user current company name | False |
description | String | A description a the user | False |
roles | String | Things the user do or is aside work | False |
excited_about | String | What the user is excited about | False |
preferred_braindates | String | The kind of people or topic the user prefers | False |
dream_braindate | String | The person the user would dream to braindate | False |
pronouns | String | The user's preferred pronouns | False |
love_talking_about | List[String] | A list of interests the user likes to talk about | False |
want_to_learn | List[String] | A list of interests the user likes to learn more about | False |
knowledgeable_about | List[String] | A list of topics the user is well versed in | False |
Get a user
GET {environment-url}/users/{user-id}/
This endpoint allows you to retrieve a unique User object.
- Path parameters :
Field key | Type | What goes in | Required |
---|---|---|---|
user-id | Integer | User ID | True |
- Query parameters :
Field key | Type | What goes in | Required |
---|---|---|---|
light | Boolean | Provides a light version of the data | False |
Sample response (200)
{
"id": 28844,
"url": "https://api.staging.braindate.com/users/28844/",
"urls": {
"bookmark": "https://api.staging.braindate.com/users/28844/bookmark/"
},
"avatar": {
"original": "https://api-media.staging.braindate.com/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"original_url": "https://picsum.photos/200",
"30x30": "https://thumbor.staging.braindate.com/30x30/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"webp": {
"30x30": "https://thumbor.staging.braindate.com/30x30/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg"
}
},
"first_name": "John",
"last_name": "Doe",
"username": "jd@example.com",
"body": {
"en": {
"position": "artist",
"company": "my company",
"description": "Dog fanatic",
"roles": "Sticker collector and actor",
"excited_about": "learning how technology can impact sustainability",
"preferred_braindates": "talk about the environment, food and fashion",
"dream_braindate": "Werner Herzog, Simone de Beauvoir, MLK, Yvon Chouinard, Michael Pollan",
"pronouns": "he/him",
"love_talking_about": [
{
"label": "technology"
}
],
"want_to_learn": [
{
"label": "ai"
}
],
"knowledgeable_about": [
{
"label": "eastern cuisine"
}
]
}
},
"links": {},
"language": "en",
"languages": [],
"flags": {},
"path": "/users/28844/",
"is_connected": false,
"is_me": false,
"statistics": {
"topics_created_count": 0,
"topics_active_count": 0,
"bookmarked_topics_count": 0,
"braindates_count": 0,
"one_on_one_count": 0,
"groups_count": 0,
"fishbowls_count": 0,
"invitations_received_count": 0,
"invitations_sent_count": 0,
"booking_rate": {
"count": 0,
"total": 0,
"rate": 0.0
},
"response_time": 0,
"response_rate": {
"count": 0,
"total": 0,
"rate": 0.0
},
"views_count": 0,
"pending_actions_count": 0,
"profile_completion": 0
},
"permalink": "https://staging.braindate.com/users/28844/",
"bookmarked": false,
"timezone": null,
"locations": [],
"preferred_meeting_spot": ""
}
- Response :
Most relevant fields to consider in the response data:
Status code:
200 - OK
404 - Not Found
Field key | Type | What goes in |
---|---|---|
id | Integer | The user technical identifier |
url | String | The backend user url, we use it as an identifier as well |
urls | Object[String] | The backend url related to the user. Available key: bookmark |
avatar | Object[String] | User avatar url link in various formats. Available keys: original , 30x30 , 50x50 , 75x75 , 210x120 , 150x150 , 30x30 |
username | String | The unique user identifier |
first_name | String | The first name |
last_name | String | The last name |
body | Object | Translated fields container. It is a set of data with language codes as keys and the translated fields sets as values |
links | Object[String] | The users' social links. Available keys: facebook , github , linkedin , twitter , website |
language | String | Language code of the users preferred language (default "en") |
languages | List[String] | List of available language code for the user |
flags | Object[Boolean] | User behaviour markers |
path | String | The relative URL of the user |
is_connected | Boolean | Is the user online |
is_me | Boolean | Is current user the queried result user |
statistics | Object[String] | User statistics |
permalink | String | The user permalink |
bookmarked | Boolean | Is user profile bookmarked |
timezone | String | Users' preferred timezone |
locations | List[Object] | List of location information |
preferred_meeting_spot | String | User preferred meeting spot |
User translated fields:
Field key | Type | What goes in |
---|---|---|
position | String | The user's positions |
company | String | The user current company name |
description | String | A description a the user |
roles | String | Things the user do or is aside work |
excited_about | String | What the user is excited about |
preferred_braindates | String | The kind of people or topic the user prefers |
dream_braindate | String | The person the user would dream to braindate |
pronouns | String | The user's preferred pronouns |
love_talking_about | List[String] | A list of interests the user likes to talk about |
want_to_learn | List[String] | A list of interests the user likes to learn more about |
knowledgeable_about | List[String] | A list of topics the user is well versed in |
List users
GET {environment-url}/users/
This endpoint allows you to retrieve a list of User objects.
- Query parameters:
Field key | Type | What goes in | Required |
---|---|---|---|
event | String/Comma-separated list | Event ID(s) to include (Example: event=1,2,4 ) or exclude (Example: event=-3 ) from the query |
False |
topics_count | Integer | Minimum number of topics required per user | False |
show_statistics | Boolean | If not set, the statistics won't be computed when querying the list |
False |
Sample response (200)
{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"id": 28844,
"url": "https://api.staging.braindate.com/users/28844/",
"urls": {
"bookmark": "https://api.staging.braindate.com/users/28844/bookmark/"
},
"avatar": {
"original": "https://api-media.staging.braindate.com/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"original_url": "https://picsum.photos/200",
"30x30": "https://thumbor.staging.braindate.com/30x30/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"webp": {
"30x30": "https://thumbor.staging.braindate.com/30x30/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg"
}
},
"first_name": "John",
"last_name": "Doe",
"username": "jd@example.com",
"body": {
"en": {
"position": "artist",
"company": "my company",
"description": "Dog fanatic",
"roles": "Sticker collector and actor",
"excited_about": "learning how technology can impact sustainability",
"preferred_braindates": "talk about the environment, food and fashion",
"dream_braindate": "Werner Herzog, Simone de Beauvoir, MLK, Yvon Chouinard, Michael Pollan",
"pronouns": "he/him",
"love_talking_about": [
{
"label": "technology"
}
],
"want_to_learn": [
{
"label": "ai"
}
],
"knowledgeable_about": [
{
"label": "eastern cuisine"
}
]
}
},
"links": {},
"language": "en",
"languages": [],
"flags": {},
"path": "/users/28844/",
"is_connected": false,
"is_me": false,
"statistics": null,
"permalink": "https://apidocs.staging.braindate.com/users/28844/",
"bookmarked": false,
"timezone": null,
"locations": [],
"preferred_meeting_spot": ""
},
{...}
]
}
- Response :
Most relevant fields to consider in the response data:
Status code:
200 - OK
Field key | Type | What goes in |
---|---|---|
count | Integer | Number of instances found |
next | String | URL query for the next 50 entries |
previous | String | URL query for the previous 50 entries |
results | List[Object] | List of User objects |
User object fields:
Field key | Type | What goes in |
---|---|---|
id | Integer | The user technical identifier |
url | String | The backend user url, we use it as an identifier as well |
urls | Object[String] | The backend url related to the user. Available key: bookmark |
avatar | Object[String] | User avatar url link in various formats. Available keys: original , 30x30 , 50x50 , 75x75 , 210x120 , 150x150 , 30x30 |
username | String | The unique user identifier |
first_name | String | The first name |
last_name | String | The last name |
body | Object | Translated fields container. It is a set of data with language codes as keys and the translated fields sets as values |
links | Object[String] | The users' social links. Available keys: facebook , github , linkedin , twitter , website |
language | String | Language code of the users preferred language (default "en") |
languages | List[String] | List of available language code for the user |
flags | Object[Boolean] | User behaviour markers |
path | String | The relative URL of the user |
is_connected | Boolean | Is the user online |
is_me | Boolean | Is current user the queried result user |
statistics | Object[String] | User statistics |
permalink | String | The user permalink |
bookmarked | Boolean | Is user profile bookmarked |
timezone | String | Users' preferred timezone |
locations | List[Object] | List of location information |
preferred_meeting_spot | String | User preferred meeting spot |
User translated fields:
Field key | Type | What goes in |
---|---|---|
position | String | The user's positions |
company | String | The user current company name |
description | String | A description a the user |
roles | String | Things the user do or is aside work |
excited_about | String | What the user is excited about |
preferred_braindates | String | The kind of people or topic the user prefers |
dream_braindate | String | The person the user would dream to braindate |
pronouns | String | The user's preferred pronouns |
love_talking_about | List[String] | A list of interests the user likes to talk about |
want_to_learn | List[String] | A list of interests the user likes to learn more about |
knowledgeable_about | List[String] | A list of topics the user is well versed in |
Delete a user
DELETE {environment-url}/users/{user-id}
This endpoint allows you to delete a User object.
- Path parameters:
Field key | Type | What goes in | Required |
---|---|---|---|
user-id | Integer | Braindate user ID | True |
- Response :
Most relevant fields to consider in the response data:
Status code:
204 - No content
Update a user
PATCH {environment-url}/users/{user-id}
This endpoint allows you to update a User object.
Sample payload
{
"first_name": "Jeff",
"language": "fr",
"body": {
"en": {
"position": "DJ",
"company": "Music world"
}
}
}
- Path parameters:
Field key | Type | What goes in | Required |
---|---|---|---|
user-id | Integer | Braindate user ID | True |
- Payload :
Field key | Type | What goes in | Required |
---|---|---|---|
username | String | The unique user identifier | False |
first_name | String | The first name | False |
last_name | String | The last name | False |
language | String | Language code (Default: "en") | False |
avatar | String | A link to the user's profile picture | False |
body | Object | It is a set of data with language codes as keys and the translated fields as values (It is required to have a language as a key but the value can be left as an empty dictionary). | True |
User translated fields:
Field key | Type | What goes in | Required |
---|---|---|---|
position | String | The user's positions | False |
company | String | The user current company name | False |
description | String | A description a the user | False |
roles | String | Things the user do or is aside work | False |
excited_about | String | What the user is excited about | False |
preferred_braindates | String | The kind of people or topic the user prefers | False |
dream_braindate | String | The person the user would dream to braindate | False |
pronouns | String | The user's preferred pronouns | False |
love_talking_about | List[String] | A list of interests the user likes to talk about | False |
want_to_learn | List[String] | A list of interests the user likes to learn more about | False |
knowledgeable_about | List[String] | A list of topics the user is well versed in | False |
Sample response (200)
{
"id": 28844,
"url": "https://api.staging.braindate.com/users/28844/",
"urls": {
"bookmark": "https://api.staging.braindate.com/users/28844/bookmark/"
},
"avatar": {
"original": "https://api-media.staging.braindate.com/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"original_url": "https://picsum.photos/200",
"30x30": "https://thumbor.staging.braindate.com/30x30/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"webp": {
"30x30": "https://thumbor.staging.braindate.com/30x30/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg"
}
},
"first_name": "Jeff",
"last_name": "Doe",
"username": "jd@example.com",
"body": {
"en": {
"position": "DJ",
"company": "Music world",
"description": "Dog fanatic",
"roles": "Sticker collector and actor",
"excited_about": "learning how technology can impact sustainability",
"preferred_braindates": "talk about the environment, food and fashion",
"dream_braindate": "Werner Herzog, Simone de Beauvoir, MLK, Yvon Chouinard, Michael Pollan",
"pronouns": "he/him",
"love_talking_about": ["technology"],
"want_to_learn": ["ai"],
"knowledgeable_about": ["eastern cuisine"]
}
},
"links": {},
"language": "fr",
"languages": [],
"flags": {},
"path": "/users/28844/",
"is_connected": false,
"is_me": false,
"statistics": {
"topics_created_count": 0,
"topics_active_count": 0,
"bookmarked_topics_count": 0,
"braindates_count": 0,
"one_on_one_count": 0,
"groups_count": 0,
"fishbowls_count": 0,
"invitations_received_count": 0,
"invitations_sent_count": 0,
"booking_rate": {
"count": 0,
"total": 0,
"rate": 0.0
},
"response_time": 0,
"response_rate": {
"count": 0,
"total": 0,
"rate": 0.0
},
"views_count": 0,
"pending_actions_count": 0,
"profile_completion": 0
},
"permalink": "https://staging.braindate.com/users/28844/",
"bookmarked": false,
"timezone": null,
"locations": [],
"preferred_meeting_spot": ""
}
- Response :
Most relevant fields to consider in the response data:
Status code:
200 - OK
Field key | Type | What goes in |
---|---|---|
id | Integer | The user technical identifier |
url | String | The backend user url, we use it as an identifier as well |
urls | Object[String] | The backend url related to the user. Available key: bookmark |
avatar | Object[String] | User avatar url link in various formats. Available keys: original , 30x30 , 50x50 , 75x75 , 210x120 , 150x150 , 30x30 |
username | String | The unique user identifier |
first_name | String | The first name |
last_name | String | The last name |
body | Object | Translated fields container. It is a set of data with language codes as keys and the translated fields sets as values |
links | Object[String] | The users' social links. Available keys: facebook , github , linkedin , twitter , website |
language | String | Language code of the users preferred language (default "en") |
languages | List[String] | List of available language code for the user |
flags | Object[Boolean] | User behaviour markers |
path | String | The relative URL of the user |
is_connected | Boolean | Is the user online |
is_me | Boolean | Is current user the queried result user |
statistics | Object[String] | User statistics |
permalink | String | The user permalink |
bookmarked | Boolean | Is user profile bookmarked |
timezone | String | Users' preferred timezone |
locations | List[Object] | List of location information |
preferred_meeting_spot | String | User preferred meeting spot |
User translated fields:
Field key | Type | What goes in |
---|---|---|
position | String | The user's positions |
company | String | The user current company name |
description | String | A description a the user |
roles | String | Things the user do or is aside work |
excited_about | String | What the user is excited about |
preferred_braindates | String | The kind of people or topic the user prefers |
dream_braindate | String | The person the user would dream to braindate |
pronouns | String | The user's preferred pronouns |
love_talking_about | List[String] | A list of interests the user likes to talk about |
want_to_learn | List[String] | A list of interests the user likes to learn more about |
knowledgeable_about | List[String] | A list of topics the user is well versed in |
Membership objects
This is an object representing a Membership. It contains all relevant user profile information such as: first name, last name, email, etc.
A membership refers to the subscription of a user to an event.
Create a membership
POST {environment-url}/events/{event-id}/memberships/
This endpoint allows you to create a Membership object.
Sample payload
{
"user_url": "https://api.staging.braindate.com/users/28844/",
"extra_data": {
"ext_id": "abc123"
},
"categories": ["vip"],
"preferences": {
"email_address": "jd@example.com",
"phone_number": "+1-514-555-1234"
}
}
- Path parameters:
Field key | Type | What goes in | Required |
---|---|---|---|
event-id | Integer | Braindate Event ID | True |
- Payload :
Field key | Type | What goes in | Required |
---|---|---|---|
user_url | String | The user url | True |
user | Object | (Alternative to user_url) A dictionary describing a User object. If the username matches an existing username, this will return a 400 error code. | False |
preferences | Object[String] | A dictionary field containing an email address and/or a phone number | False |
categories | List[String] | A list field to describe a group category label | False |
flags | Object | Membership behaviour markers | False |
extra_data | Object[String] | A dictionary field containing custom data you want to communicate to use (like an external ID that can be used for Single Sign On authentication) | False |
Flags fields:
Field key | Type | What goes in | Required |
---|---|---|---|
terms_optin | Boolean | Opt-in for user to accept Braindate's Privacy Policy and Terms of Service. This will remove the required optin prompt upon first login | False |
email_urgent_optin | Boolean | Optin-in for user to allow Braindate notifications (urgent, bundle and recap). This will remove the optional optin prompt upon first login | False |
Preferences fields:
Field key | Type | What goes in | Required |
---|---|---|---|
timezone | String | Any valid IANA zone code or None (event default timezone) |
False |
time_format | String | "12h", "24h" or None (default) |
False |
email_address | String | Email address for email notification | False |
phone_number | String | Phone number for SMS notification | False |
email_urgent_optin | Boolean | Opt-in for Braindate urgent emails | False |
email_bundle_optin | Boolean | Opt-in for Braindate bundle emails | False |
email_recap_optin | Boolean | Opt-in for Braindate recap emails | False |
sms_urgent_optin | Boolean | Opt-in for Braindate urgent SMS | False |
Sample response (200)
{
"id": 33147,
"url": "https://api.staging.braindate.com/memberships/33147/",
"event": {
"id": 183,
"url": "https://api.staging.braindate.com/events/183/",
"body": {
"en": {
"title": "api-docs",
"custom_copy": {}
}
}
},
"date_joined": "2022-06-06T19:42:31.869109Z",
"permissions": [],
"user": {
"id": 28844,
"url": "https://api.staging.braindate.com/users/28844/",
"username": "jd@example.com",
"first_name": "Jeff",
"last_name": "Doe",
"body": {
"en": {
"position": "DJ",
"company": "Music world",
"description": "Dog fanatic",
"roles": "Sticker collector and actor",
"excited_about": "learning how technology can impact sustainability",
"preferred_braindates": "talk about the environment, food and fashion",
"dream_braindate": "Werner Herzog, Simone de Beauvoir, MLK, Yvon Chouinard, Michael Pollan",
"pronouns": "he/him",
"love_talking_about": ["technology"],
"want_to_learn": ["ai"],
"knowledgeable_about": ["eastern cuisine"]
}
},
"language": "fr",
"languages": [],
"token": null,
"avatar": "core/user/28844/avatar/avatar_28844_1654543917.jpeg"
},
"extra_data": {
"ext_id": "abc123"
},
"flags": {},
"preferences": {
"time_format": null,
"timezone": null,
"email_urgent_optin": false,
"email_bundle_optin": false,
"email_recap_optin": false,
"email_address": "jd@example.com",
"phone_number": "+15145551234",
"sms_urgent_optin": false
},
"availabilities": [],
"attendance": [],
"categories": [],
"urls": {
"guidance": "https://api.staging.braindate.com/memberships/33147/guidance/",
"unavailability-items": "https://api.staging.braindate.com/memberships/33147/unavailability_items/",
"token": "https://api.staging.braindate.com/memberships/33147/token/",
"set-activities": "https://api.staging.braindate.com/memberships/33147/set_activities/",
"calendar-sync-status": "https://api.staging.braindate.com/memberships/33147/calendar_sync_status/",
"send-login-link": "https://api.staging.braindate.com/memberships/33147/send_login_link/",
"availabilities": "https://api.staging.braindate.com/memberships/33147/availabilities/"
},
"statistics": {
"topics_created_count": 0,
"topics_active_count": 0,
"bookmarked_topics_count": 0,
"braindates_count": 0,
"one_on_one_count": 0,
"groups_count": 0,
"fishbowls_count": 0,
"invitations_received_count": 0,
"invitations_sent_count": 0,
"booking_rate": {
"count": 0,
"total": 0,
"rate": 0.0
},
"response_time": 0,
"response_rate": {
"count": 0,
"total": 0,
"rate": 0.0
},
"views_count": 0,
"pending_actions_count": 0,
"profile_completion": 0
},
"current_status": {},
"next_braindate": null,
"role": "",
"locations": [],
"preferred_meeting_spot": ""
}
- Response :
Most relevant fields to consider in the response data:
Status code:
201 - Created
400 - Bad Request Error
Membership already exists with given username
Field key | Type | What goes in |
---|---|---|
id | Integer | The membership identifier |
url | String | The backend membership url, we use it as an identifier as well |
event | Object | The Event object |
date_joined | String | The date the membership has been created |
permissions | List[String] | List of extra permissions |
user | Object | The related User object data |
extra_data | Object[String] | Dictionary of additional information. This can be used to store external IDs. |
flags | Object[Boolean] | Membership behaviour markers |
preferences | Object | Dictionary of user membership preferences. Available keys: time_format , timezone , email_urgen_optin , email_bundle_optin , email_recap_optin , email_address , phone_number , sms_urgen_optin |
availabilities | List[String] | List of availabilities datetimes |
attendance | List[String] | List of attendance datetimes |
categories | List[String] | List of categories |
urls | Object | Dictionary of user membership backend URLs. Available keys: guidance , unavailability-items , token , set-activities , calendar-sync-status , send-login-link , availabilities |
statistics | Object | Dictionary of user membership statistics |
current_status | Object | Dictionary of the membership's status on all participating braindates |
next_braindate | String | Datetime of next upcoming braindate |
role | String | Membership role. Available roles: e180 Staff , Learning Concierge , Admin , Participant |
locations | List[Object] | List of location information |
preferred_meeting_spot | String | The preferred meeting spot |
Get a membership
GET {environment-url}/memberships/{membership-id}/
This endpoint allows you to retrieve a unique Membership object.
- Path parameters:
Field key | Type | What goes in | Required |
---|---|---|---|
membership-id | Integer | Braindate Membership ID | True |
Sample response (200)
{
"id": 33147,
"url": "https://api.staging.braindate.com/memberships/33147/",
"event": {
"id": 183,
"url": "https://api.staging.braindate.com/events/183/",
"body": {
"en": {
"title": "api-docs",
"custom_copy": {}
}
}
},
"date_joined": "2022-06-06T19:42:31.869109Z",
"permissions": [],
"user": {
"id": 28844,
"url": "https://api.staging.braindate.com/users/28844/",
"first_name": "John",
"last_name": "Doe",
"is_me": false,
"username": "jd@example.com",
"body": {
"en": {
"position": "artist",
"company": "my company",
"description": "Dog fanatic",
"roles": "Sticker collector and actor",
"excited_about": "learning how technology can impact sustainability",
"preferred_braindates": "talk about the environment, food and fashion",
"dream_braindate": "Werner Herzog, Simone de Beauvoir, MLK, Yvon Chouinard, Michael Pollan",
"pronouns": "he/him",
"love_talking_about": ["technology"],
"want_to_learn": ["ai"],
"knowledgeable_about": ["eastern cuisine"]
}
},
"avatar": {
"original": "https://api-media.staging.braindate.com/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"original_url": "https://picsum.photos/200",
"30x30": "https://thumbor.staging.braindate.com/30x30/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"webp": {
"30x30": "https://thumbor.staging.braindate.com/30x30/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg"
}
},
"language": "en",
"languages": [],
"is_connected": false,
"last_login": null,
"locations": [],
"preferred_meeting_spot": ""
},
"extra_data": {
"ext_id": "abc123"
},
"flags": {},
"preferences": {
"time_format": null,
"timezone": null,
"email_urgent_optin": false,
"email_bundle_optin": false,
"email_recap_optin": false,
"email_address": "jd@example.com",
"phone_number": "+15145551234",
"sms_urgent_optin": false
},
"availabilities": [],
"attendance": [],
"categories": [],
"urls": {
"guidance": "https://api.staging.braindate.com/memberships/33147/guidance/",
"unavailability-items": "https://api.staging.braindate.com/memberships/33147/unavailability_items/",
"token": "https://api.staging.braindate.com/memberships/33147/token/",
"set-activities": "https://api.staging.braindate.com/memberships/33147/set_activities/",
"calendar-sync-status": "https://api.staging.braindate.com/memberships/33147/calendar_sync_status/",
"send-login-link": "https://api.staging.braindate.com/memberships/33147/send_login_link/",
"availabilities": "https://api.staging.braindate.com/memberships/33147/availabilities/"
},
"statistics": {
"topics_created_count": 0,
"topics_active_count": 0,
"bookmarked_topics_count": 0,
"braindates_count": 0,
"one_on_one_count": 0,
"groups_count": 0,
"fishbowls_count": 0,
"invitations_received_count": 0,
"invitations_sent_count": 0,
"booking_rate": {
"count": 0,
"total": 0,
"rate": 0.0
},
"response_time": 0,
"response_rate": {
"count": 0,
"total": 0,
"rate": 0.0
},
"views_count": 0,
"pending_actions_count": 0,
"profile_completion": 0
},
"current_status": {},
"next_braindate": null,
"role": {},
"locations": [],
"preferred_meeting_spot": "",
"last_login": null
}
- Response :
Most relevant fields to consider in the response data:
Status code:
200 - OK
Field key | Type | What goes in |
---|---|---|
id | Integer | The membership identifier |
url | String | The backend membership url, we use it as an identifier as well |
event | Object | The Event object |
date_joined | String | The date the membership has been created |
permissions | List[String] | List of extra permissions |
user | Object | The related User object data |
extra_data | Object | Dictionary of additional information. This can be used to store external IDs. |
flags | Object[Boolean] | Membership behaviour markers |
preferences | Object | Dictionary of user membership preferences. Available keys: time_format , timezone , email_urgen_optin , email_bundle_optin , email_recap_optin , email_address , phone_number , sms_urgen_optin |
availabilities | List[String] | List of availabilities datetimes |
attendance | List[String] | List of attendance datetimes |
categories | List[String] | List of categories |
urls | Object | Dictionary of user membership backend URLs. Available keys: guidance , unavailability-items , token , set-activities , calendar-sync-status , send-login-link , availabilities |
statistics | Object | Dictionary of user membership statistics |
current_status | Object | Dictionary of the membership's status on all participating braindates |
next_braindate | String | Datetime of next upcoming braindate |
role | String | Membership role. Available roles: e180 Staff , Learning Concierge , Admin , Participant |
locations | List[Object] | List of location information |
preferred_meeting_spot | String | The preferred meeting spot |
last_login | String | Last Datetime User has logged in |
User object fields:
Field key | Type | What goes in |
---|---|---|
id | Integer | The user technical identifier |
url | String | The backend user url, we use it as an identifier as well |
urls | Object[String] | The backend url related to the user. Available key: bookmark |
avatar | Object[String] | User avatar url link in various formats. Available keys: original , 30x30 , 50x50 , 75x75 , 210x120 , 150x150 , 30x30 |
username | String | The unique user identifier |
first_name | String | The first name |
last_name | String | The last name |
body | Object | Translated fields container. It is a set of data with language codes as keys and the translated fields sets as values |
links | Object[String] | The users' social links. Available keys: facebook , github , linkedin , twitter , website |
language | String | Language code of the users preferred language (default "en") |
languages | List[String] | List of available language code for the user |
flags | Object[Boolean] | User behaviour markers |
path | String | The relative URL of the user |
is_connected | Boolean | Is the user online |
is_me | Boolean | Is current user the queried result user |
statistics | Object[String] | User statistics |
permalink | String | The user permalink |
bookmarked | Boolean | Is user profile bookmarked |
timezone | String | Users' preferred timezone |
locations | List[Object] | List of location information |
preferred_meeting_spot | String | User preferred meeting spot |
User translated fields:
Field key | Type | What goes in |
---|---|---|
position | String | The user's positions |
company | String | The user current company name |
description | String | A description a the user |
roles | String | Things the user do or is aside work |
excited_about | String | What the user is excited about |
preferred_braindates | String | The kind of people or topic the user prefers |
dream_braindate | String | The person the user would dream to braindate |
pronouns | String | The user's preferred pronouns |
love_talking_about | List[String] | A list of interests the user likes to talk about |
want_to_learn | List[String] | A list of interests the user likes to learn more about |
knowledgeable_about | List[String] | A list of topics the user is well versed in |
List memberships
GET {environment-url}/memberships/
This endpoint allows you to retrieve a list of Membership objects.
- Query parameters:
Field key | Type | What goes in | Required |
---|---|---|---|
event | String/Comma-separated list | Event ID(s) to include (Example: event=1,2,4 ) or exclude (Example: event=-3 ) from the query |
False |
user | String/Comma-separated list | User ID(s) to include (Example: user_id=1,2,4 ) or exclude (Example: user=-3 ) from the query |
False |
String/Comma-separated list | Email(s) to include (Example: email=jd@example.com,abc@example.com ) or exclude (Example: email=-jd@example.com ) from the query |
False | |
categories | String | Membership categories | False |
is_team_member | Boolean | Is membership an event admin/team member | False |
locations | String/Comma-separated list | Location ID(s) to include (Example: locations=1,2,4 ) or exclude (Example: locations=-3 ) from the query |
False |
location_context | String/Comma-separated list | Location context(s) to include (Example: location_context=virtual,onsite ) or exclude (Example: location_context=-virtual ) from the query |
False |
topics_count | Integer | Minimum number of topics created (Returns any Membership with greater than specified topic count) | False |
statistics | False | ||
flags | String | Memberships with confirmed flags. Available flag terms: terms_optin , optin_completed , onboarding_completed , email_goodbye_message_sent , engagement_topic_creation_first_login |
False |
has_testimonial | Boolean | Memberships with testimonials | False |
has_logged_in | Boolean | Did the user login already | False |
preferences | False | ||
is_staff | Boolean | Is membership an e-180 staff | False |
people_tab_optin | Boolean | Did the user opt-in for people tab | False |
q | String | Search term | False |
ordering | String | Which field to use when ordering results | False |
page | Integer | Page number within the paginated result set | False |
page_size | Integer | Number of results to return per page | False |
Sample response (200)
{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"id": 33147,
"url": "https://api.staging.braindate.com/memberships/33147/",
"event": {
"id": 183,
"url": "https://api.staging.braindate.com/events/183/",
"body": {
"en": {
"title": "api-docs",
"custom_copy": {}
}
}
},
"date_joined": "2022-06-06T19:42:31.869109Z",
"permissions": [],
"user": {
"id": 28844,
"url": "https://api.staging.braindate.com/users/28844/",
"first_name": "John",
"last_name": "Doe",
"is_me": false,
"username": "jd@example.com",
"body": {
"en": {
"position": "artist",
"company": "my company",
"description": "Dog fanatic",
"roles": "Sticker collector and actor",
"excited_about": "learning how technology can impact sustainability",
"preferred_braindates": "talk about the environment, food and fashion",
"dream_braindate": "Werner Herzog, Simone de Beauvoir, MLK, Yvon Chouinard, Michael Pollan",
"pronouns": "he/him",
"love_talking_about": [
"technology"
],
"want_to_learn": [
"ai"
],
"knowledgeable_about": [
"eastern cuisine"
]
}
},
"avatar": {
"original": "https://api-media.staging.braindate.com/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"original_url": "https://picsum.photos/200",
"30x30": "https://thumbor.staging.braindate.com/30x30/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"webp": {
"30x30": "https://thumbor.staging.braindate.com/30x30/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg"
}
},
"language": "en",
"languages": [],
"is_connected": false,
"last_login": "2022-06-08T20:07:43Z",
"locations": [
{
"id": 235,
"url": "https://api.staging.braindate.com/locations/235/",
"location_context": "onsite",
"braindate_pods_number": 5,
"group_braindate_pods_number": 5,
"timezone": "America/New_York",
"color": "#9A638D",
"body": {
"en": {
"label": "In-Person",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
"4",
"5"
],
"braindate_meeting_point": "Braindate Lounge",
"group_braindate_meeting_point": "Braindate Lounge"
}
},
"group_braindate_capacity": 5
},
{
"id": 236,
"url": "https://api.staging.braindate.com/locations/236/",
"location_context": "virtual",
"braindate_pods_number": 5,
"group_braindate_pods_number": 500,
"timezone": "America/New_York",
"color": "#5BB8ED",
"body": {
"fr": {
"label": "Virtuel",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
...,
"500"
],
"braindate_meeting_point": "Plateforme Braindate virtuel",
"group_braindate_meeting_point": "Plateforme Braindate virtuel"
},
"en": {
"label": "Virtual",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
...,
"500"
],
"braindate_meeting_point": "Virtual Braindate platform",
"group_braindate_meeting_point": "Virtual Braindate platform"
}
},
"group_braindate_capacity": 8
}
],
"preferred_meeting_spot": ""
},
"extra_data": {
"ext_id": "123ABC"
},
"flags": {
"terms_optin": true,
"optin_completed": true,
"onboarding_completed": true,
"email_goodbye_message_sent": true,
"engagement_topic_creation_first_login": true
},
"preferences": {
"time_format": "12h",
"timezone": "America/Los_Angeles",
"email_urgent_optin": false,
"email_bundle_optin": false,
"email_recap_optin": false,
"email_address": "jd@example.com",
"phone_number": "+15145551234",
"sms_urgent_optin": false
},
"availabilities": [],
"attendance": [],
"categories": [],
"urls": {
"guidance": "https://api.staging.braindate.com/memberships/33147/guidance/",
"unavailability-items": "https://api.staging.braindate.com/memberships/33147/unavailability_items/",
"token": "https://api.staging.braindate.com/memberships/33147/token/",
"set-activities": "https://api.staging.braindate.com/memberships/33147/set_activities/",
"calendar-sync-status": "https://api.staging.braindate.com/memberships/33147/calendar_sync_status/",
"send-login-link": "https://api.staging.braindate.com/memberships/33147/send_login_link/",
"availabilities": "https://api.staging.braindate.com/memberships/33147/availabilities/"
},
"statistics": null,
"current_status": {},
"next_braindate": null,
"role": {},
"locations": [
"https://api.staging.braindate.com/locations/235/",
"https://api.staging.braindate.com/locations/236/"
],
"preferred_meeting_spot": "",
"last_login": null
},
{...}
]
}
- Response :
Most relevant fields to consider in the response data:
Status code:
200 - OK
Field key | Type | What goes in |
---|---|---|
count | Integer | Number of instances found |
next | String | URL query for the next 50 entries |
previous | String | URL query for the previous 50 entries |
results | List[Object] | List of Membership objects |
Membership object fields:
Field key | Type | What goes in |
---|---|---|
id | Integer | The membership identifier |
url | String | The backend membership url, we use it as an identifier as well |
event | Object | The Event object |
date_joined | String | The date the membership has been created |
permissions | List[String] | List of extra permissions |
user | Object | The related User object data |
extra_data | Object | Dictionary of additional information. This can be used to store external IDs. |
flags | Object[Boolean] | Membership behaviour markers |
preferences | Object | Dictionary of user membership preferences. Available keys: time_format , timezone , email_urgen_optin , email_bundle_optin , email_recap_optin , email_address , phone_number , sms_urgen_optin |
availabilities | List[String] | List of availabilities datetimes |
attendance | List[String] | List of attendance datetimes |
categories | List[String] | List of categories |
urls | Object | Dictionary of user membership backend URLs. Available keys: guidance , unavailability-items , token , set-activities , calendar-sync-status , send-login-link , availabilities |
statistics | Object | Dictionary of user membership statistics |
current_status | Object | Dictionary of the membership's status on all participating braindates |
next_braindate | String | Datetime of next upcoming braindate |
role | String | Membership role. Available roles: e180 Staff , Learning Concierge , Admin , Participant |
locations | List[Object] | List of location information |
preferred_meeting_spot | String | The preferred meeting spot |
last_login | String | Last Datetime User has logged in |
User object fields:
Field key | Type | What goes in |
---|---|---|
id | Integer | The user technical identifier |
url | String | The backend user url, we use it as an identifier as well |
urls | Object[String] | The backend url related to the user. Available key: bookmark |
avatar | Object[String] | User avatar url link in various formats. Available keys: original , 30x30 , 50x50 , 75x75 , 210x120 , 150x150 , 30x30 |
username | String | The unique user identifier |
first_name | String | The first name |
last_name | String | The last name |
body | Object | Translated fields container. It is a set of data with language codes as keys and the translated fields sets as values |
links | Object[String] | The users' social links. Available keys: facebook , github , linkedin , twitter , website |
language | String | Language code of the users preferred language (default "en") |
languages | List[String] | List of available language code for the user |
flags | Object[Boolean] | User behaviour markers |
path | String | The relative URL of the user |
is_connected | Boolean | Is the user online |
is_me | Boolean | Is current user the queried result user |
statistics | Object[String] | User statistics |
permalink | String | The user permalink |
bookmarked | Boolean | Is user profile bookmarked |
timezone | String | Users' preferred timezone |
locations | List[Object] | List of location information |
preferred_meeting_spot | String | User preferred meeting spot |
User translated fields:
Field key | Type | What goes in |
---|---|---|
position | String | The user's positions |
company | String | The user current company name |
description | String | A description a the user |
roles | String | Things the user do or is aside work |
excited_about | String | What the user is excited about |
preferred_braindates | String | The kind of people or topic the user prefers |
dream_braindate | String | The person the user would dream to braindate |
pronouns | String | The user's preferred pronouns |
love_talking_about | List[String] | A list of interests the user likes to talk about |
want_to_learn | List[String] | A list of interests the user likes to learn more about |
knowledgeable_about | List[String] | A list of topics the user is well versed in |
Delete a membership
DELETE {environment-url}/memberships/{membership-id}/
This endpoint allows you to delete a Membership object.
- Path parameters:
Field key | Type | What goes in | Required |
---|---|---|---|
membership-id | Braindate user ID | Integer | True |
- Query parameters:
Field key | Type | What goes in | Required |
---|---|---|---|
delete_user | Boolean | Boolean value to delete the User object as well | False |
- Response :
Most relevant fields to consider in the response data:
Status code:
204 - No content
400 - Bad Request Error
Update a membership
PATCH {environment-url}/memberships/{membership-id}
This endpoint allows you to update a Membership object.
Sample payload
{
"preferences": {
"timezone": "America/Los_Angeles",
"time_format": "12h"
},
"extra_data": {
"ext_id": "123ABC"
}
}
- Path parameters:
Field key | Type | What goes in | Required |
---|---|---|---|
membership-id | Integer | Membership ID | True |
- Payload :
Field key | Type | What goes in | Required |
---|---|---|---|
flags | Object | Membership behaviour markers | False |
preferences | Object | Various preferences for the use | False |
categories | List[String] | A list field to describe a group category label | False |
extra_data | Object | Dictionary of additional information to store | False |
Flags fields:
Field key | Type | What goes in | Required |
---|---|---|---|
terms_optin | Boolean | Opt-in for user to accept Braindate's Privacy Policy and Terms of Service. This will remove the required optin prompt upon first login | False |
email_urgent_optin | Boolean | Optin-in for user to allow all Braindate email notifications (urgent, bundle and recap). This will remove the optional optin prompt upon first login | False |
Preferences fields:
Field key | Type | What goes in | Required |
---|---|---|---|
timezone | String | Any valid IANA zone code or None (event default timezone) |
False |
time_format | String | "12h", "24h" or None (default) |
False |
email_address | String | Email address for email notification | False |
phone_number | String | Phone number for SMS notification | False |
email_urgent_optin | Boolean | Opt-in for Braindate urgent emails | False |
email_bundle_optin | Boolean | Opt-in for Braindate bundle emails | False |
email_recap_optin | Boolean | Opt-in for Braindate recap emails | False |
sms_urgent_optin | Boolean | Opt-in for Braindate urgent SMS | False |
Sample response (200)
{
"id": 33147,
"url": "https://api.staging.braindate.com/memberships/33147/",
"event": {
"id": 183,
"url": "https://api.staging.braindate.com/events/183/",
"body": {
"en": {
"title": "api-docs",
"custom_copy": {}
}
}
},
"date_joined": "2022-06-06T19:42:31.869109Z",
"permissions": [],
"user": {
"id": 28844,
"url": "https://api.staging.braindate.com/users/28844/",
"first_name": "Jeff",
"last_name": "Doe",
"is_me": false,
"username": "jd@example.com",
"body": {
"en": {
"position": "DJ",
"company": "Music world",
"description": "Dog fanatic",
"roles": "Sticker collector and actor",
"excited_about": "learning how technology can impact sustainability",
"preferred_braindates": "talk about the environment, food and fashion",
"dream_braindate": "Werner Herzog, Simone de Beauvoir, MLK, Yvon Chouinard, Michael Pollan",
"pronouns": "he/him",
"love_talking_about": ["technology"],
"want_to_learn": ["ai"],
"knowledgeable_about": ["eastern cuisine"]
}
},
"avatar": {
"original": "https://api-media.staging.braindate.com/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"original_url": "https://picsum.photos/200",
"30x30": "https://thumbor.staging.braindate.com/30x30/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"webp": {
"30x30": "https://thumbor.staging.braindate.com/30x30/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg"
}
},
"language": "fr",
"languages": [],
"is_connected": false,
"last_login": null,
"locations": [],
"preferred_meeting_spot": ""
},
"extra_data": {
"ext_id": "123ABC"
},
"flags": {},
"preferences": {
"time_format": "12h",
"timezone": "America/Los_Angeles",
"email_urgent_optin": false,
"email_bundle_optin": false,
"email_recap_optin": false,
"email_address": "jd@example.com",
"phone_number": "+15145551234",
"sms_urgent_optin": false
},
"availabilities": [],
"attendance": [],
"categories": [],
"urls": {
"guidance": "https://api.staging.braindate.com/memberships/33147/guidance/",
"unavailability-items": "https://api.staging.braindate.com/memberships/33147/unavailability_items/",
"token": "https://api.staging.braindate.com/memberships/33147/token/",
"set-activities": "https://api.staging.braindate.com/memberships/33147/set_activities/",
"calendar-sync-status": "https://api.staging.braindate.com/memberships/33147/calendar_sync_status/",
"send-login-link": "https://api.staging.braindate.com/memberships/33147/send_login_link/",
"availabilities": "https://api.staging.braindate.com/memberships/33147/availabilities/"
},
"statistics": {
"topics_created_count": 0,
"topics_active_count": 0,
"bookmarked_topics_count": 0,
"braindates_count": 0,
"one_on_one_count": 0,
"groups_count": 0,
"fishbowls_count": 0,
"invitations_received_count": 0,
"invitations_sent_count": 0,
"booking_rate": {
"count": 0,
"total": 0,
"rate": 0.0
},
"response_time": 0,
"response_rate": {
"count": 0,
"total": 0,
"rate": 0.0
},
"views_count": 0,
"pending_actions_count": 0,
"profile_completion": 0
},
"current_status": {},
"next_braindate": null,
"role": {},
"locations": [],
"preferred_meeting_spot": "",
"last_login": null
}
- Response :
Most relevant fields to consider in the response data:
Status code:
200 - OK
Field key | Type | What goes in |
---|---|---|
id | Integer | The membership identifier |
url | String | The backend membership url, we use it as an identifier as well |
event | Object | The Event object |
date_joined | String | The date the membership has been created |
permissions | List[String] | List of extra permissions |
user | Object | The related User object data |
extra_data | Object | Dictionary of additional information. This can be used to store external IDs. |
flags | Object[Boolean] | Membership behaviour markers |
preferences | Object | Dictionary of user membership preferences. Available keys: time_format , timezone , email_urgen_optin , email_bundle_optin , email_recap_optin , email_address , phone_number , sms_urgent_optin |
availabilities | List[String] | List of availabilities datetimes |
attendance | List[String] | List of attendance datetimes |
categories | List[String] | List of categories |
urls | Object | Dictionary of user membership backend URLs. Available keys: guidance , unavailability-items , token , set-activities , calendar-sync-status , send-login-link , availabilities |
statistics | Object | Dictionary of user membership statistics |
current_status | Object | Dictionary of the membership's status on all participating braindates |
next_braindate | String | Datetime of next upcoming braindate |
role | String | Membership role. Available roles: e180 Staff , Learning Concierge , Admin , Participant |
locations | List[Object] | List of location information |
preferred_meeting_spot | String | The preferred meeting spot |
last_login | String | Last Datetime User has logged in |
SSO magic link URL
GET {environment-url}/memberships/{membership-id}/token_long_ttl
This endpoint allows you to create a magic link valid for 180 days which will allow the user to automatically login to the Braindate event platform.
- Path parameters:
Field key | Type | What goes in | Required |
---|---|---|---|
membership-id | String | Membership ID | True |
Sample response (200)
{
"token": "4bee5529a75e4c12f9a11c3bf077c7b6cfed67b2",
"url": "https://apidocs.staging.braindate.com?&ext-token=4bee5529a75e4c12f9a11c3bf077c7b6cfed67b2&utm_source=token_long_ttl&utm_medium=integration"
}
- Response :
Most relevant fields to consider in the response data:
Status code:
200 - OK
Field key | Type | What goes in |
---|---|---|
token | String | JWT token |
url | String | Braindate event URL with the JWT token as a parameter |
Topic objects
This is an object representing a Topic. It contains all relevant topic information such as: author, topic, event, date created, etc.
Topics are the context behind a meeting but not the actual braindate meeting itself. There is a one-to-many relationship for topics and braindates (i.e. You can have many different braindates about the same topic).
Create a topic
POST {environment-url}/topics/
This endpoint allows you to create a Topic object.
If Fishbowl
or Group
topic kinds are created, a Braindate object as well.
Sample payload
{
"kind": "group",
"event_url": "https://api.braindate.test/events/183/",
"author_url": "http://api.braindate.test/users/28844/",
"date": {
"start_time": "2022-06-09T10:00:00",
"end_time": "2022-06-09T10:45:00"
},
"body": {
"en": {
"title": "My topic",
"description": "My description",
"keywords": ["key1", "key2"]
}
}
}
- Payload :
Field key | Type | What goes in | Required |
---|---|---|---|
kind | String | Type of topic: "offer", "group", or "fishbowl" | True |
date | Object | Dictionary containing "start_time", and "end_time" with datetime values | False: if kind=offer True: if kind=group, fishbowl |
event_url | String | Braindate backend Event URL | True |
author_url | String | Braindate backend User URL | True |
body | Object | Translated fields container. It is a set of data with language codes as keys and the translated fields sets as values | True |
User translated fields:
Field key | Type | What goes in | Required |
---|---|---|---|
title | String | Topic title | True |
description | String | Topic description | False |
how | String | False | |
homeworks | String | False | |
motivation | String | False | |
question | String | False | |
keywords | List[String] | False |
Sample response (200)
{
"id": 11000,
"url": "https://api.staging.braindate.com/topics/11000/",
"urls": {
"bookmark": "https://api.staging.braindate.com/topics/11000/bookmark/",
"conversation": "https://api.staging.braindate.com/topics/11000/conversation/",
"can_join": "https://api.staging.braindate.com/topics/11000/can_join/",
"braindate": "https://api.staging.braindate.com/topics/11000/braindate/",
"moderation": "https://api.staging.braindate.com/topics/11000/moderation/"
},
"permalink": "https://apidocs.staging.braindate.com/topics/11000/",
"path": "/topics/11000/",
"author": {
"id": 28844,
"url": "https://api.staging.braindate.com/users/28844/",
"urls": {
"bookmark": "https://api.staging.braindate.com/users/28844/bookmark/"
},
"avatar": {
"original": "https://api-media.staging.braindate.com/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"original_url": "https://picsum.photos/200",
"30x30": "https://thumbor.staging.braindate.com/30x30/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"webp": {
"30x30": "https://thumbor.staging.braindate.com/30x30/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg"
}
},
"first_name": "Jeff",
"last_name": "Doe",
"username": "jd@example.com",
"body": {
"en": {
"position": "DJ",
"company": "Music world",
"description": "Dog fanatic",
"roles": "Sticker collector and actor",
"excited_about": "learning how technology can impact sustainability",
"preferred_braindates": "talk about the environment, food and fashion",
"dream_braindate": "Werner Herzog, Simone de Beauvoir, MLK, Yvon Chouinard, Michael Pollan",
"pronouns": "he/him",
"love_talking_about": ["technology"],
"want_to_learn": ["ai"],
"knowledgeable_about": ["eastern cuisine"]
}
},
"links": {},
"language": "fr",
"languages": [],
"flags": {},
"path": "/users/28844/",
"is_connected": false,
"is_me": false,
"statistics": null,
"permalink": "https://staging.braindate.com/users/28844/",
"bookmarked": false,
"timezone": "America/Los_Angeles",
"locations": [],
"preferred_meeting_spot": ""
},
"kind": "group",
"body": {
"en": {
"title": "My topic",
"how": "",
"homeworks": "",
"motivation": "",
"question": "",
"keywords": ["key1", "key2"]
}
},
"picture": {},
"customization": null,
"date": {
"start_time": "2022-06-09T10:00:00Z",
"end_time": "2022-06-09T10:45:00Z"
},
"participants": [
{
"id": 28844,
"url": "https://api.staging.braindate.com/users/28844/",
"urls": {
"bookmark": "https://api.staging.braindate.com/users/28844/bookmark/"
},
"avatar": {
"original": "https://api-media.staging.braindate.com/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"original_url": "https://picsum.photos/200",
"30x30": "https://thumbor.staging.braindate.com/30x30/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"webp": {
"30x30": "https://thumbor.staging.braindate.com/30x30/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg"
}
},
"first_name": "Jeff",
"last_name": "Doe",
"username": "jd@example.com",
"body": {
"en": {
"position": "DJ",
"company": "Music world",
"description": "Dog fanatic"
}
},
"links": {},
"language": "fr",
"languages": [],
"flags": {},
"path": "/users/28844/",
"is_connected": false,
"is_me": false,
"permalink": "https://staging.braindate.com/users/28844/",
"bookmarked": false,
"external_id": null,
"timezone": "America/Los_Angeles",
"preferred_meeting_spot": ""
}
],
"participants_count": 1,
"spots_left": 4,
"bookmarked": false,
"statistics": {
"views_count": 0,
"invitation_count": null,
"bookmarked_count": 0,
"braindates_count": null
},
"has_conversation": false,
"is_visible": true,
"moderation": "verified",
"braindate_format": "",
"possible_locations": [
{
"id": 235,
"url": "https://api.staging.braindate.com/locations/235/",
"location_context": "onsite",
"braindate_pods_number": 5,
"group_braindate_pods_number": 5,
"timezone": "America/New_York",
"color": "#9A638D",
"body": {
"en": {
"label": "In-Person",
"braindate_pods": ["A", "B", "C", "D", "E"],
"group_braindate_pods": ["1", "2", "3", "4", "5"],
"braindate_meeting_point": "Braindate Lounge",
"group_braindate_meeting_point": "Braindate Lounge"
}
},
"group_braindate_capacity": 5
}
],
"preferred_meeting_spot": "",
"cohosts": []
}
- Response :
Most relevant fields to consider in the response data:
Status code:
201 - Created
400 - Bad Request Error
A braindate is already booked at this date
This date is out of the braindate time ranges
This can only be set for group braindates and fishbowl
Field key | Type | What goes in |
---|---|---|
id | Integer | Braindate topic ID |
url | String | Braindate backend topic URL |
urls | Object[String] | The backend url related to the user. Available keys: bookmark , conversation , can_join , braindate , moderation |
permalink | String | Topic permalink URL |
path | String | Topic relative path |
author | Object | User object of the topic owner |
kind | String | Type of topic: "offer", "group", or "fishbowl" |
body | Object | Translated fields container. It is a set of data with language codes as keys and the translated fields sets as values |
picture | Object | |
customization | Custom topic banner ID | |
date | Object | Dictionary containing "start_time", and "end_time" with datetime values |
participants | List[Object] | List of User objects |
participants_count | Integer | Number of participants in the meeting |
spots_left | Integer | Number of spots left in the meeting |
bookmarked | ||
statistics | Object | Dictionary of topic statistics. Available keys: views_count , invitation_count , bookmarked_count , braindates_count |
has_conversation | Boolean | |
is_visible | Boolean | Is topic visible to public |
moderation | String | |
braindate_format | String | Topic format: "Help me solve", "Brainstorm", Storytelling", "Ask me anything", "Open Discussion", "Friendly Debate" |
possible_locations | Object | Location of the topic |
preferred_meeting_spot | String | |
cohosts | List[Objects] | List of User objects. This field is only used for "fishbowl" topic kind |
User translated fields:
Field key | Type | What goes in |
---|---|---|
title | String | Topic title |
description | String | Topic description |
how | String | |
homeworks | String | |
motivation | String | |
question | String | |
keywords | List[String] |
Get a topic
GET {environment-url}/topics/{topic-id}
This endpoint allows you to retrieve a unique Topic object.
- Path parameters:
Field key | Type | What goes in | Required |
---|---|---|---|
topic-id | Integer | Topic ID | True |
Sample response (200)
{
"id": 11001,
"url": "https://api.staging.braindate.com/topics/11001/",
"urls": {
"bookmark": "https://api.staging.braindate.com/topics/11001/bookmark/",
"conversation": "https://api.staging.braindate.com/topics/11001/conversation/",
"can_join": "https://api.staging.braindate.com/topics/11001/can_join/",
"braindate": "https://api.staging.braindate.com/topics/11001/braindate/",
"moderation": "https://api.staging.braindate.com/topics/11001/moderation/"
},
"permalink": "https://apidocs.staging.braindate.com/topics/11001/",
"path": "/topics/11001/",
"author": {
"id": 28844,
"url": "https://api.staging.braindate.com/users/28844/",
"urls": {
"bookmark": "https://api.staging.braindate.com/users/28844/bookmark/"
},
"avatar": {
"original": "https://api-media.staging.braindate.com/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"original_url": "https://picsum.photos/200",
"30x30": "https://thumbor.staging.braindate.com/30x30/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"webp": {
"30x30": "https://thumbor.staging.braindate.com/30x30/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg"
}
},
"first_name": "John",
"last_name": "Doe",
"username": "jd@example.com",
"body": {
"en": {
"position": "artist",
"company": "my company",
"description": "Dog fanatic",
"roles": "Sticker collector and actor",
"excited_about": "learning how technology can impact sustainability",
"preferred_braindates": "talk about the environment, food and fashion",
"dream_braindate": "Werner Herzog, Simone de Beauvoir, MLK, Yvon Chouinard, Michael Pollan",
"pronouns": "he/him",
"love_talking_about": [
"technology"
],
"want_to_learn": [
"ai"
],
"knowledgeable_about": [
"eastern cuisine"
]
}
},
"links": {},
"language": "en",
"languages": [],
"flags": {},
"path": "/users/28844/",
"is_connected": false,
"is_me": false,
"statistics": null,
"permalink": "https://apidocs.staging.braindate.com/users/28844/",
"bookmarked": false,
"timezone": "America/Los_Angeles",
"locations": [
{
"id": 235,
"url": "https://api.staging.braindate.com/locations/235/",
"location_context": "onsite",
"braindate_pods_number": 5,
"group_braindate_pods_number": 5,
"timezone": "America/New_York",
"color": "#9A638D",
"body": {
"en": {
"label": "In-Person",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
"4",
"5"
],
"braindate_meeting_point": "Braindate Lounge",
"group_braindate_meeting_point": "Braindate Lounge"
}
},
"group_braindate_capacity": 5
},
{
"id": 236,
"url": "https://api.staging.braindate.com/locations/236/",
"location_context": "virtual",
"braindate_pods_number": 5,
"group_braindate_pods_number": 500,
"timezone": "America/New_York",
"color": "#5BB8ED",
"body": {
"en": {
"label": "Virtual",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
...
"499",
"500"
],
"braindate_meeting_point": "Virtual Braindate platform",
"group_braindate_meeting_point": "Virtual Braindate platform"
},
"fr": {
"label": "Virtuel",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
...
"500"
],
"braindate_meeting_point": "Plateforme Braindate virtuel",
"group_braindate_meeting_point": "Plateforme Braindate virtuel"
}
},
"group_braindate_capacity": 8
}
],
"preferred_meeting_spot": ""
},
"kind": "group",
"body": {
"en": {
"title": "My topic",
"how": "",
"homeworks": "",
"motivation": "",
"question": "",
"keywords": [
"key1",
"key2"
]
}
},
"picture": {},
"customization": null,
"date": {
"start_time": "2022-06-09T10:00:00Z",
"end_time": "2022-06-09T10:45:00Z"
},
"participants": [
{
"id": 28844,
"url": "https://api.staging.braindate.com/users/28844/",
"urls": {
"bookmark": "https://api.staging.braindate.com/users/28844/bookmark/"
},
"avatar": {
"original": "https://api-media.staging.braindate.com/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"original_url": "https://picsum.photos/200",
"30x30": "https://thumbor.staging.braindate.com/30x30/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"webp": {
"30x30": "https://thumbor.staging.braindate.com/30x30/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg"
}
},
"first_name": "John",
"last_name": "Doe",
"username": "jd@example.com",
"body": {
"en": {
"position": "artist",
"company": "my company",
"description": "Dog fanatic"
}
},
"links": {},
"language": "en",
"languages": [],
"flags": {},
"path": "/users/28844/",
"is_connected": false,
"is_me": false,
"permalink": "https://apidocs.staging.braindate.com/users/28844/",
"bookmarked": false,
"external_id": null,
"timezone": "America/Los_Angeles",
"preferred_meeting_spot": ""
}
],
"participants_count": 1,
"spots_left": 4,
"bookmarked": false,
"statistics": {
"views_count": 0,
"invitation_count": null,
"bookmarked_count": 0,
"braindates_count": null
},
"has_conversation": false,
"is_visible": true,
"moderation": "verified",
"braindate_format": "",
"possible_locations": [
{
"id": 235,
"url": "https://api.staging.braindate.com/locations/235/",
"location_context": "onsite",
"braindate_pods_number": 5,
"group_braindate_pods_number": 5,
"timezone": "America/New_York",
"color": "#9A638D",
"body": {
"en": {
"label": "In-Person",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
"4",
"5"
],
"braindate_meeting_point": "Braindate Lounge",
"group_braindate_meeting_point": "Braindate Lounge"
}
},
"group_braindate_capacity": 5
}
],
"preferred_meeting_spot": "",
"cohosts": []
}
- Response :
Most relevant fields to consider in the response data:
Status code:
200 - OK
Field key | Type | What goes in |
---|---|---|
id | Integer | Braindate topic ID |
url | String | Braindate backend topic URL |
urls | Object[String] | The backend url related to the user. Available keys: bookmark , conversation , can_join , braindate , moderation |
permalink | String | Topic permalink URL |
path | String | Topic relative path |
author | Object | User object of the topic owner |
kind | String | Type of topic: "offer", "group", or "fishbowl" |
body | Object | Translated fields container. It is a set of data with language codes as keys and the translated fields sets as values |
picture | Object | |
customization | Custom topic banner ID | |
date | Object | Dictionary containing "start_time", and "end_time" with datetime values in UTC format |
participants | List[Object] | List of User objects |
participants_count | Integer | Number of participants in the meeting |
spots_left | Integer | Number of spots left in the meeting |
bookmarked | ||
statistics | Object | Dictionary of topic statistics. Available keys: views_count , invitation_count , bookmarked_count , braindates_count |
has_conversation | Boolean | |
is_visible | Boolean | Is topic visible to public |
moderation | String | |
braindate_format | String | Topic format: "Help me solve", "Brainstorm", Storytelling", "Ask me anything", "Open Discussion", "Friendly Debate" |
possible_locations | Object | Location of the topic |
preferred_meeting_spot | String | |
cohosts | List[Objects] | List of User objects. This field is only used for "fishbowl" topic kind |
User translated fields:
Field key | Type | What goes in |
---|---|---|
title | String | Topic title |
description | String | Topic description |
how | String | |
homeworks | String | |
motivation | String | |
question | String | |
keywords | List[String] |
List topics
GET {environment-url}/topics/
This endpoint allows you to retrieve a list of Topic objects.
- Query parameters:
Field key | Type | What goes in | Required |
---|---|---|---|
author_id | String/Comma-separated list | Author ID(s) to include (Example: user_id=1,2,4 ) or exclude (Example: user=-3 ) from the query |
False |
author | String | Full text search in the authors | False |
q | String | Full text search among label, keywords and authors | False |
event | String/Comma-separated list | Event ID(s) to include (Example: event=1,2,4 ) or exclude (Example: event=-3 ) from the query |
False |
show_first | Integer | If you want to force a topic-id to be the first in the list, bypassing normal relevance ordering | False |
related_user | Integer | If you want to get the topics related to a specific user (from id) instead of the logged in user(Note that if a related user is specified, we return only recommendations, not all topics) | False |
moderation | String | Choice of "verified", "pending", "rejected".When moderation is off, all pending topics "ignore_recommendation" are actually included in verified | False |
ignore_recommendations | Boolean | If true-ish, we don't try to pull recommendations | False |
related | Boolean | if true-ish, list related topics | False |
ordering | String/Comma-separated list | Orders the query with the given key. Available keys: id , author ,date_created ,statistics__braindates_count ,statistics__views_count ,statistics__bookmarked_count ,participants_count (for groups) |
Sample response (200)
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": 11001,
"url": "https://api.staging.braindate.com/topics/11001/",
"urls": {
"bookmark": "https://api.staging.braindate.com/topics/11001/bookmark/",
"conversation": "https://api.staging.braindate.com/topics/11001/conversation/",
"can_join": "https://api.staging.braindate.com/topics/11001/can_join/",
"braindate": "https://api.staging.braindate.com/topics/11001/braindate/",
"moderation": "https://api.staging.braindate.com/topics/11001/moderation/"
},
"permalink": "https://apidocs.staging.braindate.com/topics/11001/",
"path": "/topics/11001/",
"author": {
"id": 28844,
"url": "https://api.staging.braindate.com/users/28844/",
"avatar": {
"original": "https://api-media.staging.braindate.com/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"original_url": "https://picsum.photos/200",
"30x30": "https://thumbor.staging.braindate.com/30x30/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"webp": {
"30x30": "https://thumbor.staging.braindate.com/30x30/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg"
}
},
"first_name": "John",
"last_name": "Doe",
"body": {
"en": {
"position": "artist",
"company": "my company",
"description": "Dog fanatic",
"roles": "Sticker collector and actor",
"excited_about": "learning how technology can impact sustainability",
"preferred_braindates": "talk about the environment, food and fashion",
"dream_braindate": "Werner Herzog, Simone de Beauvoir, MLK, Yvon Chouinard, Michael Pollan",
"pronouns": "he/him",
"love_talking_about": [
"technology"
],
"want_to_learn": [
"ai"
],
"knowledgeable_about": [
"eastern cuisine"
]
}
},
"links": {},
"language": "en",
"languages": [],
"flags": {},
"path": "/users/28844/",
"is_connected": true,
"is_me": false,
"permalink": "https://apidocs.staging.braindate.com/users/28844/",
"timezone": "America/Los_Angeles",
"locations": [
{
"id": 235,
"url": "https://api.staging.braindate.com/locations/235/",
"location_context": "onsite",
"braindate_pods_number": 5,
"group_braindate_pods_number": 5,
"timezone": "America/New_York",
"color": "#9A638D",
"body": {
"en": {
"label": "In-Person",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
"4",
"5"
],
"braindate_meeting_point": "Braindate Lounge",
"group_braindate_meeting_point": "Braindate Lounge"
}
},
"group_braindate_capacity": 5
},
{
"id": 236,
"url": "https://api.staging.braindate.com/locations/236/",
"location_context": "virtual",
"braindate_pods_number": 5,
"group_braindate_pods_number": 500,
"timezone": "America/New_York",
"color": "#5BB8ED",
"body": {
"en": {
"label": "Virtual",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
...,
"500"
],
"braindate_meeting_point": "Virtual Braindate platform",
"group_braindate_meeting_point": "Virtual Braindate platform"
},
"fr": {
"label": "Virtuel",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
...,
"500"
],
"braindate_meeting_point": "Plateforme Braindate virtuel",
"group_braindate_meeting_point": "Plateforme Braindate virtuel"
}
},
"group_braindate_capacity": 8
}
],
"preferred_meeting_spot": ""
},
"kind": "group",
"body": {
"en": {
"title": "My topic",
"how": "",
"homeworks": "",
"motivation": "",
"question": "",
"keywords": [
"key1",
"key2"
]
}
},
"picture": {},
"customization": null,
"date": {
"start_time": "2022-06-09T10:00:00Z",
"end_time": "2022-06-09T10:45:00Z"
},
"participants": [
{
"id": 28844,
"url": "https://api.staging.braindate.com/users/28844/",
"urls": {
"bookmark": "https://api.staging.braindate.com/users/28844/bookmark/"
},
"avatar": {
"original": "https://api-media.staging.braindate.com/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"original_url": "https://picsum.photos/200",
"30x30": "https://thumbor.staging.braindate.com/30x30/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"webp": {
"30x30": "https://thumbor.staging.braindate.com/30x30/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg"
}
},
"first_name": "John",
"last_name": "Doe",
"username": "jd@example.com",
"body": {
"en": {
"position": "artist",
"company": "my company",
"description": "Dog fanatic"
}
},
"links": {},
"language": "en",
"languages": [],
"flags": {},
"path": "/users/28844/",
"is_connected": true,
"is_me": false,
"permalink": "https://apidocs.staging.braindate.com/users/28844/",
"bookmarked": false,
"external_id": null,
"timezone": "America/Los_Angeles",
"preferred_meeting_spot": ""
}
],
"participants_count": 1,
"spots_left": 4,
"bookmarked": false,
"statistics": {
"views_count": 0,
"invitation_count": null,
"bookmarked_count": 0,
"braindates_count": null
},
"has_conversation": false,
"is_visible": true,
"moderation": "verified",
"braindate_format": "",
"possible_locations": [
{
"id": 235,
"url": "https://api.staging.braindate.com/locations/235/",
"location_context": "onsite",
"braindate_pods_number": 5,
"group_braindate_pods_number": 5,
"timezone": "America/New_York",
"color": "#9A638D",
"body": {
"en": {
"label": "In-Person",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
"4",
"5"
],
"braindate_meeting_point": "Braindate Lounge",
"group_braindate_meeting_point": "Braindate Lounge"
}
},
"group_braindate_capacity": 5
}
],
"preferred_meeting_spot": "",
"cohosts": []
}
]
}
- Response :
Most relevant fields to consider in the response data:
Status code:
200 - OK
201 - Created
204 - No content
Field key | Type | What goes in |
---|---|---|
count | Integer | Number of instances found |
next | String | URL query for the next 50 entries |
previous | String | URL query for the previous 50 entries |
results | List[Object] | List of Topic objects |
Topic object fields:
Field key | Type | What goes in |
---|---|---|
id | Integer | Braindate topic ID |
url | String | Braindate backend topic URL |
urls | Object[String] | The backend url related to the user. Available keys: bookmark , conversation , can_join , braindate , moderation |
permalink | String | Topic permalink URL |
path | String | Topic relative path |
author | Object | User object of the topic owner |
kind | String | Type of topic: "offer", "group", or "fishbowl" |
body | Object | Translated fields container. It is a set of data with language codes as keys and the translated fields sets as values |
picture | Object | |
customization | Custom topic banner ID | |
date | Object | Dictionary containing "start_time", and "end_time" with datetime values in UTC format |
participants | List[Object] | List of User objects |
participants_count | Integer | Number of participants in the meeting |
spots_left | Integer | Number of spots left in the meeting |
bookmarked | ||
statistics | Object | Dictionary of topic statistics. Available keys: views_count , invitation_count , bookmarked_count , braindates_count |
has_conversation | Boolean | |
is_visible | Boolean | Is topic visible to public |
moderation | String | |
braindate_format | String | Topic format: "Help me solve", "Brainstorm", Storytelling", "Ask me anything", "Open Discussion", "Friendly Debate" |
possible_locations | Object | Location of the topic |
preferred_meeting_spot | String | |
cohosts | List[Objects] | List of User objects. This field is only used for "fishbowl" topic kind |
User translated fields:
Field key | Type | What goes in |
---|---|---|
title | String | Topic title |
description | String | Topic description |
how | String | |
homeworks | String | |
motivation | String | |
question | String | |
keywords | List[String] |
Delete a topic
DELETE {environment-url}/topics/{topic-id}
This endpoint allows you to delete a Topic object.
- Path parameters:
Field key | Type | What goes in | Required |
---|---|---|---|
topic-id | Integer | Braindate user ID | True |
- Response :
Most relevant fields to consider in the response data:
Status code:
204 - No content
Update topic
PATCH {environment-url}/topics/{topic-id}
This endpoint allows you to update a Topic object.
Sample payload
{
"date": {
"start_time": "2022-06-09T11:00:00",
"end_time": "2022-06-09T11:45:00"
},
"body": {
"en": {
"title": "My topic - updated",
"description": "My description - updated",
"keywords": ["key3", "key4"]
}
}
}
- Path parameters:
Field key | Type | What goes in | Required |
---|---|---|---|
topic-id | Integer | Topic ID | True |
- Payload :
Field key | Type | What goes in | Required |
---|---|---|---|
date | Object | Dictionary containing "start_time", and "end_time" with datetime values | False: if kind=offer True: if kind=group, fishbowl |
body | Object | Translated fields container. It is a set of data with language codes as keys and the translated fields sets as values | False |
User translated fields:
Field key | Type | What goes in | Required |
---|---|---|---|
title | String | Topic title | True |
description | String | Topic description | False |
how | String | False | |
homeworks | String | False | |
motivation | String | False | |
question | String | False | |
keywords | List[String] | False |
Sample response (200)
{
"id": 11001,
"url": "https://api.staging.braindate.com/topics/11001/",
"urls": {
"bookmark": "https://api.staging.braindate.com/topics/11001/bookmark/",
"conversation": "https://api.staging.braindate.com/topics/11001/conversation/",
"can_join": "https://api.staging.braindate.com/topics/11001/can_join/",
"braindate": "https://api.staging.braindate.com/topics/11001/braindate/",
"moderation": "https://api.staging.braindate.com/topics/11001/moderation/"
},
"permalink": "https://apidocs.staging.braindate.com/topics/11001/",
"path": "/topics/11001/",
"author": {
"id": 28844,
"url": "https://api.staging.braindate.com/users/28844/",
"urls": {
"bookmark": "https://api.staging.braindate.com/users/28844/bookmark/"
},
"avatar": {
"original": "https://api-media.staging.braindate.com/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"original_url": "https://picsum.photos/200",
"30x30": "https://thumbor.staging.braindate.com/30x30/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"webp": {
"30x30": "https://thumbor.staging.braindate.com/30x30/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg"
}
},
"first_name": "John",
"last_name": "Doe",
"username": "jd@example.com",
"body": {
"en": {
"position": "artist",
"company": "my company",
"description": "Dog fanatic",
"roles": "Sticker collector and actor",
"excited_about": "learning how technology can impact sustainability",
"preferred_braindates": "talk about the environment, food and fashion",
"dream_braindate": "Werner Herzog, Simone de Beauvoir, MLK, Yvon Chouinard, Michael Pollan",
"pronouns": "he/him",
"love_talking_about": [
"technology"
],
"want_to_learn": [
"ai"
],
"knowledgeable_about": [
"eastern cuisine"
]
}
},
"links": {},
"language": "en",
"languages": [],
"flags": {},
"path": "/users/28844/",
"is_connected": false,
"is_me": false,
"statistics": null,
"permalink": "https://apidocs.staging.braindate.com/users/28844/",
"bookmarked": false,
"timezone": "America/Los_Angeles",
"locations": [
{
"id": 235,
"url": "https://api.staging.braindate.com/locations/235/",
"location_context": "onsite",
"braindate_pods_number": 5,
"group_braindate_pods_number": 5,
"timezone": "America/New_York",
"color": "#9A638D",
"body": {
"en": {
"label": "In-Person",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
"4",
"5"
],
"braindate_meeting_point": "Braindate Lounge",
"group_braindate_meeting_point": "Braindate Lounge"
}
},
"group_braindate_capacity": 5
},
{
"id": 236,
"url": "https://api.staging.braindate.com/locations/236/",
"location_context": "virtual",
"braindate_pods_number": 5,
"group_braindate_pods_number": 500,
"timezone": "America/New_York",
"color": "#5BB8ED",
"body": {
"en": {
"label": "Virtual",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
...
"500"
],
"braindate_meeting_point": "Virtual Braindate platform",
"group_braindate_meeting_point": "Virtual Braindate platform"
},
"fr": {
"label": "Virtuel",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
...
"500"
],
"braindate_meeting_point": "Plateforme Braindate virtuel",
"group_braindate_meeting_point": "Plateforme Braindate virtuel"
}
},
"group_braindate_capacity": 8
}
],
"preferred_meeting_spot": ""
},
"kind": "group",
"body": {
"en": {
"title": "My topic - updated",
"how": "",
"homeworks": "",
"motivation": "",
"question": "",
"keywords": [
"key3",
"key4"
]
}
},
"picture": {},
"customization": null,
"date": {
"start_time": "2022-06-09T11:00:00Z",
"end_time": "2022-06-09T11:45:00Z"
},
"participants": [
{
"id": 28844,
"url": "https://api.staging.braindate.com/users/28844/",
"urls": {
"bookmark": "https://api.staging.braindate.com/users/28844/bookmark/"
},
"avatar": {
"original": "https://api-media.staging.braindate.com/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"original_url": "https://picsum.photos/200",
"30x30": "https://thumbor.staging.braindate.com/30x30/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"webp": {
"30x30": "https://thumbor.staging.braindate.com/30x30/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg"
}
},
"first_name": "John",
"last_name": "Doe",
"username": "jd@example.com",
"body": {
"en": {
"position": "artist",
"company": "my company",
"description": "Dog fanatic"
}
},
"links": {},
"language": "en",
"languages": [],
"flags": {},
"path": "/users/28844/",
"is_connected": false,
"is_me": false,
"permalink": "https://apidocs.staging.braindate.com/users/28844/",
"bookmarked": false,
"external_id": null,
"timezone": "America/Los_Angeles",
"preferred_meeting_spot": ""
}
],
"participants_count": 1,
"spots_left": 4,
"bookmarked": false,
"statistics": {
"views_count": 1,
"invitation_count": null,
"bookmarked_count": 0,
"braindates_count": null
},
"has_conversation": false,
"is_visible": true,
"moderation": "verified",
"braindate_format": "",
"possible_locations": [
{
"id": 235,
"url": "https://api.staging.braindate.com/locations/235/",
"location_context": "onsite",
"braindate_pods_number": 5,
"group_braindate_pods_number": 5,
"timezone": "America/New_York",
"color": "#9A638D",
"body": {
"en": {
"label": "In-Person",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
"4",
"5"
],
"braindate_meeting_point": "Braindate Lounge",
"group_braindate_meeting_point": "Braindate Lounge"
}
},
"group_braindate_capacity": 5
}
],
"preferred_meeting_spot": "",
"cohosts": []
}
- Response :
Most relevant fields to consider in the response data:
Status code:
200 - OK
400 - Bad Request Error
A braindate is already booked at this date
This date is out of the braindate time ranges
This can only be set for group braindates and fishbowl
Field key | Type | What goes in |
---|---|---|
id | Integer | Braindate topic ID |
url | String | Braindate backend topic URL |
urls | Object[String] | The backend url related to the user. Available keys: bookmark , conversation , can_join , braindate , moderation |
permalink | String | Topic permalink URL |
path | String | Topic relative path |
author | Object | User object of the topic owner |
kind | String | Type of topic: "offer", "group", or "fishbowl" |
body | Object | Translated fields container. It is a set of data with language codes as keys and the translated fields sets as values |
picture | Object | |
customization | Custom topic banner ID | |
date | Object | Dictionary containing "start_time", and "end_time" with datetime values |
participants | List[Object] | List of User objects |
participants_count | Integer | Number of participants in the meeting |
spots_left | Integer | Number of spots left in the meeting |
bookmarked | ||
statistics | Object | Dictionary of topic statistics. Available keys: views_count , invitation_count , bookmarked_count , braindates_count |
has_conversation | Boolean | |
is_visible | Boolean | Is topic visible to public |
moderation | String | |
braindate_format | String | Topic format: "Help me solve", "Brainstorm", Storytelling", "Ask me anything", "Open Discussion", "Friendly Debate" |
possible_locations | Object | Location of the topic |
preferred_meeting_spot | String | |
cohosts | List[Objects] | List of User objects. This field is only used for "fishbowl" topic kind |
User translated fields:
Field key | Type | What goes in |
---|---|---|
title | String | Topic title |
description | String | Topic description |
how | String | |
homeworks | String | |
motivation | String | |
question | String | |
keywords | List[String] |
Braindate objects
This is an object representing a Braindate. It contains all relevant user profile information such as: event, topic, conversation, start time, end time, location, custom capacity, etc.
Braindates refers to the meeting that is planned to happen.
Get a braindate
GET {environment-url}/braidnates/{braindate-id}
This endpoint allows you to retrieve a unique Braindate object.
- Path parameters:
Field key | Type | What goes in | Required |
---|---|---|---|
braindate-id | Integer | Braindate ID | True |
Sample response (200)
{
"id": 6629,
"url": "https://api.staging.braindate.com/braindates/6629/",
"conversation": {
"id": 7866,
"url": "https://api.staging.braindate.com/conversations/7866/",
"actions": [
{
"id": "message",
"label": "",
"data": null,
"template": "string",
"style": "info"
}
],
"actions_url": "https://api.staging.braindate.com/conversations/7866/actions/",
"last_update": null,
"messages": [],
"participants": [
{
"id": 28844,
"url": "https://api.staging.braindate.com/users/28844/",
"urls": {
"bookmark": "https://api.staging.braindate.com/users/28844/bookmark/"
},
"avatar": {
"original": "https://api-media.staging.braindate.com/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"original_url": "https://picsum.photos/200",
"30x30": "https://thumbor.staging.braindate.com/30x30/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"webp": {
"30x30": "https://thumbor.staging.braindate.com/30x30/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg"
}
},
"first_name": "John",
"last_name": "Doe",
"username": "jd@example.com",
"body": {
"en": {
"position": "artist",
"company": "my company",
"description": "Dog fanatic"
}
},
"links": {},
"language": "en",
"languages": [],
"flags": {},
"path": "/users/28844/",
"is_connected": false,
"is_me": false,
"permalink": "https://apidocs.staging.braindate.com/users/28844/",
"bookmarked": false,
"external_id": null,
"timezone": "America/Los_Angeles",
"preferred_meeting_spot": "",
"status": {
"core": {
"checkin": false
}
}
}
],
"video_call_participants": [],
"path": "/braindates/6629/",
"permalink": "https://apidocs.staging.braindate.com/braindates/6629/",
"topic": {
"id": 11001,
"url": "https://api.staging.braindate.com/topics/11001/",
"permalink": "https://apidocs.staging.braindate.com/topics/11001/",
"path": "/topics/11001/",
"author": {
"id": 28844,
"url": "https://api.staging.braindate.com/users/28844/",
"urls": {
"bookmark": "https://api.staging.braindate.com/users/28844/bookmark/"
},
"avatar": {
"original": "https://api-media.staging.braindate.com/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"original_url": "https://picsum.photos/200",
"30x30": "https://thumbor.staging.braindate.com/30x30/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"webp": {
"30x30": "https://thumbor.staging.braindate.com/30x30/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg"
}
},
"first_name": "John",
"last_name": "Doe",
"username": "jd@example.com",
"body": {
"en": {
"position": "artist",
"company": "my company",
"description": "Dog fanatic",
"roles": "Sticker collector and actor",
"excited_about": "learning how technology can impact sustainability",
"preferred_braindates": "talk about the environment, food and fashion",
"dream_braindate": "Werner Herzog, Simone de Beauvoir, MLK, Yvon Chouinard, Michael Pollan",
"pronouns": "he/him",
"love_talking_about": [
"technology"
],
"want_to_learn": [
"ai"
],
"knowledgeable_about": [
"eastern cuisine"
]
}
},
"links": {},
"language": "en",
"languages": [],
"flags": {},
"path": "/users/28844/",
"is_connected": false,
"is_me": false,
"statistics": null,
"permalink": "https://apidocs.staging.braindate.com/users/28844/",
"bookmarked": false,
"timezone": "America/Los_Angeles",
"locations": [
{
"id": 235,
"url": "https://api.staging.braindate.com/locations/235/",
"location_context": "onsite",
"braindate_pods_number": 5,
"group_braindate_pods_number": 5,
"timezone": "America/New_York",
"color": "#9A638D",
"body": {
"en": {
"label": "In-Person",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
"4",
"5"
],
"braindate_meeting_point": "Braindate Lounge",
"group_braindate_meeting_point": "Braindate Lounge"
}
},
"group_braindate_capacity": 5
},
{
"id": 236,
"url": "https://api.staging.braindate.com/locations/236/",
"location_context": "virtual",
"braindate_pods_number": 5,
"group_braindate_pods_number": 500,
"timezone": "America/New_York",
"color": "#5BB8ED",
"body": {
"en": {
"label": "Virtual",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
...
"500"
],
"braindate_meeting_point": "Virtual Braindate platform",
"group_braindate_meeting_point": "Virtual Braindate platform"
},
"fr": {
"label": "Virtuel",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
...
"500"
],
"braindate_meeting_point": "Plateforme Braindate virtuel",
"group_braindate_meeting_point": "Plateforme Braindate virtuel"
}
},
"group_braindate_capacity": 8
}
],
"preferred_meeting_spot": ""
},
"kind": "group",
"body": {
"en": {
"title": "My topic - updated",
"how": "",
"homeworks": "",
"motivation": "",
"question": "",
"keywords": [
"key3",
"key4"
]
}
},
"picture": {},
"bookmarked": false,
"is_visible": true,
"braindate_format": "",
"preferred_meeting_spot": "",
"cohosts": []
},
"reply_url": "https://api.staging.braindate.com/conversations/7866/reply/",
"socket_url": "wss://api.staging.braindate.com/ws/conversations/7866/",
"fishbowl_socket_url": "",
"unread_count": null,
"urls": {
"reply": "https://api.staging.braindate.com/conversations/7866/reply/",
"actions": "https://api.staging.braindate.com/conversations/7866/actions/",
"socket_url": "wss://api.staging.braindate.com/ws/conversations/7866/",
"fishbowl_socket_url": "",
"mark_as_read": "https://api.staging.braindate.com/conversations/7866/mark_as_read/",
"mark_as_unread": "https://api.staging.braindate.com/conversations/7866/mark_as_unread/"
},
"last_read": null
},
"permalink": "https://apidocs.staging.braindate.com/braindates/6629/",
"path": "/braindates/6629/",
"date": {
"start_time": "2022-06-09T11:00:00Z",
"end_time": "2022-06-09T11:45:00Z"
},
"confirmed": true,
"cancelled": false,
"declined": false,
"propositions_url": "https://api.staging.braindate.com/braindates/6629/propositions/",
"last_user_proposition": {
"id": 28844,
"url": "https://api.staging.braindate.com/users/28844/",
"urls": {
"bookmark": "https://api.staging.braindate.com/users/28844/bookmark/"
},
"avatar": {
"original": "https://api-media.staging.braindate.com/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"original_url": "https://picsum.photos/200",
"30x30": "https://thumbor.staging.braindate.com/30x30/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"webp": {
"30x30": "https://thumbor.staging.braindate.com/30x30/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg"
}
},
"first_name": "John",
"last_name": "Doe",
"username": "jd@example.com",
"body": {
"en": {
"position": "artist",
"company": "my company",
"description": "Dog fanatic"
}
},
"links": {},
"language": "en",
"languages": [],
"flags": {},
"path": "/users/28844/",
"is_connected": false,
"is_me": false,
"permalink": "https://apidocs.staging.braindate.com/users/28844/",
"bookmarked": false,
"external_id": null,
"timezone": "America/Los_Angeles",
"preferred_meeting_spot": ""
},
"pod": 1,
"checkins": [],
"urls": {
"checkin": "https://api.staging.braindate.com/braindates/6629/checkin/",
"followup": "https://api.staging.braindate.com/braindates/6629/followup/",
"google-calendar-export": "https://calendar.google.com/calendar/render?action=TEMPLATE&text=Group+braindate+to+talk+about+%22My+topic+-+updated%22&details=%3Cp%3EHere+are+all+the+people+that+will+be+part+of+the+discussion%3A%3C%2Fp%3E%0A%3Cul%3E%0A%3Cli%3EJohn+Doe+%28Host%29%3C%2Fli%3E%0A%3C%2Ful%3E%0A%3Cp%3ELocation%3A+Check+yourself+in%2C+10+minutes+in+advance%2C+to+find+your+table+at+the+Braindate+Lounge.%3C%2Fp%3E%0A%3Cp%3ELet+the+group+know+if+you%E2%80%99re+running+late+or+can%E2%80%99t+make+it+through+the+Braindate+platform.%3C%2Fp%3E%0A%3Cp%3EDetails%3A+%3Ca+href%3D%22https%3A%2F%2Fapidocs.staging.braindate.com%2Fbraindates%2F6629%2F%22%3Ego+to+the+Braindate+platform%3C%2Fa%3E%3C%2Fp%3E&dates=20220609T110000Z%2F20220609T114500Z&ctz=America%2FNew_York&location=In-Person",
"ical-file": "https://api.staging.braindate.com/braindates/6629/ical_file/?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dnZWRpbl91c2VyIjoyNjQzOSwiYWN0b3JfdXNlciI6MjY0MzksImxvZ2dlZGluX3Rva2VuIjoiNTdkNzg3ZTJkNWIyN2Q2ZGQ0NjQyNzM5OWJkNzBkZjk3NjIwOTZhYyIsImFjdG9yX3Rva2VuIjoiNTdkNzg3ZTJkNWIyN2Q2ZGQ0NjQyNzM5OWJkNzBkZjk3NjIwOTZhYyIsImV2ZW50X2lkIjoxODMsImlzcyI6ImUxODA6YnJhaW5kYXRlLWFwaSIsImlhdCI6MTY1NDc5NzUzOCwiZXhwIjoxNjU0Nzk3NjU4fQ.dURT2JvpFKbhNiMbt4yr77NoDhwnRjI0h-TNGGhSkjQ"
},
"capacity": 5,
"spots_left": 4,
"location": {
"id": 235,
"url": "https://api.staging.braindate.com/locations/235/",
"location_context": "onsite",
"braindate_pods_number": 5,
"group_braindate_pods_number": 5,
"timezone": "America/New_York",
"color": "#9A638D",
"body": {
"en": {
"label": "In-Person",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
"4",
"5"
],
"braindate_meeting_point": "Braindate Lounge",
"group_braindate_meeting_point": "Braindate Lounge"
}
},
"group_braindate_capacity": 5
},
"preferred_meeting_spot": ""
}
- Response :
Most relevant fields to consider in the response data:
Status code:
200 - OK
Field key | Type | What goes in |
---|---|---|
id | Integer | Braindate ID |
url | String | Braindate backend URL |
conversation | Object | Conversation object tied to the braindate meeting |
permalink | String | Braindate permalink URL |
path | String | Braindate relative path |
date | Object | Dictionary containing "start_time", and "end_time" with datetime values in UTC format |
confirmed | Boolean | Is the braindate confirmed |
cancelled | Boolean | Is the braindate cancelled |
declined | Boolean | Is the braindate declined |
propositions_url | String | Backend URL of the braindate propositions |
last_user_proposition | Object | User object of the last user proposition |
pod | Integer | |
checkins | List | |
urls | Object | The backend url related to the braindate. Available keys: checkin , followup , google-calendar-export , ical-file |
capacity | Integer | Maximum capacity of the braindate |
spots_left | Integer | Number of available spots left in the braindate |
location | Object | Location object tied to the braindate meeting |
preferred_meeting_spot | String | Preferred meeting spot |
List briandates
GET {environment-url}/braindates/
This endpoint allows you to retrieve a list of Braindate objects. Calling GET {environment-url}/v2/braindates/ will provide a paginated response with standard pagination.
If a unique external identifier is stored within the Membership extra_data, you can use a key/value pair to query as well. Using external_id & external_key requires a unique event ID to be provided.
- Query parameters:
Field key | Type | What goes in | Required |
---|---|---|---|
confirmed | Boolean | Is braindate confirmed | False |
cancelled | Boolean | Is braindate cancelled | False |
declined | Boolean | Is braindate declined | False |
checkin_required | Boolean | Is checkin required | False |
happening_soon | Boolean | Is braindate happening within 30 minutes | False |
event | String/Comma-separated list | Event ID(s) to include (Example: event=1,2,4 ) or exclude (Example: event=-3 ) from the query |
False |
status | String | The status of the braindates to return. | |
user | String/Comma-separated list | User ID(s) to include (Example: user=1,2,4 ) or exclude (Example: user=-3 ) from the query |
False |
external_key | Key value identifier stored within the membership.Requires an event parameter to be given | False | |
external_id | ID value identifier stored within the membership |
Sample response (200)
[
{
"id": 6629,
"url": "https://api.staging.braindate.com/braindates/6629/",
"conversation": {
"id": 7866,
"url": "https://api.staging.braindate.com/conversations/7866/",
"actions": [],
"actions_url": "https://api.staging.braindate.com/conversations/7866/actions/",
"last_update": null,
"messages": [],
"participants": [
{
"id": 28844,
"url": "https://api.staging.braindate.com/users/28844/",
"urls": {
"bookmark": "https://api.staging.braindate.com/users/28844/bookmark/"
},
"avatar": {
"original": "https://api-media.staging.braindate.com/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"original_url": "https://picsum.photos/200",
"30x30": "https://thumbor.staging.braindate.com/30x30/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"webp": {
"30x30": "https://thumbor.staging.braindate.com/30x30/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg"
}
},
"first_name": "John",
"last_name": "Doe",
"username": "jd@example.com",
"body": {
"en": {
"position": "artist",
"company": "my company",
"description": "Dog fanatic"
}
},
"links": {},
"language": "en",
"languages": [],
"flags": {},
"path": "/users/28844/",
"is_connected": false,
"is_me": false,
"permalink": "https://apidocs.staging.braindate.com/users/28844/",
"bookmarked": false,
"external_id": null,
"timezone": "America/Los_Angeles",
"preferred_meeting_spot": "",
"status": {
"core": {
"checkin": false
}
}
}
],
"video_call_participants": [],
"path": "/braindates/6629/",
"permalink": "https://apidocs.staging.braindate.com/braindates/6629/",
"topic": {
"id": 11001,
"url": "https://api.staging.braindate.com/topics/11001/",
"permalink": "https://apidocs.staging.braindate.com/topics/11001/",
"path": "/topics/11001/",
"author": {
"id": 28844,
"url": "https://api.staging.braindate.com/users/28844/",
"urls": {
"bookmark": "https://api.staging.braindate.com/users/28844/bookmark/"
},
"avatar": {
"original": "https://api-media.staging.braindate.com/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"original_url": "https://picsum.photos/200",
"30x30": "https://thumbor.staging.braindate.com/30x30/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"webp": {
"30x30": "https://thumbor.staging.braindate.com/30x30/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg"
}
},
"first_name": "John",
"last_name": "Doe",
"username": "jd@example.com",
"body": {
"en": {
"position": "artist",
"company": "my company",
"description": "Dog fanatic",
"roles": "Sticker collector and actor",
"excited_about": "learning how technology can impact sustainability",
"preferred_braindates": "talk about the environment, food and fashion",
"dream_braindate": "Werner Herzog, Simone de Beauvoir, MLK, Yvon Chouinard, Michael Pollan",
"pronouns": "he/him",
"love_talking_about": [
"technology"
],
"want_to_learn": [
"ai"
],
"knowledgeable_about": [
"eastern cuisine"
]
}
},
"links": {},
"language": "en",
"languages": [],
"flags": {},
"path": "/users/28844/",
"is_connected": false,
"is_me": false,
"statistics": null,
"permalink": "https://apidocs.staging.braindate.com/users/28844/",
"bookmarked": false,
"timezone": "America/Los_Angeles",
"locations": [
{
"id": 235,
"url": "https://api.staging.braindate.com/locations/235/",
"location_context": "onsite",
"braindate_pods_number": 5,
"group_braindate_pods_number": 5,
"timezone": "America/New_York",
"color": "#9A638D",
"body": {
"en": {
"label": "In-Person",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
"4",
"5"
],
"braindate_meeting_point": "Braindate Lounge",
"group_braindate_meeting_point": "Braindate Lounge"
}
},
"group_braindate_capacity": 5
},
{
"id": 236,
"url": "https://api.staging.braindate.com/locations/236/",
"location_context": "virtual",
"braindate_pods_number": 5,
"group_braindate_pods_number": 500,
"timezone": "America/New_York",
"color": "#5BB8ED",
"body": {
"en": {
"label": "Virtual",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
...,
"500"
],
"braindate_meeting_point": "Virtual Braindate platform",
"group_braindate_meeting_point": "Virtual Braindate platform"
},
"fr": {
"label": "Virtuel",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
...,
"500"
],
"braindate_meeting_point": "Plateforme Braindate virtuel",
"group_braindate_meeting_point": "Plateforme Braindate virtuel"
}
},
"group_braindate_capacity": 8
}
],
"preferred_meeting_spot": ""
},
"kind": "group",
"body": {
"en": {
"title": "My topic - updated",
"how": "",
"homeworks": "",
"motivation": "",
"question": "",
"keywords": [
"key4",
"key3"
]
}
},
"picture": {},
"bookmarked": false,
"is_visible": true,
"braindate_format": "",
"preferred_meeting_spot": "",
"cohosts": []
},
"reply_url": "https://api.staging.braindate.com/conversations/7866/reply/",
"socket_url": "wss://api.staging.braindate.com/ws/conversations/7866/",
"fishbowl_socket_url": "",
"unread_count": null,
"urls": {
"reply": "https://api.staging.braindate.com/conversations/7866/reply/",
"actions": "https://api.staging.braindate.com/conversations/7866/actions/",
"socket_url": "wss://api.staging.braindate.com/ws/conversations/7866/",
"fishbowl_socket_url": "",
"mark_as_read": "https://api.staging.braindate.com/conversations/7866/mark_as_read/",
"mark_as_unread": "https://api.staging.braindate.com/conversations/7866/mark_as_unread/"
},
"last_read": null
},
"permalink": "https://apidocs.staging.braindate.com/braindates/6629/",
"path": "/braindates/6629/",
"date": {
"start_time": "2022-06-09T11:00:00Z",
"end_time": "2022-06-09T11:45:00Z"
},
"confirmed": true,
"cancelled": false,
"declined": false,
"propositions_url": "https://api.staging.braindate.com/braindates/6629/propositions/",
"last_user_proposition": {
"id": 28844,
"url": "https://api.staging.braindate.com/users/28844/",
"urls": {
"bookmark": "https://api.staging.braindate.com/users/28844/bookmark/"
},
"avatar": {
"original": "https://api-media.staging.braindate.com/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"original_url": "https://picsum.photos/200",
"30x30": "https://thumbor.staging.braindate.com/30x30/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"webp": {
"30x30": "https://thumbor.staging.braindate.com/30x30/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg"
}
},
"first_name": "John",
"last_name": "Doe",
"username": "jd@example.com",
"body": {
"en": {
"position": "artist",
"company": "my company",
"description": "Dog fanatic"
}
},
"links": {},
"language": "en",
"languages": [],
"flags": {},
"path": "/users/28844/",
"is_connected": false,
"is_me": false,
"permalink": "https://apidocs.staging.braindate.com/users/28844/",
"bookmarked": false,
"external_id": null,
"timezone": "America/Los_Angeles",
"preferred_meeting_spot": ""
},
"pod": 1,
"checkins": [],
"urls": {
"checkin": "https://api.staging.braindate.com/braindates/6629/checkin/",
"followup": "https://api.staging.braindate.com/braindates/6629/followup/"
},
"capacity": 5,
"spots_left": 4,
"location": {
"id": 235,
"url": "https://api.staging.braindate.com/locations/235/",
"location_context": "onsite",
"braindate_pods_number": 5,
"group_braindate_pods_number": 5,
"timezone": "America/New_York",
"color": "#9A638D",
"body": {
"en": {
"label": "In-Person",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
"4",
"5"
],
"braindate_meeting_point": "Braindate Lounge",
"group_braindate_meeting_point": "Braindate Lounge"
}
},
"group_braindate_capacity": 5
},
"preferred_meeting_spot": ""
},
{...}
]
- Response :
Most relevant fields to consider in the response data:
Status code:
200 - OK
Field key | Type | What goes in |
---|---|---|
List[Objects] | List of Braindate objects |
Braindate objects:
Field key | Type | What goes in |
---|---|---|
id | Integer | Braindate ID |
url | String | Braindate backend URL |
conversation | Object | Conversation object tied to the braindate meeting |
permalink | String | Braindate permalink URL |
path | String | Braindate relative path |
date | Object | Dictionary containing "start_time", and "end_time" with datetime values in UTC format |
confirmed | Boolean | Is the braindate confirmed |
cancelled | Boolean | Is the braindate cancelled |
declined | Boolean | Is the braindate declined |
propositions_url | String | Backend URL of the braindate propositions |
last_user_proposition | Object | User object of the last user proposition |
pod | Integer | |
checkins | List | |
urls | Object | The backend url related to the braindate. Available keys: checkin , followup , google-calendar-export , ical-file |
capacity | Integer | Maximum capacity of the braindate |
spots_left | Integer | Number of available spots left in the braindate |
location | Object | Location object tied to the braindate meeting |
preferred_meeting_spot | String | Preferred meeting spot |
Update a braindate
PATCH {environment-url}/braindates/{braindate-id}
This endpoint allows you to update a Braindate object.
Sample payload
{
"pod": 2,
"start_time": "2022-06-09T12:00:00Z",
"end_time": "2022-06-09T12:45:00Z"
}
- Path parameters:
Field key | Type | What goes in | Required |
---|---|---|---|
braindate-id | Integer | Braindate ID | True |
- Payload :
Field key | Type | What goes in | Required |
---|---|---|---|
pod | Integer | POD number | False |
start_time | String | Datetime of start time | False |
end_time | String | Datetime of end time | False |
Sample response (200)
{
"id": 6629,
"pod": 2,
"start_time": "2022-06-09T12:00:00Z",
"end_time": "2022-06-09T12:45:00Z"
}
- Response :
Most relevant fields to consider in the response data:
Status code:
200 - OK
Field key | Type | What goes in |
---|---|---|
id | Integer | Braindate ID |
pod | Integer | Braindate POD number |
start_time | String | Datetime of start time |
end_time | String | Datetime of end time |
Get braindate participants
GET {environment-url}/braindates/participants/
This endpoint allows you to retrieve a list of User objects participating in the braindate.
If a unique external identifier is stored within the Membership extra_data, you can use a key/value pair to query as well. Using external_id & external_key requires a unique event ID to be provided.
- Query parameters:
Field key | Type | What goes in | Required |
---|---|---|---|
confirmed | Boolean | Is braindate confirmed | False |
cancelled | Boolean | Is braindate cancelled | False |
declined | Boolean | Is braindate declined | False |
checkin_required | Boolean | Is checkin required | False |
happening_soon | Boolean | Is braindate happening within 30 minutes | False |
event | String/Comma-separated list | Event ID(s) to include (Example: event=1,2,4 ) or exclude (Example: event=-3 ) from the query |
True |
status | String | The status of the braindates to return. | |
user | String/Comma-separated list | User ID(s) to include (Example: user=1,2,4 ) or exclude (Example: user=-3 ) from the query |
False |
external_key | String | Key value identifier stored within the membership | False |
external_id | String | ID value identifier stored within the membership | False |
- Payload :
Field key | Type | What goes in | Required |
---|
Sample response (200)
{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"user": {
"id": 28844,
"url": "https://api.staging.braindate.com/users/28844/",
"avatar": {
"original": "https://api-media.staging.braindate.com/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"original_url": "https://picsum.photos/200",
"30x30": "https://thumbor.staging.braindate.com/30x30/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"webp": {
"30x30": "https://thumbor.staging.braindate.com/30x30/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg"
}
},
"first_name": "John",
"last_name": "Doe",
"body": {
"en": {
"position": "artist",
"company": "my company",
"description": "Dog fanatic",
"roles": "Sticker collector and actor",
"excited_about": "learning how technology can impact sustainability",
"preferred_braindates": "talk about the environment, food and fashion",
"dream_braindate": "Werner Herzog, Simone de Beauvoir, MLK, Yvon Chouinard, Michael Pollan",
"pronouns": "he/him",
"love_talking_about": [
"technology"
],
"want_to_learn": [
"ai"
],
"knowledgeable_about": [
"eastern cuisine"
]
}
},
"links": {},
"language": "en",
"languages": [],
"flags": {},
"path": "/users/28844/",
"permalink": "https://apidocs.staging.braindate.com/users/28844/",
"is_connected": false,
"external_id": "123ABC",
"timezone": "America/Los_Angeles",
"locations": [
{
"id": 235,
"url": "https://api.staging.braindate.com/locations/235/",
"location_context": "onsite",
"braindate_pods_number": 5,
"group_braindate_pods_number": 5,
"timezone": "America/New_York",
"color": "#9A638D",
"body": {
"en": {
"label": "In-Person",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
"4",
"5"
],
"braindate_meeting_point": "Braindate Lounge",
"group_braindate_meeting_point": "Braindate Lounge"
}
},
"group_braindate_capacity": 5
},
{
"id": 236,
"url": "https://api.staging.braindate.com/locations/236/",
"location_context": "virtual",
"braindate_pods_number": 5,
"group_braindate_pods_number": 500,
"timezone": "America/New_York",
"color": "#5BB8ED",
"body": {
"en": {
"label": "Virtual",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
...,
"500"
],
"braindate_meeting_point": "Virtual Braindate platform",
"group_braindate_meeting_point": "Virtual Braindate platform"
},
"fr": {
"label": "Virtuel",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
...,
"500"
],
"braindate_meeting_point": "Plateforme Braindate virtuel",
"group_braindate_meeting_point": "Plateforme Braindate virtuel"
}
},
"group_braindate_capacity": 8
}
],
"preferred_meeting_spot": ""
},
"braindate": {
"id": 6629,
"urls": {
"checkin": "https://api.staging.braindate.com/braindates/6629/checkin/",
"followup": "https://api.staging.braindate.com/braindates/6629/followup/",
"google-calendar-export": "https://calendar.google.com/calendar/render?action=TEMPLATE&text=Group+braindate+to+talk+about+%22My+topic+-+updated%22&details=%3Cp%3EHere+are+all+the+people+that+will+be+part+of+the+discussion%3A%3C%2Fp%3E%0A%3Cul%3E%0A%3Cli%3EJohn+Doe+%28Host%29%3C%2Fli%3E%0A%3C%2Ful%3E%0A%3Cp%3ELocation%3A+Check+yourself+in%2C+10+minutes+in+advance%2C+to+find+your+table+at+the+Braindate+Lounge.%3C%2Fp%3E%0A%3Cp%3ELet+the+group+know+if+you%E2%80%99re+running+late+or+can%E2%80%99t+make+it+through+the+Braindate+platform.%3C%2Fp%3E%0A%3Cp%3EDetails%3A+%3Ca+href%3D%22https%3A%2F%2Fapidocs.staging.braindate.com%2Fbraindates%2F6629%2F%22%3Ego+to+the+Braindate+platform%3C%2Fa%3E%3C%2Fp%3E&dates=20220609T120000Z%2F20220609T124500Z&ctz=America%2FNew_York&location=In-Person",
"ical-file": "https://api.staging.braindate.com/braindates/6629/ical_file/?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dnZWRpbl91c2VyIjoyNjQzOSwiYWN0b3JfdXNlciI6MjY0MzksImxvZ2dlZGluX3Rva2VuIjoiNTdkNzg3ZTJkNWIyN2Q2ZGQ0NjQyNzM5OWJkNzBkZjk3NjIwOTZhYyIsImFjdG9yX3Rva2VuIjoiNTdkNzg3ZTJkNWIyN2Q2ZGQ0NjQyNzM5OWJkNzBkZjk3NjIwOTZhYyIsImV2ZW50X2lkIjoxODMsImlzcyI6ImUxODA6YnJhaW5kYXRlLWFwaSIsImlhdCI6MTY1NDgwMjU2NCwiZXhwIjoxNjU0ODAyNjg0fQ.JXbT71lIIvVRynLpa-j3RWIQNsT0qvpzNeUOmyMr9MY"
},
"date": {
"start_time": "2022-06-09T12:00:00Z",
"end_time": "2022-06-09T12:45:00Z"
},
"confirmed": true,
"cancelled": false,
"declined": false,
"capacity": 5,
"topic": {
"id": 11001,
"url": "https://api.staging.braindate.com/topics/11001/",
"kind": "group",
"body": {
"en": {
"title": "My topic - updated",
"how": "",
"homeworks": "",
"motivation": "",
"question": "",
"keywords": [
"key3",
"key4"
]
}
},
"author": {
"id": 28844,
"url": "https://api.staging.braindate.com/users/28844/",
"avatar": {
"original": "https://api-media.staging.braindate.com/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"original_url": "https://picsum.photos/200",
"30x30": "https://thumbor.staging.braindate.com/30x30/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"webp": {
"30x30": "https://thumbor.staging.braindate.com/30x30/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"50x50": "https://thumbor.staging.braindate.com/50x50/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"75x75": "https://thumbor.staging.braindate.com/75x75/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"120x120": "https://thumbor.staging.braindate.com/120x120/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"150x150": "https://thumbor.staging.braindate.com/150x150/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg",
"300x300": "https://thumbor.staging.braindate.com/300x300/filters:format(webp)/core/user/28844/avatar/avatar_28844_1654543917.jpeg"
}
},
"first_name": "John",
"last_name": "Doe",
"body": {
"en": {
"position": "artist",
"company": "my company",
"description": "Dog fanatic",
"roles": "Sticker collector and actor",
"excited_about": "learning how technology can impact sustainability",
"preferred_braindates": "talk about the environment, food and fashion",
"dream_braindate": "Werner Herzog, Simone de Beauvoir, MLK, Yvon Chouinard, Michael Pollan",
"pronouns": "he/him",
"love_talking_about": [
"technology"
],
"want_to_learn": [
"ai"
],
"knowledgeable_about": [
"eastern cuisine"
]
}
},
"is_connected": false,
"timezone": "America/Los_Angeles",
"locations": [
{
"id": 235,
"url": "https://api.staging.braindate.com/locations/235/",
"location_context": "onsite",
"braindate_pods_number": 5,
"group_braindate_pods_number": 5,
"timezone": "America/New_York",
"color": "#9A638D",
"body": {
"en": {
"label": "In-Person",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
"4",
"5"
],
"braindate_meeting_point": "Braindate Lounge",
"group_braindate_meeting_point": "Braindate Lounge"
}
},
"group_braindate_capacity": 5
},
{
"id": 236,
"url": "https://api.staging.braindate.com/locations/236/",
"location_context": "virtual",
"braindate_pods_number": 5,
"group_braindate_pods_number": 500,
"timezone": "America/New_York",
"color": "#5BB8ED",
"body": {
"en": {
"label": "Virtual",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
...,
"500"
],
"braindate_meeting_point": "Virtual Braindate platform",
"group_braindate_meeting_point": "Virtual Braindate platform"
},
"fr": {
"label": "Virtuel",
"braindate_pods": [
"A",
"B",
"C",
"D",
"E"
],
"group_braindate_pods": [
"1",
"2",
"3",
...,
"500"
],
"braindate_meeting_point": "Plateforme Braindate virtuel",
"group_braindate_meeting_point": "Plateforme Braindate virtuel"
}
},
"group_braindate_capacity": 8
}
],
"preferred_meeting_spot": ""
},
"path": "/topics/11001/",
"urls": {
"bookmark": "https://api.staging.braindate.com/topics/11001/bookmark/",
"conversation": "https://api.staging.braindate.com/topics/11001/conversation/",
"can_join": "https://api.staging.braindate.com/topics/11001/can_join/",
"braindate": "https://api.staging.braindate.com/topics/11001/braindate/",
"moderation": "https://api.staging.braindate.com/topics/11001/moderation/"
},
"braindate_format": "",
"preferred_meeting_spot": "",
"cohosts": []
},
"permalink": "https://apidocs.staging.braindate.com/braindates/6629/",
"pod": 2,
"preferred_meeting_spot": ""
},
"checkin": null,
"external_key": "123ABC"
},
{...}
]
}
- Response :
Most relevant fields to consider in the response data:
Status code:
200 - OK
Field key | Type | What goes in |
---|---|---|
count | Integer | Number of instances found |
next | String | URL query for the next 50 entries |
previous | String | URL query for the previous 50 entries |
results | List[Object] | List of Users objects |
Unavailability item objects
This is an object representing an Unavailability item. It contains all relevant user profile information such as: start time, end time, title, etc.
If an unavailability is confirmed
is set to "True", that time slot is blocked off and the user cannot book a braindate during the same time frame. The activity is considered as "blocking".
If not, the unavailability is set to "False" then the user is able to book a braindate during the same time frame and the activity is considered as "non-blocking".
Unavailability item refers to an item in the user's agenda from external activities.
Create an unavailability item
POST {environment-url}/memberships/{membership-id}/unavailability_items/
This endpoint allows you to create an Unavailability item object.
Sample payload
{
"activities": [
{
"start_time": "2018-02-13T15:08:24.758117+00:00",
"end_time": "2018-02-13T17:08:24.758117+00:00",
"body": {
"en": {
"label": "Meeting 1"
}
},
"confirmed": false
},
{
"start_time": "2018-02-14T14:08:24.758117+00:00",
"end_time": "2018-02-14T16:08:24.758117+00:00",
"body": {
"fr": {
"label": "Conférence 2"
}
}
}
]
}
- Path parameters:
Field key | Type | What goes in | Required |
---|---|---|---|
membership-id | Integer | Membership ID | True |
- Payload :
Field key | Type | What goes in | Required |
---|---|---|---|
activities | List[Object] | List of Unavailability item objects | True |
Field key | Type | What goes in | Required |
---|---|---|---|
start_time | String | Activity start time | True |
end_time | String | Activity end time | True |
body | Object | Translated fields container. It is a set of data with language codes as keys and the translated fields sets as values | True |
confirmed | Boolean | Set the activity to be blocking or non-blocking. Default: False | False |
Field key | Type | What goes in | Required |
---|---|---|---|
label | String | The activity label | False |
Sample response (201)
[
{
"id": 68554,
"start_time": "2018-02-13T15:08:24.758117Z",
"end_time": "2018-02-13T17:08:24.758117Z",
"user": 28844,
"event": 183,
"updated_at": "2022-06-09T20:41:37.329362Z",
"body": {
"en": {
"label": "Meeting 1"
}
},
"confirmed": false
},
{
"id": 68555,
"start_time": "2018-02-14T14:08:24.758117Z",
"end_time": "2018-02-14T16:08:24.758117Z",
"user": 28844,
"event": 183,
"updated_at": "2022-06-09T20:41:37.329362Z",
"body": {
"fr": {
"label": "Conférence 2"
}
},
"confirmed": true
}
]
- Response :
Most relevant fields to consider in the response data:
Status code:
201 - Created
Field key | Type | What goes in |
---|---|---|
List[Object] | List of Unavailability item objects |
Field key | Type | What goes in |
---|---|---|
id | Integer | Unavailability item ID |
start_time | String | Datetime start time |
end_time | String | Datetime end time |
user | String | User ID |
event | String | Event ID |
updated_at | String | Datetime updated time |
body | Object | Translated fields container. It is a set of data with language codes as keys and the translated fields sets as values |
confirmed | Boolean | Set the activity to be blocking or non-blocking. Default: False |
Field key | Type | What goes in |
---|---|---|
label | String | The activity label |
Get an unavailability item
GET {environment-url}/unavailability-item/{unavailability-id}
This endpoint allows you to retrieve a unique Unavailability item object.
- Path parameters:
Field key | Type | What goes in | Required |
---|---|---|---|
unavailability-id | Integer | Unavailability ID | True |
Sample response (200)
{
"id": 68554,
"start_time": "2018-02-13T15:08:24.758117Z",
"end_time": "2018-02-13T17:08:24.758117Z",
"user": 28844,
"event": 183,
"updated_at": "2022-06-09T20:41:37.329362Z",
"body": {
"en": {
"label": "Meeting 1"
}
},
"confirmed": false
}
- Response :
Most relevant fields to consider in the response data:
Status code:
200 - OK
Field key | Type | What goes in |
---|---|---|
id | Integer | Unavailability item ID |
start_time | String | Datetime start time |
end_time | String | Datetime end time |
user | String | User ID |
event | String | Event ID |
updated_at | String | Datetime updated time |
body | Object | Translated fields container. It is a set of data with language codes as keys and the translated fields sets as values |
confirmed | Boolean | Set the activity to be blocking or non-blocking. Default: False |
Field key | Type | What goes in |
---|---|---|
label | String | The activity label |
Delete an unavailability item
DELETE {environment-url}/unavailability-item/{unavailability-id}
This endpoint allows you to delete an Unavailability item object.
- Path parameters:
Field key | Type | What goes in | Required |
---|---|---|---|
unavailability-id | Integer | Unavailability ID | True |
- Response :
Most relevant fields to consider in the response data:
Status code:
204 - No content
Update an unavailability item
PATCH {environment-url}/memberships/{membership-id}/unavailability_items/
This endpoint allows you to update an Unavailability item object. This will replace the current Unavailability item object by deleting it and creating a new Unavailability item object.
Sample payload
{
"activities": [
{
"start_time": "2018-02-13T15:08:24.758117+00:00",
"end_time": "2018-02-13T17:08:24.758117+00:00",
"body": {
"en": {
"label": "Meeting A"
}
},
"confirmed": false
},
{
"start_time": "2018-02-14T14:08:24.758117+00:00",
"end_time": "2018-02-14T16:08:24.758117+00:00",
"body": {
"fr": {
"label": "Conférence B"
}
}
}
]
}
- Path parameters:
Field key | Type | What goes in | Required |
---|---|---|---|
membership-id | Integer | Membership ID | True |
- Payload :
Field key | Type | What goes in | Required |
---|---|---|---|
activities | List[Object] | List of Unavailability item objects | True |
Field key | Type | What goes in | Required |
---|---|---|---|
start_time | String | Activity start time | True |
end_time | String | Activity end time | True |
body | Object | Translated fields container. It is a set of data with language codes as keys and the translated fields sets as values | True |
confirmed | Boolean | Set the activity to be blocking or non-blocking. Default: False | False |
Field key | Type | What goes in | Required |
---|---|---|---|
label | String | The activity label | False |
Sample response (201)
[
{
"id": 68556,
"start_time": "2018-02-13T15:08:24.758117Z",
"end_time": "2018-02-13T17:08:24.758117Z",
"user": 28844,
"event": 183,
"updated_at": "2022-06-10T15:20:48.295319Z",
"body": {
"en": {
"label": "Meeting A"
}
},
"confirmed": false
},
{
"id": 68557,
"start_time": "2018-02-14T14:08:24.758117Z",
"end_time": "2018-02-14T16:08:24.758117Z",
"user": 28844,
"event": 183,
"updated_at": "2022-06-10T15:20:48.295319Z",
"body": {
"fr": {
"label": "Conférence B"
}
},
"confirmed": true
}
]
- Response :
Most relevant fields to consider in the response data:
Status code:
201 - Created
Field key | Type | What goes in |
---|---|---|
List[Object] | List of Unavailability item objects |
Unavailability item objects:
Field key | Type | What goes in |
---|---|---|
id | Integer | Unavailability item ID |
start_time | String | Datetime start time |
end_time | String | Datetime end time |
user | String | User ID |
event | String | Event ID |
updated_at | String | Datetime updated time |
body | Object | Translated fields container. It is a set of data with language codes as keys and the translated fields sets as values |
confirmed | Boolean | Set the activity to be blocking or non-blocking. Default: False |
Field key | Type | What goes in |
---|---|---|
label | String | The activity label |
Be notified in real time
This part covers our notification api, you can call it the Webhook API as well.
Get started
To start using the Webhook API, you need to provide us :
- The URL you want us to push the payload to
- A secret character string meant to authentify the request. This secret we will be push along with the data
Please get in touch with our project manager for this at techsupport@e-180.com
Hook events & payload
Hook events
The hook events below trigger a web push notification accompanied by the relevant payload
hook-event | Trigger |
---|---|
user-updated | User object changes |
braindate-updated | Braindate creation, schedule or confirmation modification |
topic-updated | Topic title changes |
group-braindate-participation-added | User join a group braindate |
group-braindate-participation-removed | User leaves a group braindate |
membership-created | User gets registered to an event |
"Login" hook event
authenticate-user
is a special case of webhook. When a user tries to login, we first try to log them in against our own database. If no user is found, we send POST requests to this special webhook with the username
and password
parameters. If you are able to login this user with those credentials, you should return the same type of data you would send to create a user. If you are not able to, simply return a 4xx code.
Payload
# Sample payload
{
'hook-event':'membership-created',
'secret':'justbetweenus',
'user' : {
'id': 23,
'username':'email@address.com',
'first_name': 'John',
'last_name': 'Toe',
'links': {
'facebook': 'http://facebook/jt',
'website': 'http://john.com'
},
'email_address': 'email@address.com',
'phone_number': '52488999000',
'body': {
'fr': {
'company': 'Big company',
'position': 'CEO',
'description': 'An amazing description',
'excited_about': 'A new project',
'preferred_braindates': 'Meet teachers',
'dream_braindate': 'Nelson Mandela',
'roles': 'i cook at home'
}
}
},
'event' : {
'id': 23,
'custom_id':'awesome_event_mtl'
}
}
The payload is in a JSON format.
It always contains :
Field key | What goes in |
---|---|
hook-event | The hook event code |
secret | The secret you provided us |
The other content of the payload will vary depending on the hook event. It can be :
Field key | What goes in |
---|---|
event | Event data |
user | User data |
topic | Topic data |
braindate | braindate data |
participation | braindate participation data |
user-updated
This event will generate a payload containing :
Field key | What goes in |
---|---|
hook-event | 'user-updated' |
secret | The secret provided |
user | The user data |
event | The event data |
braindate-updated
This event will generate a payload containing :
Field key | What goes in |
---|---|
hook-event | 'braindate-updated' |
secret | The secret provided |
braindate | The braindate data |
topic | The braindate's topic data |
event | The event data |
topic-updated
This event will generate a payload containing :
Field key | What goes in |
---|---|
hook-event | 'topic-updated' |
secret | The secret provided |
topic | The topic data |
event | The event data |
group-braindate-participation-added
This event will generate a payload containing :
Field key | What goes in |
---|---|
hook-event | 'group-braindate-participation-added' |
secret | The secret provided |
participation | The added participation |
braindate | The related braindate |
topic | The topic data |
event | The event data |
group-braindate-participation-removed
This event will generate a payload containing :
Field key | What goes in |
---|---|
hook-event | 'group-braindate-participation-removed' |
secret | The secret provided |
participation | The removed participation |
braindate | The related braindate |
topic | The topic data |
event | The event data |
membership-created
This event will generate a payload containing :
Field key | What goes in |
---|---|
hook-event | 'membership-created' |
secret | The secret provided |
user | The user data |
event | The event data |
Data structure reference
Event data
# Sample event data
{
'id': 23,
'custom_id':'awesome_event_mtl'
}
Field key | What goes in |
---|---|
id | The technical identifier |
custom_id | A more human friendly identifier |
User data
# Sample user data
{
'id': 23,
'username':'email@address.com',
'first_name': 'John',
'last_name': 'Toe',
'links': {
'facebook': 'http://facebook/jt',
'website': 'http://john.com'
},
'language':'en',
'email_address': 'email@address.com',
'phone_number': '52488999000',
'body': {
'fr': {
'company': 'Big company',
'position': 'CEO',
'description': 'An amazing description',
'excited_about': 'A new project',
'preferred_braindates': 'Meet teachers',
'dream_braindate': 'Nelson Mandela',
'roles': 'i cook at home'
}
},
'avatar':{...},
'external_id': null
}
Field key | What goes in |
---|---|
id | The technical identifier |
username | The login |
first_name | The first name |
last_name | The last name |
links | A key/value set of links. Keys can be 'facebook', 'linkedin', 'twitter' and 'website' |
language | The language code |
email_adress | The email address |
phone number | The phone number |
body | Key-value pair of data with language codes as keys and the translated fields as values |
avatar | The URL links to the saved avatar image in various formats |
User translated fields
Field key | What goes in |
---|---|
company | The user current company name |
position | The user's positions |
description | A description a the user |
excited_about | What the user is excited about |
preferred_braindates | The kind of people or topic the user prefers |
dream_braindate | The person the user would dream to braindate |
roles | Things the user do or is aside work |
Topic data
# Sample topic data with no related confirmed braindates
{
'id': 34,
'author': {
'id': 23,
'username':'email@address.com',
'first_name': 'John',
'last_name': 'Toe',
'links': {
'facebook': 'http://facebook/jt',
'website': 'http://john.com'
},
'email_address': 'email@address.com',
'phone_number': '52488999000',
'body': {
'fr': {
'company': 'Big company',
'position': 'CEO',
'description': 'An amazing description',
'excited_about': 'A new project',
'preferred_braindates': 'Meet teachers',
'dream_braindate': 'Nelson Mandela',
'roles': 'i cook at home'
}
}
},
'kind': 'offer',
'body': {
'en': {
'title': 'Very interesting topic'
}
},
'braindates': []
}
Field key | What goes in |
---|---|
id | The technical identifier |
author | The user data of the topic creator |
kind | 'group' for group braindates, 'offer' for one-on-one braindates |
body | Key-value pair of data with language codes as keys and the translated fields as values |
braindates | The list of confirmed braindates related to this topic |
Topic translated fields
Field key | What goes in |
---|---|
title | The topic's title |
Braindate data
# Sample braindate data
{
'id': 34,
'meeting_point': 'The braindate lounge',
'start': '2018-12-31T18:30:00-06:00',
'end': '2018-12-31T19:00:00-06:00',
'status': 'confirmed',
'short_url': 'https://braindate.com/shortbraindateurl'
'participants': [{
'id': 23,
'username':'email@address.com',
'first_name': 'John',
'last_name': 'Toe',
'links': {
'facebook': 'http://facebook/jt',
'website': 'http://john.com'
},
'email_address': 'email@address.com',
'phone_number': '52488999000',
'body': {
'fr': {
'company': 'Big company',
'position': 'CEO',
'description': 'An amazing description',
'excited_about': 'A new project',
'preferred_braindates': 'Meet teachers',
'dream_braindate': 'Nelson Mandela',
'roles': 'i cook at home'
}
}, {
'id': 11,
'username':'other@address.com',
'first_name': 'Bill',
'last_name': 'Kid',
'links': None,
'email_address': 'other@address.com',
'phone_number': '52488922000',
'body': {
'fr': {
'company': 'Small company',
'position': 'Teacher',
'description': None,
'excited_about': None,
'preferred_braindates': None,
'dream_braindate': None,
'roles': None
}
}
}]
}
Field key | What goes in |
---|---|
id | The technical identifier |
meeting_point | The meeting point |
start | The start date and time of the braindate (iso 8601 formatted) |
end | The end date and time of the braindate (iso 8601 formatted) |
short_url | A direct link to the braindate in the app |
status | 'pending', 'confirmed' or 'cancelled' |
participants | The list of participants |
Participation data
# Sample participation data
{
'id': 798,
'user':{
'id': 23,
'username':'email@address.com',
'first_name': 'John',
'last_name': 'Toe',
'links': {
'facebook': 'http://facebook/jt',
'website': 'http://john.com'
},
'email_address': 'email@address.com',
'phone_number': '52488999000',
'body': {
'fr': {
'company': 'Big company',
'position': 'CEO',
'description': 'An amazing description',
'excited_about': 'A new project',
'preferred_braindates': 'Meet teachers',
'dream_braindate': 'Nelson Mandela',
'roles': 'i cook at home'
}
}
}
}
Field key | What goes in |
---|---|
id | The technical identifier |
user | The user data of the participant |