Users
On this page, we'll dive into the different users endpoints you can use to fetch the members of a community and the users attached to a project.
List community users
This endpoint allows you to retrieve a paginated list of all your community's users, together with the filter values that are actually present among them.
take: 0 returns every member of the community but strips the nested
profile collections: country, userInterests, userSkills,
userSocial, userMarketsExpertises and
userSustainableDevelopmentsGoals come back as null and every
communityFilters array comes back empty. Send a positive take when you
need the full profile payload.
Request body attributes
- Name
communityId- Type
- integer
- Description
Required. The ID of the community whose members are listed — the list is hard-scoped to the approved members of this community. Omitting it is not "all communities": the request is treated as community
0, no community matches, and it fails with500 Internal Server Error.
- Name
skip- Type
- integer
- Description
The number of users to skip. Defaults to
0. Whenskipis greater than0,users.countis returned as0— the total is only computed for the first page.
- Name
take- Type
- integer
- Description
The maximum number of users to return. Defaults to
0, which returns every member of the community and switches the endpoint to the reduced payload described in the note above.
- Name
pageSize- Type
- integer
- Description
Alias for
take. Applied only whentakeis absent or0; if both are sent,takewins.
- Name
communityCircleId- Type
- integer | null
- Description
Return only members that belong to this community circle. When set,
circleFilteris ignored.
- Name
circleFilter- Type
- object | null
- Description
Include or exclude several community circles at once. Ignored when
communityCircleIdis set. Described under thecircleFilterobject below.
- Name
name- Type
- string | null
- Description
Free-text search. Despite the field name it is not limited to the member's name: the term is matched against first name, last name, e-mail, biography, company and occupation, and a member is also returned when it matches one of their skills, industries, market-expertise countries or Sustainable Development Goals, their country, or the name of a project they are an approved Team or Mentors member of in this community. An unquoted term is matched as a prefix; wrap it in double quotes for an exact-phrase search. When
nameis set,orderByis ignored and the results come back in relevance order.
- Name
orderBy- Type
- integer
- Description
The sort order, as an integer:
0none (insertion order),1name,2comments posted,3likes given,4users followed,5activity (last login). All are ascending. Defaults to0, and is ignored whennameis supplied.
- Name
countryId- Type
- integer | null
- Description
Return only members whose country is this country ID. When set,
countryFilteris ignored.
- Name
countryFilter- Type
- object | null
- Description
Include or exclude several countries at once. Its
valuesare country IDs. Ignored whencountryIdis set. Same shape as thecircleFilterobject below.
- Name
interestId- Type
- integer | null
- Description
Return only members who declared this industry (interest) ID. When set,
industryFilteris ignored.
- Name
industryFilter- Type
- object | null
- Description
Include or exclude several industries at once. Its
valuesare interest IDs. Ignored wheninterestIdis set. Same shape as thecircleFilterobject below.
- Name
skillId- Type
- integer | null
- Description
Return only members who have a skill in this skill category ID. When set,
skillFilteris ignored.
- Name
skillFilter- Type
- object | null
- Description
Include or exclude several skill categories at once. Its
valuesare skill category IDs, not skill IDs. Ignored whenskillIdis set. Same shape as thecircleFilterobject below.
- Name
sustainableDevelopmentGoalId- Type
- integer | null
- Description
Return only members who declared this UN Sustainable Development Goal.
- Name
marketExpertiseId- Type
- integer | null
- Description
Return only members whose market expertise includes this country ID. When set,
userMarketsExpertisesFilteris ignored.
- Name
userMarketsExpertisesFilter- Type
- object | null
- Description
Include or exclude several market-expertise countries at once. Its
valuesare country IDs. Ignored whenmarketExpertiseIdis set. Same shape as thecircleFilterobject below.
- Name
tags- Type
- array | null
- Description
Community tag names. Returns the members carrying at least one of these tags. When set,
tagFilteris ignored.
- Name
tagFilter- Type
- object | null
- Description
Include or exclude community tags. Unlike
tags, afilterTypeof0requires the member to carry every listed tag. Ignored whentagsis set. Described under thetagFilterobject below.
- Name
companyFilter- Type
- object | null
- Description
Include or exclude members by the company recorded on their profile. Same shape as the
tagFilterobject below.
- Name
userMethodologyFilter- Type
- object | null
- Description
Restrict the list to the members of one or more programs. Its
valuesare methodology IDs — "Program" in the product is "Methodology" in the API. Same shape as thecircleFilterobject below.filterTypeis not read for this filter: it always means "in any of these programs", so1behaves exactly like0. A member matches when they are assigned to the program directly, or when they are an approved Team member of an approved, finished project enrolled in that program in this community.
circleFilter object
The same two-field shape is used by circleFilter, countryFilter, industryFilter, skillFilter, userMarketsExpertisesFilter and userMethodologyFilter. Only the meaning of the IDs in values differs.
- Name
filterType- Type
- integer
- Description
0includes the members matching any ofvalues;1excludes the members matching any ofvalues. Any other value leaves the filter unapplied.userMethodologyFilterdoes not readfilterType: it always includes.
- Name
values- Type
- array | null
- Description
The integer IDs to include or exclude. An empty array leaves the filter unapplied. Always send the array: a filter object sent without
valuesfails with500 Internal Server Error.userMethodologyFilterstays unapplied instead. Omit the whole filter object when you do not want to filter by that facet.
tagFilter object
The same shape is used by tagFilter and companyFilter. It differs from the circleFilter object only in that values holds strings.
- Name
filterType- Type
- integer
- Description
0includes and1excludes. FortagFilter,0requires the member to carry every listed tag, while1excludes any member carrying at least one of them.
- Name
values- Type
- array | null
- Description
The tag names, or the company names, to include or exclude. An empty array leaves the filter unapplied, but — as with the
circleFilterobject — sending the filter object withoutvaluesfails with500 Internal Server Error. Always send the array, or omit the whole object.
Response attributes
- Name
isAdmin- Type
- boolean
- Description
truewhen the caller is an approved member of the community and a community administrator.
- Name
pendingUsers- Type
- array | null
- Description
Always
nullon this endpoint. UseGET /api/Community/UserPending/{communityId}for the members awaiting approval.
- Name
pendingByUsers- Type
- array | null
- Description
Always
nullon this endpoint, for the same reason aspendingUsers.
- Name
users- Type
- object | null
- Description
The paginated result set.
nullwhen the caller may not view the member list. Described under theusersobject below.
- Name
isCommunityMember- Type
- boolean
- Description
truewhen the caller's own membership in this community is approved.
- Name
communityFilters- Type
- object | null
- Description
The filter values actually present among the returned members, ready to drive a filter UI.
nullwhen the caller may not view the member list, and every array is empty whentakeis0. Described under thecommunityFiltersobject below.
users object
- Name
count- Type
- integer
- Description
The total number of members matching the filter, ignoring
skipandtake. Only computed for the first page — it is0wheneverskipis greater than0.
- Name
list- Type
- array
- Description
The page of members. Described under the
users.list[]array items below.
- Name
filters- Type
- array | null
- Description
Application-form question filters. Always
nullon this endpoint. The shape is documented under theusers.filtersarray items below for completeness.
users.filters array items
- Name
question- Type
- string | null
- Description
The form question the filter applies to.
- Name
answers- Type
- array | null
- Description
The distinct answers available for that question, as strings.
users.list[] array items
- Name
communityCircleId- Type
- integer
- Description
The ID of the community circle the member belongs to.
- Name
isPendingByUser- Type
- boolean
- Description
truewhen the member asked to join and is awaiting approval. Alwaysfalsehere —users.listonly contains approved members.
- Name
isPendingByTeam- Type
- boolean
- Description
truewhen the community invited the member and the invitation is unanswered. Alwaysfalsehere, for the same reason.
- Name
isTaggable- Type
- boolean
- Description
Whether the member may be mentioned with an
@mention. Alwaystrueon this endpoint.
- Name
id- Type
- integer
- Description
The user's ID.
- Name
firstName- Type
- string | null
- Description
The user's first name.
- Name
lastName- Type
- string | null
- Description
The user's last name.
- Name
mail- Type
- string | null
- Description
The user's e-mail address. Always
nullon this endpoint.
- Name
photo- Type
- string | null
- Description
The raw stored path of the profile picture, or
nullwhen the user never uploaded one.
- Name
occupation- Type
- string | null
- Description
The user's job title.
- Name
biography- Type
- string | null
- Description
The user's biography, as HTML.
- Name
commentCount- Type
- integer
- Description
Always
0on this endpoint.
- Name
likeCount- Type
- integer
- Description
Always
0on this endpoint.
- Name
followedUsersCount- Type
- integer
- Description
Always
0on this endpoint.
- Name
activationCode- Type
- string | null
- Description
Always
nullon this endpoint.
- Name
activationCodeSent- Type
- boolean | null
- Description
Always
nullon this endpoint.
- Name
isProfileWizardDone- Type
- boolean
- Description
Whether the user completed the profile wizard.
- Name
countryId- Type
- integer | null
- Description
The ID of the user's country.
- Name
country- Type
- object | null
- Description
The user's country, as an object — not a string.
nullwhen the user has no country on file, and alwaysnullwhentakeis0. Described under theusers.list[].countryobject below.
- Name
city- Type
- string | null
- Description
The user's city.
- Name
latitude- Type
- number | null
- Description
The latitude of the user's location, used to place the member on the community map.
- Name
longitude- Type
- number | null
- Description
The longitude of the user's location.
- Name
company- Type
- string | null
- Description
The company recorded on the user's profile.
- Name
isBanned- Type
- boolean
- Description
Always
falseon this endpoint — banned users are not returned.
- Name
isActive- Type
- boolean
- Description
Whether the user's account is active. Always
truehere, for the same reason asisBanned.
- Name
invitationUrl- Type
- string | null
- Description
Always
nullon this endpoint.
- Name
language- Type
- string | null
- Description
The user's interface language, as a culture code such as
en-EN.
- Name
registrationDate- Type
- string | null
- Description
When the user registered, as an ISO-8601 UTC timestamp.
- Name
lastLoginDate- Type
- string | null
- Description
When the user last logged in, as an ISO-8601 UTC timestamp. A user who never logged in has
0001-01-01T00:00:00Z.
- Name
notificationEnabled- Type
- boolean
- Description
Whether the user receives e-mail notifications.
- Name
primaryCommunityId- Type
- integer | null
- Description
The ID of the user's primary community.
- Name
primaryCommunityName- Type
- string | null
- Description
The name of the user's primary community. Always
nullon this endpoint.
- Name
hasPendingRequests- Type
- boolean | null
- Description
Whether the user has open requests in the community.
- Name
userInterests- Type
- array | null
- Description
The industries the user declared.
nullwhentakeis0. Described under theusers.list[].userInterests[]array items below.
- Name
userSkills- Type
- array | null
- Description
The skills the user declared.
nullwhentakeis0. Described under theusers.list[].userSkills[]array items below.
- Name
userSocial- Type
- array | null
- Description
The user's connected social accounts.
nullwhentakeis0. Described under theusers.list[].userSocial[]array items below.
- Name
userMarketsExpertises- Type
- array | null
- Description
The markets, as countries, the user claims expertise in.
nullwhentakeis0. Described under theusers.list[].userMarketsExpertises[]array items below.
- Name
userSustainableDevelopmentsGoals- Type
- array | null
- Description
The UN Sustainable Development Goals the user declared.
nullwhentakeis0. Described under theusers.list[].userSustainableDevelopmentsGoals[]array items below.
- Name
tags- Type
- array | null
- Description
Always
nullon this endpoint. The community tags applied to the member are returned as plain strings inuserTagsinstead.
- Name
userTags- Type
- array | null
- Description
The community tags applied to this member, as strings.
nullwhen the member carries no tags.
- Name
termsAndConditionsVersion- Type
- integer
- Description
The version of the terms and conditions the user accepted.
- Name
photoUrl- Type
- string | null
- Description
The resolved URL of the profile picture, falling back to the default avatar.
- Name
facebookUrl- Type
- string | null
- Description
The profile URL of the user's connected Facebook account, or
null.
- Name
twitterUrl- Type
- string | null
- Description
The profile URL of the user's connected Twitter account, or
null.
- Name
googleUrl- Type
- string | null
- Description
The profile URL of the user's connected Google account, or
null.
- Name
linkedInUrl- Type
- string | null
- Description
The profile URL of the user's connected LinkedIn account, or
null.
- Name
isFollowedByMe- Type
- boolean
- Description
Whether the caller follows this user.
users.list[].country object
The same shape is reused by users.list[].userMarketsExpertises[].country, communityFilters.countries[] and communityFilters.marketExpretises[].
- Name
name- Type
- string | null
- Description
The country's English name.
- Name
code- Type
- string | null
- Description
The ISO 3166-1 alpha-2 country code.
- Name
timezone- Type
- string | null
- Description
The country's IANA time zone.
- Name
id- Type
- integer
- Description
The country's ID — the value to send in
countryIdor incountryFilter.values.
users.list[].userInterests[] array items
- Name
id- Type
- integer
- Description
The ID of the link between the user and the industry. Always
0on this endpoint.
- Name
interest- Type
- object | null
- Description
The industry itself. Described under the
users.list[].userInterests[].interestobject below.
- Name
interestId- Type
- integer
- Description
The industry's ID — the value to send in
interestIdor inindustryFilter.values.
users.list[].userInterests[].interest object
The same shape is reused by communityFilters.industries[].
- Name
name- Type
- string | null
- Description
The industry's name.
- Name
popUpText- Type
- string | null
- Description
The help text shown next to the industry in the interface.
- Name
isActive- Type
- boolean
- Description
Whether the industry is still offered when editing a profile.
- Name
isAddedByUser- Type
- boolean
- Description
Whether a member created this industry themselves rather than picking it from the catalogue.
- Name
id- Type
- integer
- Description
The industry's ID.
users.list[].userSkills[] array items
- Name
id- Type
- integer
- Description
The ID of the link between the user and the skill. Always
0on this endpoint.
- Name
skillId- Type
- integer
- Description
The skill's ID. Always
0on this endpoint; read the ID fromskill.idinstead.
- Name
skill- Type
- object | null
- Description
The skill itself. Described under the
users.list[].userSkills[].skillobject below.
users.list[].userSkills[].skill object
- Name
name- Type
- string | null
- Description
The skill's name.
- Name
isActive- Type
- boolean
- Description
Whether the skill is still offered when editing a profile.
- Name
isAddedByUser- Type
- boolean
- Description
Whether a member created this skill themselves. Always
falseon this endpoint.
- Name
skillCategoryId- Type
- integer
- Description
The ID of the skill category — the value to send in
skillIdor inskillFilter.values.
- Name
skillCategory- Type
- object | null
- Description
The skill's category. Only
nameandidare filled in on this endpoint. Described under theusers.list[].userSkills[].skill.skillCategoryobject below.
- Name
id- Type
- integer
- Description
The skill's ID.
users.list[].userSkills[].skill.skillCategory object
The same shape is reused by communityFilters.interests[].
- Name
name- Type
- string | null
- Description
The category's name.
- Name
isActive- Type
- boolean
- Description
Whether the category is still offered when editing a profile. Always
falseon this endpoint.
- Name
skills- Type
- array | null
- Description
The skills in the category. Always
nullon this endpoint.
- Name
id- Type
- integer
- Description
The category's ID.
users.list[].userSocial[] array items
- Name
id- Type
- integer
- Description
Always
0on this endpoint.
- Name
provider- Type
- string | null
- Description
The social network:
Facebook,Google,TwitterorLinkedIn.
- Name
identifier- Type
- string | null
- Description
The user's ID on that network.
- Name
webPageUrl- Type
- string | null
- Description
The web page the user published on that network.
- Name
profileUrl- Type
- string | null
- Description
The user's profile URL on that network. This is what
facebookUrl,twitterUrl,googleUrlandlinkedInUrlare derived from.
- Name
photoUrl- Type
- string | null
- Description
The avatar URL on that network.
- Name
displayName- Type
- string | null
- Description
The display name on that network.
- Name
description- Type
- string | null
- Description
The profile description on that network.
users.list[].userMarketsExpertises[] array items
- Name
id- Type
- integer
- Description
The ID of the link between the user and the market. Always
0on this endpoint.
- Name
countryId- Type
- integer
- Description
The market's country ID. Always
0on this endpoint; read it fromcountry.idinstead.
- Name
country- Type
- object | null
- Description
The market itself, as a country. Same shape as the
users.list[].countryobject above.
users.list[].userSustainableDevelopmentsGoals[] array items
- Name
id- Type
- integer
- Description
The ID of the link between the user and the goal. Always
0on this endpoint.
- Name
sustainableDevelopmentGoalId- Type
- integer
- Description
The goal's ID. Always
0on this endpoint; read it fromsustainableDevelopmentGoal.idinstead. That same ID is the value to send insustainableDevelopmentGoalId.
- Name
sustainableDevelopmentGoal- Type
- object | null
- Description
The goal itself. Described under the
users.list[].userSustainableDevelopmentsGoals[].sustainableDevelopmentGoalobject below.
users.list[].userSustainableDevelopmentsGoals[].sustainableDevelopmentGoal object
- Name
name- Type
- string | null
- Description
The goal's name, for example
Clean Water and Sanitation.
- Name
iconName- Type
- string | null
- Description
The name of the goal's icon asset.
- Name
id- Type
- integer
- Description
The goal's ID, which matches its UN goal number.
communityFilters object
Every array holds only the distinct values found among the members that matched the filter, sorted by name.
- Name
countries- Type
- array | null
- Description
The distinct countries of the matched members. Items have the same shape as the
users.list[].countryobject above.
- Name
industries- Type
- array | null
- Description
The distinct industries of the matched members. Only
nameandidare filled in —popUpTextisnulland both booleans arefalse. Items otherwise have the same shape as theusers.list[].userInterests[].interestobject above.
- Name
tags- Type
- array | null
- Description
The distinct community tags carried by the matched members, as strings, sorted alphabetically.
- Name
marketExpretises- Type
- array | null
- Description
The distinct markets the matched members claim expertise in, as countries. Items have the same shape as the
users.list[].countryobject above.
- Name
interests- Type
- array | null
- Description
The distinct skill categories of the matched members — despite the field name these are skill categories, not industries. Items have the same shape as the
users.list[].userSkills[].skill.skillCategoryobject above, withskillsalwaysnullandisActivealwaysfalse.
- Name
companies- Type
- array | null
- Description
The distinct companies of the matched members, as strings, sorted alphabetically.
- Name
methodologies- Type
- array | null
- Description
The distinct programs the matched members belong to, as strings, sorted alphabetically. "Program" in the product is "Methodology" in the API.
Possible errors
- Name
401 Unauthorized- Description
The request is not authenticated.
- Name
500 Internal Server Error- Description
communityIddoes not match an existing community — including the case where it was omitted and treated as0. The body is{ "error": "CommunityNotFoundException", "errorCode": null, "message": "..." }. The same status is returned when a filter object other thanuserMethodologyFilteris sent without itsvaluesarray.
Request
curl -X POST https://api.babele.co/api/Community/GetUserList \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN" \
-H "Content-Type: application/json" \
-d '{"communityId":999,"skip":0,"take":50,"orderBy":5}'
Response
{
"isAdmin": true,
"pendingUsers": null,
"pendingByUsers": null,
"users": {
"count": 141,
"list": [
{
"communityCircleId": 1921,
"isPendingByUser": false,
"isPendingByTeam": false,
"isTaggable": true,
"id": 1140,
"firstName": "Jane",
"lastName": "Doe",
"mail": null,
"photo": "/Images/branding.babele/default-user.png",
"occupation": "Water Systems Engineer",
"biography": "<p>Working on decentralised water treatment.</p>",
"commentCount": 0,
"likeCount": 0,
"followedUsersCount": 0,
"activationCode": null,
"activationCodeSent": null,
"isProfileWizardDone": true,
"countryId": 5,
"country": {
"name": "Germany",
"code": "DE",
"timezone": "Europe/Berlin",
"id": 5
},
"city": "Berlin",
"latitude": 52.520008,
"longitude": 13.404954,
"company": "Babele",
"isBanned": false,
"isActive": true,
"invitationUrl": null,
"language": "en-EN",
"registrationDate": "2014-04-25T16:10:12Z",
"lastLoginDate": "2026-06-20T14:05:00Z",
"notificationEnabled": true,
"primaryCommunityId": 999,
"primaryCommunityName": null,
"hasPendingRequests": false,
"userInterests": [
{
"id": 0,
"interest": {
"name": "Agriculture & Farming",
"popUpText": null,
"isActive": true,
"isAddedByUser": false,
"id": 1228
},
"interestId": 1228
}
],
"userSkills": [
{
"id": 0,
"skillId": 0,
"skill": {
"name": "Water Treatment",
"isActive": true,
"isAddedByUser": false,
"skillCategoryId": 1337,
"skillCategory": {
"name": "Building and construction",
"isActive": false,
"skills": null,
"id": 1337
},
"id": 5701
}
}
],
"userSocial": [
{
"id": 0,
"provider": "LinkedIn",
"identifier": "jane-doe-4711",
"webPageUrl": null,
"profileUrl": "https://linkedin.com/in/jane-doe-4711",
"photoUrl": null,
"displayName": "Jane Doe",
"description": null
}
],
"userMarketsExpertises": [
{
"id": 0,
"countryId": 0,
"country": {
"name": "Albania",
"code": "AL",
"timezone": "Europe/Tirane",
"id": 2
}
}
],
"userSustainableDevelopmentsGoals": [
{
"id": 0,
"sustainableDevelopmentGoalId": 0,
"sustainableDevelopmentGoal": {
"name": "Clean Water and Sanitation",
"iconName": "goals_icons-individual-rgb-06",
"id": 6
}
}
],
"tags": null,
"userTags": ["test1", "test2"],
"termsAndConditionsVersion": 1,
"photoUrl": "/Images/branding.babele/default-user.png",
"facebookUrl": null,
"twitterUrl": null,
"googleUrl": null,
"linkedInUrl": "https://linkedin.com/in/jane-doe-4711",
"isFollowedByMe": false
}
],
"filters": null
},
"isCommunityMember": true,
"communityFilters": {
"countries": [
{
"name": "Albania",
"code": "AL",
"timezone": "Europe/Tirane",
"id": 2
},
{
"name": "Germany",
"code": "DE",
"timezone": "Europe/Berlin",
"id": 5
}
],
"industries": [
{
"name": "Ad Tech",
"popUpText": null,
"isActive": false,
"isAddedByUser": false,
"id": 1328
},
{
"name": "Aerospace",
"popUpText": null,
"isActive": false,
"isAddedByUser": false,
"id": 1330
},
{
"name": "Agriculture & Farming",
"popUpText": null,
"isActive": false,
"isAddedByUser": false,
"id": 1228
}
],
"tags": [
"test",
"test1",
"test2"
],
"marketExpretises": [
{
"name": "Albania",
"code": "AL",
"timezone": "Europe/Tirane",
"id": 2
}
],
"interests": [
{
"name": "Building and construction",
"isActive": false,
"skills": null,
"id": 1337
}
],
"companies": [
"Babele"
],
"methodologies": [
"Lean Startup",
"Theory of Change"
]
}
}
How the community user filters work
Every field of the POST /api/Community/GetUserList body other than communityId, skip, take, pageSize, name and orderBy is a filter. This section covers how they combine, the two shapes they come in, and how to discover the values you are allowed to send. POST /api/Community/GetUserMapPins accepts exactly the same body, so all of it applies there too.
The baseline set
Before any filter applies, the list is restricted to the members of communityId whose membership is approved and whose account is active and not banned. Pending members, deactivated accounts and banned accounts are never returned, and no filter can widen the result beyond that baseline.
Filters narrow each other
Filters combine with AND: a member is returned only when they satisfy every filter you sent. Two different filters can never be ORed together — countryFilter plus skillFilter means "in one of these countries and with a skill in one of these categories". Send no filter at all and you get the whole baseline set.
Whether the values inside one filter are ORed or ANDed is decided by that filter's filterType, and the answer is not the same for every filter — see "What filterType means" below.
Two shapes: single-value and multi-value
Most facets can be filtered in two ways: an older single-value field that takes one ID, and a newer dynamic filter object that takes a list of values plus an include/exclude flag.
- Community circle —
communityCircleId, orcircleFilterover community circle IDs. - Country —
countryId, orcountryFilterover country IDs. - Industry —
interestId, orindustryFilterover interest (industry) IDs. - Skill —
skillId, orskillFilterover skill category IDs, not skill IDs. - Market expertise —
marketExpertiseId, oruserMarketsExpertisesFilterover country IDs. - Tag —
tags, ortagFilter; both take tag names as strings. - Company —
companyFilteronly, over company names as strings. - Program —
userMethodologyFilteronly, over methodology (program) IDs. - Sustainable Development Goal —
sustainableDevelopmentGoalIdonly; there is no multi-value form.
When both are sent, the single-value field wins and the multi-value filter is ignored for that facet. countryId, interestId, skillId, marketExpertiseId and sustainableDevelopmentGoalId only count as "sent" when greater than 0, so 0 and null are equivalent to leaving the field out and hand the facet back to its dynamic filter. tags counts as sent when it is a non-empty array.
communityCircleId is applied whenever the field is present, including
when it is 0. 0 is treated as a real circle ID, matches no one, and
still suppresses circleFilter — so omit the field, or send null, when
you do not want to filter by circle.
What filterType means, filter by filter
0 is IsAnyOf and 1 is IsNoneOf; any other value leaves the filter unapplied. For circleFilter, countryFilter, industryFilter, skillFilter, userMarketsExpertisesFilter and companyFilter that reads the way you would expect — 0 keeps the members matching any of values, 1 drops them.
Two filters behave differently, and both are worth knowing before you build a query:
tagFilterwithfilterType: 0means all of. Each listed tag adds another condition the member has to satisfy, so0is an AND for this filter. For "any of these tags" use thetagsarray instead.filterType: 1means the member must carry none of the listed tags.userMethodologyFilterdoes not readfilterType. It always means "in any of these programs", so1behaves exactly like0.
Filtering community users by tag below covers the tag case in full.
Discovering the values you can filter by
Every response carries a communityFilters object holding the distinct values actually present among the members that matched. It is computed over the whole matched set, not just the page you asked for, so it narrows as you add filters and it is what a filter sidebar should be built from. It comes back empty when take is 0.
countries[].idfeedscountryIdandcountryFilter.values.industries[].idfeedsinterestIdandindustryFilter.values.interests[].idfeedsskillIdandskillFilter.values— despite the name these are skill categories, not industries.marketExpretises[].idfeedsmarketExpertiseIdanduserMarketsExpertisesFilter.values.companies[]feedscompanyFilter.values.tags[]feedstagsandtagFilter.values.methodologies[]feeds nothing directly: these are program names, anduserMethodologyFilter.valuestakes IDs.
Two facets have no entry in communityFilters. Community circle IDs are readable from users.list[].communityCircleId, and sustainableDevelopmentGoalId takes the UN goal number, which you can also read from users.list[].userSustainableDevelopmentsGoals[].sustainableDevelopmentGoal.id. For program IDs, use the methodologies[].id values from GET /api/Community/GetOverview?id={id} — see Programs. Skill category IDs are also listed there, in communitySkillCategories.
Pitfalls
- Name
A filter object without values- Description
Sending a filter object whose
valueskey is missing ornullfails with500 Internal Server Error.userMethodologyFilterstays unapplied instead. Always send the array, or omit the whole object rather than sending it empty.
- Name
An empty values array- Description
"values": []leaves the filter unapplied — it does not mean "match nothing". The same is true of"tags": [], which additionally hands control back totagFilter.
- Name
countryFilter and companyFilter skip members with no country- Description
Both filters require the member to have a country on file, so a member with no country is dropped by either of them — including by
filterType: 1.
- Name
take: 0 changes the payload- Description
take: 0returns every matching member, but strips the nested profile collections and returns an emptycommunityFilters. Send a positivetakewhenever you filter.
- Name
count is only computed on the first page- Description
users.countholds the total number of matching members, but only whileskipis0. Every later page returnscount: 0.
Request
curl -X POST https://api.babele.co/api/Community/GetUserList \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"communityId": 999,
"skip": 0,
"take": 50,
"orderBy": 1,
"countryFilter": { "filterType": 0, "values": [5, 52] },
"skillFilter": { "filterType": 0, "values": [1337] }
}'
Response (trimmed)
{
"isAdmin": true,
"users": {
"count": 12,
"list": [ "..." ],
"filters": null
},
"isCommunityMember": true,
"communityFilters": {
"countries": [
{ "name": "Denmark", "code": "DK", "timezone": "Europe/Copenhagen", "id": 52 },
{ "name": "Germany", "code": "DE", "timezone": "Europe/Berlin", "id": 5 }
],
"industries": [],
"tags": ["alumni", "mentor", "test1"],
"marketExpretises": [],
"interests": [
{ "name": "Building and construction", "isActive": false, "skills": null, "id": 1337 }
],
"companies": ["Babele"],
"methodologies": ["Lean Startup"]
}
}
Filtering community users by tag
A user tag is a free-text label applied to a member inside one community. Tags live on the membership, not on the account, so the same person can be mentor in one community and carry no tags at all in another. POST /api/Community/GetUserList only ever matches user tags — project, discussion and resource tags are never considered here.
The tags a returned member carries are in users.list[].userTags, as plain strings. The tags field of a list item is a different thing and is always null on this endpoint.
Finding the tag names
Tag matching is by exact name, so you need the names as they are stored. Two endpoints give them to you:
GET /api/Tag/GetUserTagNameListByCommunity?communityId={communityId}&skip=0&take=0returns every distinct user tag name in the community as a JSON array of strings, sorted alphabetically.take: 0withskip: 0disables pagination and returns all of them; pass a positivetaketo page through instead.communityFilters.tagsonPOST /api/Community/GetUserListreturns the distinct tags carried by the members that matched the current filter — the right source for a progressively narrowing filter UI, but not a complete list of the community's tags.
The three ways to filter
| What you want | Send | Matches |
|---|---|---|
| Any of these tags | tags | Members carrying at least one |
| All of these tags | tagFilter, filterType: 0 | Members carrying every one |
| None of these tags | tagFilter, filterType: 1 | Members carrying none |
The full request bodies for all three are in the examples alongside.
On tagFilter, filterType: 0 means all of: each listed tag adds
another condition the member has to satisfy, so 0 is an AND for this
filter. If you want "any of", use the tags array instead — with two tags
the two forms return different member counts.
tags and tagFilter are mutually exclusive
tagFilter is only read when tags is absent, null or an empty array. A non-empty tags array wins and tagFilter is ignored, whatever it contains — so a single call cannot express "carries mentor or alumni, but not inactive". Pick one form per request, and do the rest client-side if you need both.
Combining tags with other filters
The tag filter ANDs with every other filter in the body, and with name, exactly like the rest. {"tags":["mentor"],"countryFilter":{"filterType":0,"values":[5]}} returns the members tagged mentor who are also in country 5. Sorting and pagination are unaffected by tag filtering.
Pitfalls
- Name
Names are matched whole, not searched- Description
mentordoes not match a tag namedmentorsorLead mentor— there is no prefix or substring matching here. Take the value verbatim from the tag list endpoint.
- Name
Whitespace in stored tag names- Description
GET /api/Tag/GetUserTagNameListByCommunitytrims the names it returns, while the filter compares against the stored value. A tag saved with a leading or trailing space therefore comes back trimmed and then matches nothing when you send it back.communityFilters.tagsdoes not trim, so compare the two lists if a tag you can see is returning no members.
- Name
An empty tags array is not a filter- Description
"tags": []applies nothing and falls through totagFilter. To return everyone, send neither field.
- Name
tagFilter without values fails- Description
"tagFilter": { "filterType": 0 }— with novalueskey — fails with500 Internal Server Error. Always send the array, or omit the object.
- Name
Tags of non-members are invisible- Description
Only approved, active, non-banned members are searched, so tags carried by a pending or banned member never appear in
communityFilters.tagsand never match.
Request
curl -X POST https://api.babele.co/api/Community/GetUserList \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"communityId": 999,
"skip": 0,
"take": 50,
"orderBy": 1,
"tags": ["mentor", "alumni"]
}'
Response (trimmed)
{
"isAdmin": true,
"users": {
"count": 3,
"list": [
{
"id": 1140,
"firstName": "Jane",
"lastName": "Doe",
"tags": null,
"userTags": ["mentor", "alumni"]
}
],
"filters": null
},
"isCommunityMember": true,
"communityFilters": {
"tags": ["alumni", "mentor"]
}
}
Tag name list
[
"alumni",
"investor",
"mentor",
"test1",
"test2"
]
Get project user list
This endpoint returns the users attached to a project — the approved members, the people waiting for the team's answer, and the people applying to change project circle.
communityId is required even though the project is identified by
projectId. Team membership stays project-scoped, but communityId
selects the community–project link through which memberships and
permissions are read. Omitting it — or sending 0 — does not fail: the
request returns 200 OK with only the members attached directly to the
project, dropping everyone whose membership belongs to a community–project
link, and reporting count too low. pendingByUsers and
pendingApplyToTeam are reduced the same way, and isMember and
isAdmin then reflect only the caller's project-scoped membership.
Always send the ID of the community the project is shared into.
POST /api/Community/GetUserList returns mail as null; this endpoint
returns each user's real e-mail address.
Request body attributes
- Name
projectId- Type
- integer
- Description
Required. The ID of the project whose users are listed.
- Name
communityId- Type
- integer
- Description
Required. The ID of the community the project is shared into. It selects the community–project link through which memberships and permissions are read — see the note above for what happens when it is omitted.
- Name
skip- Type
- integer
- Description
The number of users to skip. Defaults to
0. Whenskipis greater than0,users.countis0andpendingByUsersandpendingApplyToTeamcome back as empty arrays — those are only computed for the first page.
- Name
take- Type
- integer
- Description
The maximum number of users to return. Defaults to
0, which returns every matching user.
- Name
pageSize- Type
- integer
- Description
Alias for
take. Applied only whentakeis absent or0.
- Name
projectCircleId- Type
- integer | null
- Description
Return only the users belonging to this project circle, for example only the Team circle.
- Name
name- Type
- string | null
- Description
Return only the users whose full name, in the form
firstName lastName, contains this text.
- Name
orderBy- Type
- integer
- Description
The sort order, as an integer:
0none (membership row ID) and1name, ascending. Any other value behaves as0. Note that this endpoint accepts fewer sort values thanPOST /api/Community/GetUserList.
Response attributes
- Name
isMember- Type
- boolean
- Description
truewhen the caller has a membership row on this project, in any circle.
- Name
canInviteUser- Type
- boolean
- Description
truewhen the caller is a member of the project's Team circle, or an administrator of a community the project is shared into.
- Name
canInviteUserFromOutside- Type
- boolean
- Description
truewhen at least one community the project is visible in allows projects to invite members and mentors from outside the community.
- Name
isAdmin- Type
- boolean
- Description
truewhen the caller is a Team member of the project or an administrator of a community it is shared into.
- Name
pendingByUsers- Type
- array
- Description
The users who asked to join the project and are awaiting the team's answer, plus the outstanding e-mail invitations to people who have no Babele account yet. Empty unless the caller is a Team member or a community administrator, and empty whenever
skipis greater than0. Described under thependingByUsers[]array items below.
- Name
users- Type
- object
- Description
The paginated list of approved project users. Described under the
usersobject below.
- Name
pendingApplyToTeam- Type
- array
- Description
The approved project users who applied to move into another project circle — typically followers applying to join the Team. Gated the same way as
pendingByUsers. Described under thependingApplyToTeam[]array items below.
users object
- Name
count- Type
- integer
- Description
The total number of approved project users matching the filter, ignoring
skipandtake. Only computed for the first page —0wheneverskipis greater than0.
- Name
list- Type
- array
- Description
The page of project users. Described under the
users.list[]array items below.
- Name
filters- Type
- array | null
- Description
Application-form question filters. Always
nullon this endpoint. Same shape as theusers.filtersarray items under List community users above.
users.list[] array items
Same shape as the users.list[] array items under List community users above, except that communityCircleId and isTaggable are replaced by the four project fields below. The values differ on this endpoint, so the population notes below override the community endpoint's.
- Name
projectCircleId- Type
- integer
- Description
The ID of the project circle the user belongs to, for example the Team or the Followers circle.
- Name
isPendingByUser- Type
- boolean
- Description
truewhen the user asked to join and the team has not answered. Alwaysfalseinusers.list, which contains approved users only.
- Name
isPendingByTeam- Type
- boolean
- Description
truewhen the team invited the user and the invitation is unanswered. Alwaysfalseinusers.list.
- Name
requestedProjectCircleId- Type
- integer | null
- Description
The project circle the user applied to move into, or
nullwhen they have no open application.
The inherited user fields carry the same names and meanings as on the community endpoint, but this endpoint populates them differently:
- Name
mail- Type
- string | null
- Description
The user's real e-mail address.
POST /api/Community/GetUserListreturnsnullfor this field; this endpoint returns the address.
- Name
country- Type
- object | null
- Description
Always
nullon this endpoint. OnlycountryIdis available.
- Name
userSkills- Type
- array | null
- Description
The skills the user declared. This is the only nested profile collection this endpoint fills. Described under the
users.list[].userSkills[]array items below.
- Name
userInterests- Type
- array | null
- Description
Always
nullon this endpoint.
- Name
userSocial- Type
- array | null
- Description
Always
nullon this endpoint. The connected accounts surface asfacebookUrl,twitterUrl,googleUrlandlinkedInUrlinstead.
- Name
userMarketsExpertises- Type
- array | null
- Description
Always
nullon this endpoint.
- Name
userSustainableDevelopmentsGoals- Type
- array | null
- Description
Always
nullon this endpoint.
- Name
tags- Type
- array | null
- Description
Always
nullon this endpoint.
- Name
userTags- Type
- array | null
- Description
Always
nullon this endpoint. Community tags are only returned byPOST /api/Community/GetUserList.
- Name
primaryCommunityName- Type
- string | null
- Description
Always
nullon this endpoint.
- Name
activationCode- Type
- string | null
- Description
The user's activation code. Populated here, unlike on the community endpoint.
- Name
activationCodeSent- Type
- boolean | null
- Description
Whether the activation code was sent. Populated here, unlike on the community endpoint.
- Name
invitationUrl- Type
- string | null
- Description
The user's invitation URL. Populated here, unlike on the community endpoint.
- Name
isBanned- Type
- boolean
- Description
Always
falseinusers.list[]— banned users are not returned there. It can betrueinpendingByUsers[]andpendingApplyToTeam[].
- Name
commentCount- Type
- integer
- Description
Always
0on this endpoint.
- Name
likeCount- Type
- integer
- Description
Always
0on this endpoint.
- Name
followedUsersCount- Type
- integer
- Description
Always
0on this endpoint.
users.list[].userSkills[] array items
- Name
id- Type
- integer
- Description
The ID of the link between the user and the skill. Unlike on the community endpoint, this is a real ID.
- Name
skillId- Type
- integer
- Description
The skill's ID.
- Name
skill- Type
- object | null
- Description
The skill itself. Described under the
users.list[].userSkills[].skillobject below.
users.list[].userSkills[].skill object
- Name
name- Type
- string | null
- Description
The skill's name.
- Name
isActive- Type
- boolean
- Description
Whether the skill is still offered when editing a profile.
- Name
isAddedByUser- Type
- boolean
- Description
Whether a member created this skill themselves rather than picking it from the catalogue.
- Name
skillCategoryId- Type
- integer
- Description
The ID of the skill's category.
- Name
skillCategory- Type
- object | null
- Description
The skill's category. Always
nullon this endpoint. Same shape as theusers.list[].userSkills[].skill.skillCategoryobject under List community users above.
- Name
id- Type
- integer
- Description
The skill's ID.
pendingByUsers[] array items
Same shape as the users.list[] array items above, with the following differences.
- Name
isPendingByUser- Type
- boolean
- Description
Always
true— this array only holds users awaiting the team's answer.
- Name
isPendingByTeam- Type
- boolean
- Description
Always
false.
- Name
userSkills- Type
- array | null
- Description
Always
nullhere.
- Name
isFollowedByMe- Type
- boolean
- Description
Always
falsehere.
This array also contains synthesized entries for people invited by e-mail
who have no Babele account yet. Those entries carry only firstName (the
invitee's name), lastName set to the literal (External User), mail,
isPendingByUser: true and photoUrl (the default avatar). Every other
field is 0, false or null — including id, which is 0. Match on
id === 0 to tell them apart from real users.
pendingApplyToTeam[] array items
Same shape as the users.list[] array items above. This array holds project users who applied to move into a different project circle: requestedProjectCircleId is the circle they applied for and projectCircleId is still their current one. Every membership on the project with a requested circle appears here, regardless of approval status.
- Name
requestedProjectCircleId- Type
- integer
- Description
Always non-
nullin this array — it is the array's selection criterion.
- Name
userSkills- Type
- array | null
- Description
The skills the user declared. May be
null— it is only populated when the same user also appears inusers.list.
Possible errors
- Name
401 Unauthorized- Description
The request is not authenticated.
An unknown projectId or communityId is not an error: the endpoint
returns 200 OK with an empty user list rather than 404 Not Found.
Request
curl -X POST https://api.babele.co/api/Project/GetUserList \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN" \
-H "Content-Type: application/json" \
-d '{"projectId":1714,"communityId":999,"skip":0,"take":50,"orderBy":1}'
Response
{
"isMember": false,
"canInviteUser": true,
"canInviteUserFromOutside": true,
"isAdmin": true,
"pendingByUsers": [
{
"projectCircleId": 17474,
"isPendingByUser": true,
"isPendingByTeam": false,
"requestedProjectCircleId": null,
"id": 402792,
"firstName": "John",
"lastName": "Doe",
"mail": "john.doe@example.com",
"photo": "/Images/Uploads/profile_picture/admin_202409121347286849_256x256.jpg",
"occupation": "Admin",
"biography": "",
"commentCount": 0,
"likeCount": 0,
"followedUsersCount": 0,
"activationCode": null,
"activationCodeSent": null,
"isProfileWizardDone": false,
"countryId": 106,
"country": null,
"city": "Rome",
"latitude": 41.902782,
"longitude": 12.496366,
"company": "Benefit",
"isBanned": false,
"isActive": true,
"invitationUrl": null,
"language": "en-EN",
"registrationDate": "2024-09-12T13:44:06Z",
"lastLoginDate": "2026-06-20T14:05:00Z",
"notificationEnabled": true,
"primaryCommunityId": 241,
"primaryCommunityName": null,
"hasPendingRequests": false,
"userInterests": null,
"userSkills": null,
"userSocial": null,
"userMarketsExpertises": null,
"userSustainableDevelopmentsGoals": null,
"tags": null,
"userTags": null,
"termsAndConditionsVersion": 2,
"photoUrl": "/Images/Uploads/profile_picture/admin_202409121347286849_256x256.jpg",
"facebookUrl": null,
"twitterUrl": null,
"googleUrl": null,
"linkedInUrl": null,
"isFollowedByMe": false
},
{
"projectCircleId": 0,
"isPendingByUser": true,
"isPendingByTeam": false,
"requestedProjectCircleId": null,
"id": 0,
"firstName": "Maria",
"lastName": "(External User)",
"mail": "maria@example.org",
"photo": null,
"occupation": null,
"biography": null,
"commentCount": 0,
"likeCount": 0,
"followedUsersCount": 0,
"activationCode": null,
"activationCodeSent": null,
"isProfileWizardDone": false,
"countryId": null,
"country": null,
"city": null,
"latitude": null,
"longitude": null,
"company": null,
"isBanned": false,
"isActive": false,
"invitationUrl": null,
"language": null,
"registrationDate": null,
"lastLoginDate": null,
"notificationEnabled": false,
"primaryCommunityId": null,
"primaryCommunityName": null,
"hasPendingRequests": null,
"userInterests": null,
"userSkills": null,
"userSocial": null,
"userMarketsExpertises": null,
"userSustainableDevelopmentsGoals": null,
"tags": null,
"userTags": null,
"termsAndConditionsVersion": 0,
"photoUrl": "/Images/branding.babele/default-user.png",
"facebookUrl": null,
"twitterUrl": null,
"googleUrl": null,
"linkedInUrl": null,
"isFollowedByMe": false
}
],
"users": {
"count": 5,
"list": [
{
"projectCircleId": 17473,
"isPendingByUser": false,
"isPendingByTeam": false,
"requestedProjectCircleId": null,
"id": 1140,
"firstName": "Jane",
"lastName": "Doe",
"mail": "jane.doe@example.com",
"photo": "/Images/branding.babele/default-user.png",
"occupation": "Water Systems Engineer",
"biography": "",
"commentCount": 0,
"likeCount": 0,
"followedUsersCount": 0,
"activationCode": null,
"activationCodeSent": null,
"isProfileWizardDone": true,
"countryId": 5,
"country": null,
"city": "Berlin",
"latitude": 52.520008,
"longitude": 13.404954,
"company": "Babele",
"isBanned": false,
"isActive": true,
"invitationUrl": null,
"language": "en-EN",
"registrationDate": "2014-04-25T16:10:12Z",
"lastLoginDate": "2026-06-20T14:05:00Z",
"notificationEnabled": true,
"primaryCommunityId": 999,
"primaryCommunityName": null,
"hasPendingRequests": null,
"userInterests": null,
"userSkills": [
{
"id": 106724,
"skillId": 5688,
"skill": {
"name": "Project Finance",
"isActive": true,
"isAddedByUser": false,
"skillCategoryId": 1327,
"skillCategory": null,
"id": 5688
}
}
],
"userSocial": null,
"userMarketsExpertises": null,
"userSustainableDevelopmentsGoals": null,
"tags": null,
"userTags": null,
"termsAndConditionsVersion": 1,
"photoUrl": "/Images/branding.babele/default-user.png",
"facebookUrl": null,
"twitterUrl": null,
"googleUrl": null,
"linkedInUrl": "https://linkedin.com/in/jane-doe-4711",
"isFollowedByMe": false
}
],
"filters": null
},
"pendingApplyToTeam": [
{
"projectCircleId": 17475,
"isPendingByUser": false,
"isPendingByTeam": false,
"requestedProjectCircleId": 17472,
"id": 398954,
"firstName": "Startup",
"lastName": "D3",
"mail": "startup@d3.com",
"photo": "/Images/Uploads/profile_picture/innovator_202303021443434229_256x256.jpg",
"occupation": "Startup @ D3",
"biography": "<p>My bio is coming soon.</p>",
"commentCount": 0,
"likeCount": 0,
"followedUsersCount": 0,
"activationCode": "4b62887c-e058-4208-890c-89e3a0fc460a",
"activationCodeSent": true,
"isProfileWizardDone": false,
"countryId": 1,
"country": null,
"city": "Capetown",
"latitude": null,
"longitude": null,
"company": "D3",
"isBanned": false,
"isActive": true,
"invitationUrl": null,
"language": "en-EN",
"registrationDate": "2023-03-02T14:42:23Z",
"lastLoginDate": "2026-05-13T15:33:00Z",
"notificationEnabled": true,
"primaryCommunityId": 305,
"primaryCommunityName": null,
"hasPendingRequests": false,
"userInterests": null,
"userSkills": [
{
"id": 106724,
"skillId": 5688,
"skill": {
"name": "Project Finance",
"isActive": true,
"isAddedByUser": false,
"skillCategoryId": 1327,
"skillCategory": null,
"id": 5688
}
},
{
"id": 106725,
"skillId": 5687,
"skill": {
"name": "Non-Dilutive Funding",
"isActive": true,
"isAddedByUser": false,
"skillCategoryId": 1327,
"skillCategory": null,
"id": 5687
}
},
{
"id": 106746,
"skillId": 5593,
"skill": {
"name": "Scaling",
"isActive": true,
"isAddedByUser": false,
"skillCategoryId": 1333,
"skillCategory": null,
"id": 5593
}
},
{
"id": 106758,
"skillId": 5863,
"skill": {
"name": "Proxy",
"isActive": true,
"isAddedByUser": false,
"skillCategoryId": 1339,
"skillCategory": null,
"id": 5863
}
}
],
"userSocial": null,
"userMarketsExpertises": null,
"userSustainableDevelopmentsGoals": null,
"tags": null,
"userTags": null,
"termsAndConditionsVersion": 2,
"photoUrl": "/Images/Uploads/profile_picture/innovator_202303021443434229_256x256.jpg",
"facebookUrl": null,
"twitterUrl": null,
"googleUrl": null,
"linkedInUrl": null,
"isFollowedByMe": false
}
]
}
