Skip to content
On this page

Network API

EndpointMethodDescription
network:listwebsocketGet networks
network:listOrderedwebsocketGet networks ordered
network:searchNetworkswebsocketSearch networks
network:searchTexhibitionNetworkswebsocketSearch texhibition networks
network:getNetworkInfoForUserwebsocketGet network info for user
network:subscribewebsocketSubscribe to network
network:switchwebsocketSwitch network
network:searchUserNetworkswebsocketSearch user networks
network:getNetworksForCountrieswebsocketGet networks for countries
network:subscriptionCreatedwebsocketEventNetwork subscription created event
network:subscriptionUpdatedwebsocketEventNetwork subscription updated event
network:subscriptionRemovedwebsocketEventNetwork subscription removed event

Get networks

Method: websocket

Endpoint: network:list

Description: API returns list of networks that are available to user.

Request:

{
    "data": {
        "type": string
        "offset": int
        "size": int
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "networks": [{
            "network": { network structure }
            "networkDefaults": {
                "metaverseCurrency": string  // in case when network has its own currency
                "provisionCurrency": string  // currency that is used for Verus provisioning
                "enablePayments": bool  // if true - client could purchase products; else - all products are free
                "enableTokenomics": bool  // if true - user will mint or spend tokens for his actions (like placing content in room)
                "disableBalance": bool  // DEPRECATED
                "roomId": string  // default room in network (e.g. Agora in humanity)
                "storylineVideoSound": bool  // enables video sound in storyline by default
                "hasQuestionnaire": bool  // enables matchmaking questionnaire
                "hasSearchCard": bool  // enables matchmaking search by search card
                "hasGamingBalance": bool  // enables gaming balance
                "hasAnalytics": bool  // enables analytics
                "allUsersAreConnected": bool  // if true, all users in network are friends by default
                "disableOwnerBadge": bool  // if true, disables room owner badge (crown) near avatar
                "disableFavoriteRooms": bool  // if true, disables favorite room appearance on client
                "disableShareRoom": bool  // if true, disables room sharing
                "disableRoomCreation": bool  // if true, disables room creation on client
                "orderByFirstComments": bool  // show first resource comments first
                "hideTextchat": bool  // if true, client shouldn't show textchat UI
                "hideVideochat": bool  // if true, client shouldn't show videochat UI
                "hideSocialSessions": bool  // if true, client shouldn't show social sessions UI
                "allowHostSetup": bool  // if true, allows user to setup personalised custom params for props in room
                "socialCircleAsset": string  // id of default asset for dynamic social circle
                "socialCircleLimit": int  // sets social circle limit, 0 = no limit
                "allowAnonymous": bool  // if true, users can access network without authorization
                "onlyVerifiedAccounts": bool  // if true, server would require to verify email before creating new user session
                "singleScreenAuth": bool  // if true, show registration and authorization on the same scene
                "requireZipCode": bool  // if true, zip code should be required field during registration
                "paymentProviders": [ string ]  // restricts use of payment providers (stripe/braintree/apple) in network; if empty, all providers are available
                "aiEndpoint": string  // address for AI server
                "loadBalancerUrl": string  // url of load balancer for playgrounds
                "gamificationParticlesIndex": int  // 0 - default, 1 - epam
                "colorizationSchemeType": int  // 0 - Default, 1 - Fabuwood
                "defaultNavigationMode": int  // 0 - classic, 1 - advanced, 2 - pro
                "defaultButtonAppearance": int  // 0 - default, 1 - show, 2 - hide
                "hasCascadeTextchatSkin": bool  // textchat cascade appearance in application
                "animatedBackButton": bool  // animate back button icon in application
                "hasExpo": bool  // informs clients that the network has expo
                "expoStartDate": timestamp  // timestamp when conference starts
                "expoEndDate": timestamp  // timestamp when conference ends
                "hasAttendees": bool  // enables additional room privacy settings
            }
            "subscribed": bool
            "subscriptionOptions": [{
                "type": string  // free/one_time_payment/subscription_week/subscription_month/subscription_year
                "token": float  // subscription cost in tokens
            }]
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Get networks ordered

Method: websocket

Endpoint: network:listOrdered

Description: Function returns networks in next order:

  1. default network

  2. current user network

  3. subscribed networks

  4. non subscribed networks

Request:

{
    "data": {
        "exclude": [ string ]
        "offset": int
        "size": int
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "networks": [{
            "network": { network structure }
            "networkDefaults": {
                "metaverseCurrency": string  // in case when network has its own currency
                "provisionCurrency": string  // currency that is used for Verus provisioning
                "enablePayments": bool  // if true - client could purchase products; else - all products are free
                "enableTokenomics": bool  // if true - user will mint or spend tokens for his actions (like placing content in room)
                "disableBalance": bool  // DEPRECATED
                "roomId": string  // default room in network (e.g. Agora in humanity)
                "storylineVideoSound": bool  // enables video sound in storyline by default
                "hasQuestionnaire": bool  // enables matchmaking questionnaire
                "hasSearchCard": bool  // enables matchmaking search by search card
                "hasGamingBalance": bool  // enables gaming balance
                "hasAnalytics": bool  // enables analytics
                "allUsersAreConnected": bool  // if true, all users in network are friends by default
                "disableOwnerBadge": bool  // if true, disables room owner badge (crown) near avatar
                "disableFavoriteRooms": bool  // if true, disables favorite room appearance on client
                "disableShareRoom": bool  // if true, disables room sharing
                "disableRoomCreation": bool  // if true, disables room creation on client
                "orderByFirstComments": bool  // show first resource comments first
                "hideTextchat": bool  // if true, client shouldn't show textchat UI
                "hideVideochat": bool  // if true, client shouldn't show videochat UI
                "hideSocialSessions": bool  // if true, client shouldn't show social sessions UI
                "allowHostSetup": bool  // if true, allows user to setup personalised custom params for props in room
                "socialCircleAsset": string  // id of default asset for dynamic social circle
                "socialCircleLimit": int  // sets social circle limit, 0 = no limit
                "allowAnonymous": bool  // if true, users can access network without authorization
                "onlyVerifiedAccounts": bool  // if true, server would require to verify email before creating new user session
                "singleScreenAuth": bool  // if true, show registration and authorization on the same scene
                "requireZipCode": bool  // if true, zip code should be required field during registration
                "paymentProviders": [ string ]  // restricts use of payment providers (stripe/braintree/apple) in network; if empty, all providers are available
                "aiEndpoint": string  // address for AI server
                "loadBalancerUrl": string  // url of load balancer for playgrounds
                "gamificationParticlesIndex": int  // 0 - default, 1 - epam
                "colorizationSchemeType": int  // 0 - Default, 1 - Fabuwood
                "defaultNavigationMode": int  // 0 - classic, 1 - advanced, 2 - pro
                "defaultButtonAppearance": int  // 0 - default, 1 - show, 2 - hide
                "hasCascadeTextchatSkin": bool  // textchat cascade appearance in application
                "animatedBackButton": bool  // animate back button icon in application
                "hasExpo": bool  // informs clients that the network has expo
                "expoStartDate": timestamp  // timestamp when conference starts
                "expoEndDate": timestamp  // timestamp when conference ends
                "hasAttendees": bool  // enables additional room privacy settings
            }
            "subscribed": bool
            "subscriptionOptions": [{
                "type": string  // free/one_time_payment/subscription_week/subscription_month/subscription_year
                "token": float  // subscription cost in tokens
            }]
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Search networks

Method: websocket

Endpoint: network:searchNetworks

Description: API returns list of networks (according to search query) that are available to user.

Request:

{
    "data": {
        "query": string
        "offset": int
        "size": int
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "networks": [{
            "network": { network structure }
            "networkDefaults": {
                "metaverseCurrency": string  // in case when network has its own currency
                "provisionCurrency": string  // currency that is used for Verus provisioning
                "enablePayments": bool  // if true - client could purchase products; else - all products are free
                "enableTokenomics": bool  // if true - user will mint or spend tokens for his actions (like placing content in room)
                "disableBalance": bool  // DEPRECATED
                "roomId": string  // default room in network (e.g. Agora in humanity)
                "storylineVideoSound": bool  // enables video sound in storyline by default
                "hasQuestionnaire": bool  // enables matchmaking questionnaire
                "hasSearchCard": bool  // enables matchmaking search by search card
                "hasGamingBalance": bool  // enables gaming balance
                "hasAnalytics": bool  // enables analytics
                "allUsersAreConnected": bool  // if true, all users in network are friends by default
                "disableOwnerBadge": bool  // if true, disables room owner badge (crown) near avatar
                "disableFavoriteRooms": bool  // if true, disables favorite room appearance on client
                "disableShareRoom": bool  // if true, disables room sharing
                "disableRoomCreation": bool  // if true, disables room creation on client
                "orderByFirstComments": bool  // show first resource comments first
                "hideTextchat": bool  // if true, client shouldn't show textchat UI
                "hideVideochat": bool  // if true, client shouldn't show videochat UI
                "hideSocialSessions": bool  // if true, client shouldn't show social sessions UI
                "allowHostSetup": bool  // if true, allows user to setup personalised custom params for props in room
                "socialCircleAsset": string  // id of default asset for dynamic social circle
                "socialCircleLimit": int  // sets social circle limit, 0 = no limit
                "allowAnonymous": bool  // if true, users can access network without authorization
                "onlyVerifiedAccounts": bool  // if true, server would require to verify email before creating new user session
                "singleScreenAuth": bool  // if true, show registration and authorization on the same scene
                "requireZipCode": bool  // if true, zip code should be required field during registration
                "paymentProviders": [ string ]  // restricts use of payment providers (stripe/braintree/apple) in network; if empty, all providers are available
                "aiEndpoint": string  // address for AI server
                "loadBalancerUrl": string  // url of load balancer for playgrounds
                "gamificationParticlesIndex": int  // 0 - default, 1 - epam
                "colorizationSchemeType": int  // 0 - Default, 1 - Fabuwood
                "defaultNavigationMode": int  // 0 - classic, 1 - advanced, 2 - pro
                "defaultButtonAppearance": int  // 0 - default, 1 - show, 2 - hide
                "hasCascadeTextchatSkin": bool  // textchat cascade appearance in application
                "animatedBackButton": bool  // animate back button icon in application
                "hasExpo": bool  // informs clients that the network has expo
                "expoStartDate": timestamp  // timestamp when conference starts
                "expoEndDate": timestamp  // timestamp when conference ends
                "hasAttendees": bool  // enables additional room privacy settings
            }
            "subscribed": bool
            "subscriptionOptions": [{
                "type": string  // free/one_time_payment/subscription_week/subscription_month/subscription_year
                "token": float  // subscription cost in tokens
            }]
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Search texhibition networks

Method: websocket

Endpoint: network:searchTexhibitionNetworks

Description: API returns list of texhibition networks (hasExpo == true) that are available to user.

Request:

{
    "data": {
        "query": string
        "offset": int
        "size": int
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "networks": [{
            "network": { network structure }
            "networkDefaults": {
                "metaverseCurrency": string  // in case when network has its own currency
                "provisionCurrency": string  // currency that is used for Verus provisioning
                "enablePayments": bool  // if true - client could purchase products; else - all products are free
                "enableTokenomics": bool  // if true - user will mint or spend tokens for his actions (like placing content in room)
                "disableBalance": bool  // DEPRECATED
                "roomId": string  // default room in network (e.g. Agora in humanity)
                "storylineVideoSound": bool  // enables video sound in storyline by default
                "hasQuestionnaire": bool  // enables matchmaking questionnaire
                "hasSearchCard": bool  // enables matchmaking search by search card
                "hasGamingBalance": bool  // enables gaming balance
                "hasAnalytics": bool  // enables analytics
                "allUsersAreConnected": bool  // if true, all users in network are friends by default
                "disableOwnerBadge": bool  // if true, disables room owner badge (crown) near avatar
                "disableFavoriteRooms": bool  // if true, disables favorite room appearance on client
                "disableShareRoom": bool  // if true, disables room sharing
                "disableRoomCreation": bool  // if true, disables room creation on client
                "orderByFirstComments": bool  // show first resource comments first
                "hideTextchat": bool  // if true, client shouldn't show textchat UI
                "hideVideochat": bool  // if true, client shouldn't show videochat UI
                "hideSocialSessions": bool  // if true, client shouldn't show social sessions UI
                "allowHostSetup": bool  // if true, allows user to setup personalised custom params for props in room
                "socialCircleAsset": string  // id of default asset for dynamic social circle
                "socialCircleLimit": int  // sets social circle limit, 0 = no limit
                "allowAnonymous": bool  // if true, users can access network without authorization
                "onlyVerifiedAccounts": bool  // if true, server would require to verify email before creating new user session
                "singleScreenAuth": bool  // if true, show registration and authorization on the same scene
                "requireZipCode": bool  // if true, zip code should be required field during registration
                "paymentProviders": [ string ]  // restricts use of payment providers (stripe/braintree/apple) in network; if empty, all providers are available
                "aiEndpoint": string  // address for AI server
                "loadBalancerUrl": string  // url of load balancer for playgrounds
                "gamificationParticlesIndex": int  // 0 - default, 1 - epam
                "colorizationSchemeType": int  // 0 - Default, 1 - Fabuwood
                "defaultNavigationMode": int  // 0 - classic, 1 - advanced, 2 - pro
                "defaultButtonAppearance": int  // 0 - default, 1 - show, 2 - hide
                "hasCascadeTextchatSkin": bool  // textchat cascade appearance in application
                "animatedBackButton": bool  // animate back button icon in application
                "hasExpo": bool  // informs clients that the network has expo
                "expoStartDate": timestamp  // timestamp when conference starts
                "expoEndDate": timestamp  // timestamp when conference ends
                "hasAttendees": bool  // enables additional room privacy settings
            }
            "subscribed": bool
            "subscriptionOptions": [{
                "type": string  // free/one_time_payment/subscription_week/subscription_month/subscription_year
                "token": float  // subscription cost in tokens
            }]
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Get network info for user

Method: websocket

Endpoint: network:getNetworkInfoForUser

Description: API returns network info for user.

Request:

{
    "data": {
        "networkId": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "network": { network structure }
        "networkDefaults": {
            "metaverseCurrency": string  // in case when network has its own currency
            "provisionCurrency": string  // currency that is used for Verus provisioning
            "enablePayments": bool  // if true - client could purchase products; else - all products are free
            "enableTokenomics": bool  // if true - user will mint or spend tokens for his actions (like placing content in room)
            "disableBalance": bool  // DEPRECATED
            "roomId": string  // default room in network (e.g. Agora in humanity)
            "storylineVideoSound": bool  // enables video sound in storyline by default
            "hasQuestionnaire": bool  // enables matchmaking questionnaire
            "hasSearchCard": bool  // enables matchmaking search by search card
            "hasGamingBalance": bool  // enables gaming balance
            "hasAnalytics": bool  // enables analytics
            "allUsersAreConnected": bool  // if true, all users in network are friends by default
            "disableOwnerBadge": bool  // if true, disables room owner badge (crown) near avatar
            "disableFavoriteRooms": bool  // if true, disables favorite room appearance on client
            "disableShareRoom": bool  // if true, disables room sharing
            "disableRoomCreation": bool  // if true, disables room creation on client
            "orderByFirstComments": bool  // show first resource comments first
            "hideTextchat": bool  // if true, client shouldn't show textchat UI
            "hideVideochat": bool  // if true, client shouldn't show videochat UI
            "hideSocialSessions": bool  // if true, client shouldn't show social sessions UI
            "allowHostSetup": bool  // if true, allows user to setup personalised custom params for props in room
            "socialCircleAsset": string  // id of default asset for dynamic social circle
            "socialCircleLimit": int  // sets social circle limit, 0 = no limit
            "allowAnonymous": bool  // if true, users can access network without authorization
            "onlyVerifiedAccounts": bool  // if true, server would require to verify email before creating new user session
            "singleScreenAuth": bool  // if true, show registration and authorization on the same scene
            "requireZipCode": bool  // if true, zip code should be required field during registration
            "paymentProviders": [ string ]  // restricts use of payment providers (stripe/braintree/apple) in network; if empty, all providers are available
            "aiEndpoint": string  // address for AI server
            "loadBalancerUrl": string  // url of load balancer for playgrounds
            "gamificationParticlesIndex": int  // 0 - default, 1 - epam
            "colorizationSchemeType": int  // 0 - Default, 1 - Fabuwood
            "defaultNavigationMode": int  // 0 - classic, 1 - advanced, 2 - pro
            "defaultButtonAppearance": int  // 0 - default, 1 - show, 2 - hide
            "hasCascadeTextchatSkin": bool  // textchat cascade appearance in application
            "animatedBackButton": bool  // animate back button icon in application
            "hasExpo": bool  // informs clients that the network has expo
            "expoStartDate": timestamp  // timestamp when conference starts
            "expoEndDate": timestamp  // timestamp when conference ends
            "hasAttendees": bool  // enables additional room privacy settings
        }
        "subscribed": bool
        "subscriptionOptions": [{
            "type": string  // free/one_time_payment/subscription_week/subscription_month/subscription_year
            "token": float  // subscription cost in tokens
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Subscribe to network

Method: websocket

Endpoint: network:subscribe

Description: API subscribes user to the network.

Request:

{
    "data": {
        "networkId": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "error": { "status": bool, "code": int, "message": string }
}

Switch network

Method: websocket

Endpoint: network:switch

Description: API switches user context to another network. All following requests will be handled in context of new network.

If requestNewSessionId parameter provided - client will receive new session. Old session id could be used to operate in another browser tab in old network.

Request:

{
    "data": {
        "networkId": string
        "requestNewSessionId": bool
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "networkId": string
        "sessionId": string  // sessionId is not empty only when requestNewSessionId is true
    }
    "error": { "status": bool, "code": int, "message": string }
}

Search user networks

Method: websocket

Endpoint: network:searchUserNetworks

Description: API searches networks user is subscribed to.

Request:

{
    "data": {
        "query": string
        "offset": int
        "size": int
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "networks": [{ network structure }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Get networks for countries

Method: websocket

Endpoint: network:getNetworksForCountries

Description: API returns list of networks with non-empty settings.general.countryId. (Humanity API)

Request:

{ empty }

Response:

{
    "data": {
        "networks": [{
            "network": { network structure }
            "country": {
                "countryId": int  // numeric country code as defined in ISO3166-1
                "countryName": string
            }
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Network subscription created event

Event: network:subscriptionCreated

Data:

{
    "data": { network structure }
    "error": { "status": bool, "code": int, "message": string }
}

Network subscription updated event

Event: network:subscriptionUpdated

Data:

{
    "data": { network structure }
    "error": { "status": bool, "code": int, "message": string }
}

Network subscription removed event

Event: network:subscriptionRemoved

Data:

{
    "data": { network structure }
    "error": { "status": bool, "code": int, "message": string }
}

Models


Network

{
    "id": string
    "created": timestamp
    "updated": timestamp
    "fullName": string
    "type": string  // Public/Matchmaking/BusinessSocial/NetworkConference/Humanity
    "thumbnail": string  // resourceId
    "parentNetworkId": string  // if not empty, current network is a sub network
}