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.

POST/api/Community/GetUserList

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.

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 with 500 Internal Server Error.

  • Name
    skip
    Type
    integer
    Description

    The number of users to skip. Defaults to 0. When skip is greater than 0, users.count is returned as 0 — 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 when take is absent or 0; if both are sent, take wins.

  • Name
    communityCircleId
    Type
    integer | null
    Description

    Return only members that belong to this community circle. When set, circleFilter is ignored.

  • Name
    circleFilter
    Type
    object | null
    Description

    Include or exclude several community circles at once. Ignored when communityCircleId is set. Described under the circleFilter object 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 name is set, orderBy is ignored and the results come back in relevance order.

  • Name
    orderBy
    Type
    integer
    Description

    The sort order, as an integer: 0 none (insertion order), 1 name, 2 comments posted, 3 likes given, 4 users followed, 5 activity (last login). All are ascending. Defaults to 0, and is ignored when name is supplied.

  • Name
    countryId
    Type
    integer | null
    Description

    Return only members whose country is this country ID. When set, countryFilter is ignored.

  • Name
    countryFilter
    Type
    object | null
    Description

    Include or exclude several countries at once. Its values are country IDs. Ignored when countryId is set. Same shape as the circleFilter object below.

  • Name
    interestId
    Type
    integer | null
    Description

    Return only members who declared this industry (interest) ID. When set, industryFilter is ignored.

  • Name
    industryFilter
    Type
    object | null
    Description

    Include or exclude several industries at once. Its values are interest IDs. Ignored when interestId is set. Same shape as the circleFilter object below.

  • Name
    skillId
    Type
    integer | null
    Description

    Return only members who have a skill in this skill category ID. When set, skillFilter is ignored.

  • Name
    skillFilter
    Type
    object | null
    Description

    Include or exclude several skill categories at once. Its values are skill category IDs, not skill IDs. Ignored when skillId is set. Same shape as the circleFilter object 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, userMarketsExpertisesFilter is ignored.

  • Name
    userMarketsExpertisesFilter
    Type
    object | null
    Description

    Include or exclude several market-expertise countries at once. Its values are country IDs. Ignored when marketExpertiseId is set. Same shape as the circleFilter object below.

  • Name
    tags
    Type
    array | null
    Description

    Community tag names. Returns the members carrying at least one of these tags. When set, tagFilter is ignored.

  • Name
    tagFilter
    Type
    object | null
    Description

    Include or exclude community tags. Unlike tags, a filterType of 0 requires the member to carry every listed tag. Ignored when tags is set. Described under the tagFilter object below.

  • Name
    companyFilter
    Type
    object | null
    Description

    Include or exclude members by the company recorded on their profile. Same shape as the tagFilter object below.

  • Name
    userMethodologyFilter
    Type
    object | null
    Description

    Restrict the list to the members of one or more programs. Its values are methodology IDs — "Program" in the product is "Methodology" in the API. Same shape as the circleFilter object below. filterType is not read for this filter: it always means "in any of these programs", so 1 behaves exactly like 0. 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

    0 includes the members matching any of values; 1 excludes the members matching any of values. Any other value leaves the filter unapplied. userMethodologyFilter does not read filterType: 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 values fails with 500 Internal Server Error. userMethodologyFilter stays 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

    0 includes and 1 excludes. For tagFilter, 0 requires the member to carry every listed tag, while 1 excludes 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 circleFilter object — sending the filter object without values fails with 500 Internal Server Error. Always send the array, or omit the whole object.

Response attributes

  • Name
    isAdmin
    Type
    boolean
    Description

    true when the caller is an approved member of the community and a community administrator.

  • Name
    pendingUsers
    Type
    array | null
    Description

    Always null on this endpoint. Use GET /api/Community/UserPending/{communityId} for the members awaiting approval.

  • Name
    pendingByUsers
    Type
    array | null
    Description

    Always null on this endpoint, for the same reason as pendingUsers.

  • Name
    users
    Type
    object | null
    Description

    The paginated result set. null when the caller may not view the member list. Described under the users object below.

  • Name
    isCommunityMember
    Type
    boolean
    Description

    true when 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. null when the caller may not view the member list, and every array is empty when take is 0. Described under the communityFilters object below.

