Expert Directory/Search

This is the main endpoint used to list all the experts in searchable format.

Remember to change :corporation with your corporation id(found in the integrations section of the dashboard).

Listing Experts

GET /v2/organization/:corporation/expert

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Url

Name
Type
Description

corporation

number

Corporation ID

username

string

Unique username

q

string

Keyword search term

access

string

public/private/all

status

string

published/unpublished/all

page_size

number

Size of page

page_from

number

Starting point

countries

string

topics

string

Filter by topics. Array of topics(i.e. ["topic1","topic2"])

industries

string

Filter by industries. Array of industries(i.e. ["industry1","industry2"])

categories

string

Filter by categories. Array of categories(i.e. ["cat1","cat2"])

tags

string

Filter by tags. Array of tags(i.e. ["tag1","tag2"])

fields

string

Array of field name(i.e. ["fullname","username"])

sort

string

Sorting order(name/featured)

searchfield

string

Fullname to query only name field.

Response

{
  data: {
    experts: [],
    aggregations: {
      has_uploaded_video: [],
      has_vimeo_video: [],
      has_slideshare_document: [],
      topics: [],
      countries: [],
      has_photo: [],
      states: [],
      has_uploaded_podchaser: [],
      has_book: [],
      companies: [],
      industries: [ay],
      has_youtube_video: [],
      classification_tags: [],
      profiles: [],
      has_profile: [],
      has_uploaded_document: [],
      classification_categories: [],
      alpha: []
    },
    total: 10
  },
  success: true
}  

Code

const accessToken = `<ACCESS TOKEN>`

fetch('https://public-api.expertfile.com/v2/organization/:corporation/expert', {
    method: 'GET',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
        'Authorization': `Bearer ${accessToken}`
    }
})
.then(response => response.json())
.then(json => {
    const { success, data } = json

    if (success) {
        const { experts, aggregations } = data;
        console.log('Experts', experts);
        console.log('Filters', aggregations);
    }

})
.catch(error => console.error(error));

Applying Category Filter to Experts

GET /v2/organization/:corporation/expert

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Url

Name
Type
Description

corporation

number

Corporation ID

categories

string

Filter by categories. Array of categories(i.e. ["cat1","cat2"])

Response

{
  data: {
    experts: [],
    aggregations: {
      has_uploaded_video: [],
      has_vimeo_video: [],
      has_slideshare_document: [],
      topics: [],
      countries: [],
      has_photo: [],
      states: [],
      has_uploaded_podchaser: [],
      has_book: [],
      companies: [],
      industries: [],
      has_youtube_video: [],
      classification_tags: [],
      profiles: [],
      has_profile: [],
      has_uploaded_document: [],
      classification_categories: [],
      alpha: []
    },
    total: 10
  },
  success: true
}  

Code

const accessToken = `<ACCESS TOKEN>`

const params = {
    categories: JSON.stringify(['Advisors', 'Featured'])
};

const qs = new URLSearchParams(params).toString()

const path = `https://public-api.expertfile.com/v2/organization/:corporation/expert${qs ? '?' + qs : ''}`
fetch(path, {
    method: 'GET',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
        'Authorization': `Bearer ${accessToken}`
    }
})
.then(response => response.json())
.then(json => {
    const { success, data } = json

    if (success) {
        const { experts, aggregations } = data;
        console.log('Experts', experts);
        console.log('Filters', aggregations);
    }

})
.catch(error => console.error(error));

Last updated