Research Focus

CRUD endpoints for a user's research focuses

Please note that in all urls & code samples you'll need to replace:username and :corporation with appropriate values

Get All Research Focuses

GET /v2/organization/:corporation/expert/:username/researchfocus

Headers

NameValue

Content-Type

application/json

Authorization

Bearer <token>

Url

NameTypeDescription

corporation

number

Corporation ID

username

string

Unique username

Response

{
  data: [
    {
      id: 1,
      title: 'Research Focus title',
      subtitle: 'Research Focus subtitle',
      details: 'Details',
      date: 0,
      url: 'https://myurl.com',
      cover_url: 'img_url',
      large_cover_url: 'img_url',
      cover_alt_title: 'Alt Image Title:'
    },
  ],
  success: true
}

Code

const accessToken = `<ACCESS TOKEN>`

fetch('https://public-api.expertfile.com/v2/organization/:corporation/expert/:username/researchfocus', {
    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 focuses = data;
        console.log('all focus', focuses)
    }

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

Get Individual Research Focus

GET /v2/organization/:corporation/expert/:username/researchfocus/:id

Headers

NameValue

Content-Type

application/json

Authorization

Bearer <token>

Url

NameTypeDescription

corporation

number

Corporation ID

username

string

Unique username

id

number

Research Focus ID

Response

{
  data: [
    {
      id: 1,
      title: 'Research Focus title',
      subtitle: 'Research Focus subtitle',
      details: 'Details',
      date: 0,
      url: 'https://myurl.com',
      cover_url: 'img_url',
      large_cover_url: 'img_url',
      cover_alt_title: 'Alt Image Title:'
    },
  ],
  success: true
}

Code

const accessToken = `<ACCESS TOKEN>`

fetch('https://public-api.expertfile.com/v2/organization/:corporation/expert/:username/reseachfocus/:id', {
    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 focus = data;
        console.log('focus', focus)
    }

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

Create Research Focus

POST /v2/organization/:corporation/expert/:username/researchfocus

Headers

NameValue

Content-Type

application/json

Authorization

Bearer <token>

Url

NameTypeDescription

corporation

number

Corporation ID

username

string

Unique username

Body

NameTypeDescription

title*

string

Research Focus Title

details*

string

Research Focus Details

url

string

Research Focus Url

subtitle

string

Research Focus Subtitle

date

unix timestamp

Research Focus Date

Response

{ 
    data: { 
        id: 1
    }, 
    success: true 
}

Code

const data = new URLSearchParams();
const accessToken = `<ACCESS TOKEN>`

data.append('title', 'Focus title');
data.append('details', 'Focus details...');
data.append('url', 'https://myurl.com');
data.append('subtitle', 'Focus subtitle');
data.append('date', 1703653200);

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

    if (success) {
        const { id } = data
        console.log('New focus id', id)
    }

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

Update Research Focus

PUT /v2/organization/:corporation/expert/:username/researchfocus/:id

Headers

NameValue

Content-Type

application/json

Authorization

Bearer <token>

Url

NameTypeDescription

corporation

number

Corporation ID

username

string

Unique username

id

number

Research Focus ID

Body

NameTypeDescription

title*

string

Research Focus Title

details*

string

Research Focus Details

url

string

Research Focus Url

subtitle

string

Research Focus Subtitle

date

unix timestamp

Research Focus Date

Response

{ 
    data: { 
        id: 1, 
        updated: true 
    }, 
    success: true 
}

Code

const data = new URLSearchParams();
const accessToken = `<ACCESS TOKEN>`

data.append('title', 'Focus title');
data.append('details', 'Focus details...');
data.append('url', 'https://myurl.com');
data.append('subtitle', 'Focus subtitle');
data.append('date', 1703653200);

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

    if (success) {
        const { id } = data
        console.log('New focus id', id)
    }

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

Delete Research Focus

DELETE /v2/organization/:corporation/expert/:username/researchfocus/:id

Headers

NameValue

Content-Type

application/json

Authorization

Bearer <token>

Url

NameTypeDescription

corporation

number

Corporation ID

username

string

Unique username

id

number

Research Focus ID

Response

{ 
    data: { 
        deleted: true, 
        id: 1 
    }, 
    success: true 
}

Code

const accessToken = `<ACCESS TOKEN>`

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

    if (success) {
        const { id } = data
        console.log('Deleted research focus id', id)
    }

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

Last updated