users object

  • Name
    count
    Type
    integer
    Description

    The total number of members matching the filter, ignoring skip and take. Only computed for the first page — it is 0 whenever skip is greater than 0.

  • 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 null on this endpoint. The shape is documented under the users.filters array 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

    true when the member asked to join and is awaiting approval. Always false here — users.list only contains approved members.

  • Name
    isPendingByTeam
    Type
    boolean
    Description

    true when the community invited the member and the invitation is unanswered. Always false here, for the same reason.

  • Name
    isTaggable
    Type
    boolean
    Description

    Whether the member may be mentioned with an @ mention. Always true on 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 null on this endpoint.

  • Name
    photo
    Type
    string | null
    Description

    The raw stored path of the profile picture, or null when 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 0 on this endpoint.

  • Name
    likeCount
    Type
    integer
    Description

    Always 0 on this endpoint.

  • Name
    followedUsersCount
    Type
    integer
    Description

    Always 0 on this endpoint.

  • Name
    activationCode
    Type
    string | null
    Description

    Always null on this endpoint.

  • Name
    activationCodeSent
    Type
    boolean | null
    Description

    Always null on 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. null when the user has no country on file, and always null when take is 0. Described under the users.list[].country object 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 false on this endpoint — banned users are not returned.

  • Name
    isActive
    Type
    boolean
    Description

    Whether the user's account is active. Always true here, for the same reason as isBanned.

  • Name
    invitationUrl
    Type
    string | null
    Description

    Always null on 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 null on 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. null when take is 0. Described under the users.list[].userInterests[] array items below.

  • Name
    userSkills
    Type
    array | null
    Description

    The skills the user declared. null when take is 0. Described under the users.list[].userSkills[] array items below.

  • Name
    userSocial
    Type
    array | null
    Description

    The user's connected social accounts. null when take is 0. Described under the users.list[].userSocial[] array items below.

  • Name
    userMarketsExpertises
    Type
    array | null
    Description

    The markets, as countries, the user claims expertise in. null when take is 0. Described under the users.list[].userMarketsExpertises[] array items below.

  • Name
    userSustainableDevelopmentsGoals
    Type
    array | null
    Description

    The UN Sustainable Development Goals the user declared. null when take is 0. Described under the users.list[].userSustainableDevelopmentsGoals[] array items below.

  • Name
    tags
    Type
    array | null
    Description

    Always null on this endpoint. The community tags applied to the member are returned as plain strings in userTags instead.

  • Name
    userTags
    Type
    array | null
    Description

    The community tags applied to this member, as strings. null when 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 countryId or in countryFilter.values.

users.list[].userInterests[] array items

  • Name
    id
    Type
    integer
    Description

    The ID of the link between the user and the industry. Always 0 on this endpoint.

  • Name
    interest
    Type
    object | null
    Description

    The industry itself. Described under the users.list[].userInterests[].interest object below.

  • Name
    interestId
    Type
    integer
    Description

    The industry's ID — the value to send in interestId or in industryFilter.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 0 on this endpoint.

  • Name
    skillId
    Type
    integer
    Description

    The skill's ID. Always 0 on this endpoint; read the ID from skill.id instead.

  • Name
    skill
    Type
    object | null
    Description

    The skill itself. Described under the users.list[].userSkills[].skill object 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 false on this endpoint.

  • Name
    skillCategoryId
    Type
    integer
    Description

    The ID of the skill category — the value to send in skillId or in skillFilter.values.

  • Name
    skillCategory
    Type
    object | null
    Description

    The skill's category. Only name and id are filled in on this endpoint. Described under the users.list[].userSkills[].skill.skillCategory object 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 false on this endpoint.

  • Name
    skills
    Type
    array | null
    Description

    The skills in the category. Always null on this endpoint.

  • Name
    id
    Type
    integer
    Description

    The category's ID.

