This class implements BaseApi.
You need the profile:read scope to access this API.
This is a JavaScript implementation of the Profile API.
For ease of use we recommend using the User object for interaction instead.



interface OrganizationProfileInfoWithId implements OrganizationProfileInfo {
id: number


interface OrganizationProfileInfo {
name: string,
address?: string,
city?: string,
country?: string,
state?: string,
website?: string,
verified?: boolean,
uniqueId?: string,
zipCode?: string


interface ProfileInfo {
firstName?: string,
lastName?: string,
country?: {
alpha2: string,
name: string
email?: {
value: string,
confirmed: boolean
kycVerified?: boolean,
state?: string,
profilePicture?: string


constructor(user, endpoint)

Create a Profile API object.
  • user should be an instance of the User object.
  • endpoint should be the Vulos Identity endpoint.
const profileApi = new ProfileApi(user, endpoint)

async info(id)

Get an user's public profile by the user's ID.
The result implements the ProfileInfo interface.
This method's response has the profile:info cache prefix.
const userProfile = await

async organization(id)

Get an organization's public profile by the organization's ID.
The result implements the OrganizationProfileInfo interface.
This method's response has the profile:organization cache prefix.
const organizationProfile = await profileApi.organization(organizationId)

async organizationSearch(search, amount, offset)

Search for an organization by name using a string.
  • search is the string we are searching with in the organization's name;
  • amount is the maximal amount of elements that can be returned (absolute maximal is 100, default is 10), this argument is optional;
  • offset is the amount of organizations that will get skipped in the result (default is 0), this argument is optional;
The result implements the OrganizationProfileInfoWithId interface.
This method's response has the profile:organization:search cache prefix.
const [bestMatch] = await profileApi.organizationSearch('Example')
// ... or
let pageIndex = 0
const organizationsPerPage = 5
const nextPage = async () => {
const organizations = await profileApi.organizationSearch(
organizationsPerPage * pageIndex)
return organizations
let currentPage
while(currentPage = await nextPage()) {
// do something with the current page
Last modified 1yr ago