Course

CRUD endpoints for a user's courses

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

Get All Courses

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

Headers

NameValue

Content-Type

application/json

Authorization

Bearer <token>

Url

NameTypeDescription

corporation

number

Corporation ID

username

string

Unique username

Response

{
  data: [
    {
      id: 1,
      title: 'Course Title',
      details: 'Course Details',
      url: 'https://www.myurl.com'
    },
  ],
  success: true
}

Code

const accessToken = `<ACCESS TOKEN>`

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

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

Get Individual Course

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

Headers

NameValue

Content-Type

application/json

Authorization

Bearer <token>

Url

NameTypeDescription

corporation

number

Corporation ID

username

string

Unique username

id

number

Course ID

Response

{
  data: [
    {
      id: 1,
      title: 'Course Title',
      details: 'Course Details',
      url: 'https://www.myurl.com'
    },
  ],
  success: true
}

Code

const accessToken = `<ACCESS TOKEN>`

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

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

Create Course

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

Headers

NameValue

Content-Type

application/json

Authorization

Bearer <token>

Url

NameTypeDescription

corporation

number

Corporation ID

username

string

Unique username

Body

NameTypeDescription

title*

string

Course Title

details*

string

Course Detail

url

string

Course Url

Response

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

Code

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

data.append('title', 'Course title');
data.append('details', 'Course details...');
data.append('url', 'https://myurl.com');

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

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

Update Course

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

Headers

NameValue

Content-Type

application/json

Authorization

Bearer <token>

Url

NameTypeDescription

corporation

number

Corporation ID

username

string

Unique username

id

number

Course ID

Body

NameTypeDescription

title*

string

Course Title

details*

string

Course Detail

url

string

Course Url

Response

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

Code

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

data.append('title', 'Course title');
data.append('details', 'Course details...');
data.append('url', 'https://myurl.com');

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

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

Delete Course

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

Headers

NameValue

Content-Type

application/json

Authorization

Bearer <token>

Url

NameTypeDescription

corporation

number

Corporation ID

username

string

Unique username

id

number

Course 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/course/: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 course id', id)
    }

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

Last updated