Topics

CRUD endpoints for a user's topics

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

Get All Topics

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

Headers

NameValue

Content-Type

application/json

Authorization

Bearer <token>

Url

NameTypeDescription

corporation

number

Corporation ID

username

string

Unique username

Response

 {
  data: [
    {
      id: 1,
      name: "topic name"
    }
  ],
  success: true
}

Code

const accessToken = `<ACCESS TOKEN>`

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

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

Get Individual Topic

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

Headers

NameValue

Content-Type

application/json

Authorization

Bearer <token>

Url

NameTypeDescription

corporation

number

Corporation ID

username

string

Unique username

id

number

Topic ID

Response

{
  data: [
    {
      id: 1,
      name: "topic name"
    }
  ],
  success: true
}

Code

const accessToken = `<ACCESS CODE>`

fetch('https://public-api.expertfile.com/v2/organization/:corporation/expert/:username/topic/: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 topic = data
        console.log('topic', topic[0])
    }

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

Create Topic

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

Headers

NameValue

Content-Type

application/json

Authorization

Bearer <token>

Url

NameTypeDescription

corporation

number

Corporation ID

username

string

Unique username

Body

NameTypeDescription

name*

string

Topic Name

Response

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

Code

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

data.append('name', 'AI');

fetch('https://public-api.expertfile.com/v2/organization/:corporation/expert/:username/topic', {
    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 topic id', id)
    }

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

Delete Topic

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

Headers

NameValue

Content-Type

application/json

Authorization

Bearer <token>

Url

NameTypeDescription

corporation

number

Corporation ID

username

string

Unique username

id

number

Topic 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/topic/: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 topic id', id)
    }

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

Last updated