users.list[].userSocial[] array items

  • Name
    id
    Type
    integer
    Description

    Always 0 on this endpoint.

  • Name
    provider
    Type
    string | null
    Description

    The social network: Facebook, Google, Twitter or LinkedIn.

  • 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, googleUrl and linkedInUrl are 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 0 on this endpoint.

  • Name
    countryId
    Type
    integer
    Description

    The market's country ID. Always 0 on this endpoint; read it from country.id instead.

  • Name
    country
    Type
    object | null
    Description

    The market itself, as a country. Same shape as the users.list[].country object above.

users.list[].userSustainableDevelopmentsGoals[] array items

  • Name
    id
    Type
    integer
    Description

    The ID of the link between the user and the goal. Always 0 on this endpoint.

  • Name
    sustainableDevelopmentGoalId
    Type
    integer
    Description

    The goal's ID. Always 0 on this endpoint; read it from sustainableDevelopmentGoal.id instead. That same ID is the value to send in sustainableDevelopmentGoalId.

  • Name
    sustainableDevelopmentGoal
    Type
    object | null
    Description

    The goal itself. Described under the users.list[].userSustainableDevelopmentsGoals[].sustainableDevelopmentGoal object 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[].country object above.

  • Name
    industries
    Type
    array | null
    Description

    The distinct industries of the matched members. Only name and id are filled in — popUpText is null and both booleans are false. Items otherwise have the same shape as the users.list[].userInterests[].interest object 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[].country object 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.skillCategory object above, with skills always null and isActive always false.

  • 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

    communityId does not match an existing community — including the case where it was omitted and treated as 0. The body is { "error": "CommunityNotFoundException", "errorCode": null, "message": "..." }. The same status is returned when a filter object other than userMethodologyFilter is sent without its values array.

Request

POST
/api/Community/GetUserList
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 circlecommunityCircleId, or circleFilter over community circle IDs.
  • CountrycountryId, or countryFilter over country IDs.
  • IndustryinterestId, or industryFilter over interest (industry) IDs.
  • SkillskillId, or skillFilter over skill category IDs, not skill IDs.
  • Market expertisemarketExpertiseId, or userMarketsExpertisesFilter over country IDs.
  • Tagtags, or tagFilter; both take tag names as strings.
  • CompanycompanyFilter only, over company names as strings.
  • ProgramuserMethodologyFilter only, over methodology (program) IDs.
  • Sustainable Development GoalsustainableDevelopmentGoalId only; 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.

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:

  • tagFilter with filterType: 0 means all of. Each listed tag adds another condition the member has to satisfy, so 0 is an AND for this filter. For "any of these tags" use the tags array instead. filterType: 1 means the member must carry none of the listed tags.
  • userMethodologyFilter does not read filterType. It always means "in any of these programs", so 1 behaves exactly like 0.

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[].id feeds countryId and countryFilter.values.
  • industries[].id feeds interestId and industryFilter.values.
  • interests[].id feeds skillId and skillFilter.values — despite the name these are skill categories, not industries.
  • marketExpretises[].id feeds marketExpertiseId and userMarketsExpertisesFilter.values.
  • companies[] feeds companyFilter.values.
  • tags[] feeds tags and tagFilter.values.
  • methodologies[] feeds nothing directly: these are program names, and userMethodologyFilter.values takes 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 values key is missing or null fails with 500 Internal Server Error. userMethodologyFilter stays 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 to tagFilter.

  • 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: 0 returns every matching member, but strips the nested profile collections and returns an empty communityFilters. Send a positive take whenever you filter.

  • Name
    count is only computed on the first page
    Description

    users.count holds the total number of matching members, but only while skip is 0. Every later page returns count: 0.

Request

POST
/api/Community/GetUserList
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=0 returns every distinct user tag name in the community as a JSON array of strings, sorted alphabetically. take: 0 with skip: 0 disables pagination and returns all of them; pass a positive take to page through instead.
  • communityFilters.tags on POST /api/Community/GetUserList returns 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 wantSendMatches
Any of these tagstagsMembers carrying at least one
All of these tagstagFilter, filterType: 0Members carrying every one
None of these tagstagFilter, filterType: 1Members carrying none

The full request bodies for all three are in the examples alongside.

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

    mentor does not match a tag named mentors or Lead 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/GetUserTagNameListByCommunity trims 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.tags does 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 to tagFilter. To return everyone, send neither field.

  • Name
    tagFilter without values fails
    Description

    "tagFilter": { "filterType": 0 } — with no values key — fails with 500 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.tags and never match.

Request

POST
/api/Community/GetUserList
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"
]

POST/api/Project/GetUserList

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.

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. When skip is greater than 0, users.count is 0 and pendingByUsers and pendingApplyToTeam come 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 when take is absent or 0.

  • 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: 0 none (membership row ID) and 1 name, ascending. Any other value behaves as 0. Note that this endpoint accepts fewer sort values than POST /api/Community/GetUserList.

Response attributes

  • Name
    isMember
    Type
    boolean
    Description

    true when the caller has a membership row on this project, in any circle.

  • Name
    canInviteUser
    Type
    boolean
    Description

    true when 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

    true when 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

    true when 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 skip is greater than 0. Described under the pendingByUsers[] array items below.

  • Name
    users
    Type
    object
    Description

    The paginated list of approved project users. Described under the users object 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 the pendingApplyToTeam[] array items below.

users object

  • Name
    count
    Type
    integer
    Description

    The total number of approved project users matching the filter, ignoring skip and take. Only computed for the first page — 0 whenever skip is greater than 0.

  • 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 null on this endpoint. Same shape as the users.filters array 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

    true when the user asked to join and the team has not answered. Always false in users.list, which contains approved users only.

  • Name
    isPendingByTeam
    Type
    boolean
    Description

    true when the team invited the user and the invitation is unanswered. Always false in users.list.

  • Name
    requestedProjectCircleId
    Type
    integer | null
    Description

    The project circle the user applied to move into, or null when 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/GetUserList returns null for this field; this endpoint returns the address.

  • Name
    country
    Type
    object | null
    Description

    Always null on this endpoint. Only countryId is 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 null on this endpoint.

  • Name
    userSocial
    Type
    array | null
    Description

    Always null on this endpoint. The connected accounts surface as facebookUrl, twitterUrl, googleUrl and linkedInUrl instead.

  • Name
    userMarketsExpertises
    Type
    array | null
    Description

    Always null on this endpoint.

  • Name
    userSustainableDevelopmentsGoals
    Type
    array | null
    Description

    Always null on this endpoint.

  • Name
    tags
    Type
    array | null
    Description

    Always null on this endpoint.

  • Name
    userTags
    Type
    array | null
    Description

    Always null on this endpoint. Community tags are only returned by POST /api/Community/GetUserList.

  • Name
    primaryCommunityName
    Type
    string | null
    Description

    Always null on 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 false in users.list[] — banned users are not returned there. It can be true in pendingByUsers[] and pendingApplyToTeam[].

  • Name
    commentCount
    Type
    integer
    Description

    Always 0 on this endpoint.

  • Name
    likeCount
    Type
    integer
    Description

    Always 0 on this endpoint.

  • Name
    followedUsersCount
    Type
    integer
    Description

    Always 0 on 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[].skill object 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 null on this endpoint. Same shape as the users.list[].userSkills[].skill.skillCategory object 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 null here.

  • Name
    isFollowedByMe
    Type
    boolean
    Description

    Always false here.

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-null in 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 in users.list.

Possible errors

  • Name
    401 Unauthorized
    Description

    The request is not authenticated.

Request

POST
/api/Project/GetUserList
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
    }
]
}