<\/g><\/g><\/svg>\n'
stringCode:
type: string
description: 'String code generated by prepareTwoFactor method.'
example: CREPRUYTMCBSCPEAG2LGKOFYOF25BLR3E
required:
- user_id
- secretCode
- qrCode
- stringCode
security: []
/api/user/disableTwoFactorAuth:
post:
summary: 'Disable 2fa'
operationId: disable2fa
description: 'To disables Two factor authentication feature in system for specified user, you need to use this request. (See parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: '2factor authentication disabled successfully'
qrcode: null
stringcode: null
properties:
message:
type: string
example: '2factor authentication disabled successfully'
qrcode:
type: string
example: null
stringcode:
type: string
example: null
tags:
- Users
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
user_id:
type: integer
description: 'ID of the user.'
example: 4
required:
- user_id
security: []
/api/email/resendNewAccountEmail:
post:
summary: 'Resend New Account Email'
operationId: resendNewAccountEmail
description: 'Send New Account Created email again.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
status: success
message: 'New Password is created and New Account Email Sent.'
tags:
- Users
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
user_id:
type: integer
description: 'ID of the user.'
example: 4
required:
- user_id
security: []
'/api/accredible/validate-key/{key}':
get:
summary: 'Validate Accredible Key'
operationId: validateAccredibleKey
description: 'Validates whether the given key is correct.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: Success
status: success
properties:
message:
type: string
example: Success
status:
type: string
example: success
tags:
- Accredible
security: []
parameters:
-
in: path
name: key
description: 'Key of the accredible needs to be validated.'
example: 3cc557a91d67378f7fc29fed973e5c94
required: true
schema:
type: string
/api/accredible/group/lookup:
get:
summary: 'Accredible Groups Lookup'
operationId: accredibleGroupsLookup
description: 'Retrieves all the accredible groups. Helps while showing group names in dropdown elements.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
isEnabled: true
data:
-
id: 353767
name: group_aom_course
-
id: 353282
name: intro-ce
-
id: 352594
name: aom
properties:
isEnabled:
type: boolean
example: true
data:
type: array
example:
-
id: 353767
name: group_aom_course
-
id: 353282
name: intro-ce
-
id: 352594
name: aom
items:
type: object
properties:
id:
type: integer
example: 353767
name:
type: string
example: group_aom_course
tags:
- Accredible
security: []
/api/announcement:
post:
summary: 'Create Announcement'
operationId: createAnnouncement
description: "To create announcement, you need to use this request. (See parameters)\nCreated announcement can be used to send messages out to students.\n\nReturns : id of the text module created and successfull message"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
message: 'Announcement Created Successfully'
properties:
id:
type: integer
example: 1
message:
type: string
example: 'Announcement Created Successfully'
tags:
- Announcements
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
heading:
type: string
description: 'Heading of the announcement.'
example: 'New Announcement'
content:
type: string
description: 'Content(Body) for the announcement that students will see.'
example: 'This is for test purpose'
expiry:
type: date
description: 'Till what date, the announcement is active for users.'
example: '2020-08-05'
sending_rules:
type: string
description: 'Rule for sending announcement, based on this rule announcement will be sent to all or specific users or users of specific courses. Sending rules options: all, specific_users or specific_course_users.'
example: all
user_ids:
type: array
description: 'Id of the users which needs to receive announcement specifically (required if sending_rules set as student wise).'
example: []
items:
type: string
course_ids:
type: array
description: 'Id of the courses where student enrolled, needs to receive announcement specifically (required if sending_rules set as course wise).'
example: []
items:
type: string
required:
- heading
- content
- sending_rules
security: []
/api/announcement/tabularlist:
get:
summary: 'Announcement Tabular List'
operationId: announcementTabularList
description: "Returns all the announcement in a tabular list format in paginated mode.\nYou can apply filter using search_param via heading of the announcements."
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '50'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '50'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
-
in: query
name: search_param
description: 'For searching items based on field names.'
example: '{"heading":""}'
required: false
schema:
type: string
description: 'For searching items based on field names.'
example: '{"heading":""}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 1
recordsFiltered: 1
records:
-
id: 1
heading: 'New Announcement'
author: 'Aom Staff'
content: 'This is for test purpose'
created_at: 'Aug 11, 2020 01:25 PM'
sent_to: All
properties:
recordsTotal:
type: integer
example: 1
recordsFiltered:
type: integer
example: 1
records:
type: array
example:
-
id: 1
heading: 'New Announcement'
author: 'Aom Staff'
content: 'This is for test purpose'
created_at: 'Aug 11, 2020 01:25 PM'
sent_to: All
items:
type: object
properties:
id:
type: integer
example: 1
heading:
type: string
example: 'New Announcement'
author:
type: string
example: 'Aom Staff'
content:
type: string
example: 'This is for test purpose'
created_at:
type: string
example: 'Aug 11, 2020 01:25 PM'
sent_to:
type: string
example: All
tags:
- Announcements
security: []
'/api/announcement/{id}':
put:
summary: 'Update Announcement'
operationId: updateAnnouncement
description: "Updates the details of a specified announcement. (See parameters)\nAnnouncement can be used to send out messages to students."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Announcement Updated Successfully'
properties:
message:
type: string
example: 'Announcement Updated Successfully'
tags:
- Announcements
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
heading:
type: string
description: 'Heading of the announcement.'
example: 'New Announcement'
content:
type: string
description: 'Content(Body) for the announcement that students will see.'
example: 'This is for test purpose'
expiry:
type: date
description: 'Till what date, the announcement is active for users.'
example: '2020-08-05'
sending_rules:
type: string
description: 'Rule for sending announcement, based on this rule announcement will be sent to all or specific users or users of specific courses. Sending rules options: all, specific_users or specific_course_users.'
example: all
user_ids:
type: array
description: 'Id of the users which needs to receive announcement specifically (required if sending_rules set as student wise).'
example: []
items:
type: string
course_ids:
type: array
description: 'Id of the courses where student enrolled, needs to receive announcement specifically (required if sending_rules set as course wise).'
example: []
items:
type: string
required:
- heading
- content
- sending_rules
security: []
get:
summary: 'Retrieve Announcement'
operationId: retrieveAnnouncement
description: 'Retrieves the details of the specified announcement. Helps in fetching announcement using its ID. (See Parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
heading: 'New Announcement'
content: 'This is for test purpose'
sending_rules: all
expiry: '2020-08-05'
properties:
id:
type: integer
example: 1
heading:
type: string
example: 'New Announcement'
content:
type: string
example: 'This is for test purpose'
sending_rules:
type: string
example: all
expiry:
type: string
example: '2020-08-05'
tags:
- Announcements
security: []
parameters:
-
in: path
name: id
description: 'ID of the announcement needs to be updated.'
example: '2'
required: true
schema:
type: string
/api/announcement/delete:
post:
summary: 'Delete Announcement'
operationId: deleteAnnouncement
description: "To delete an announcement, you need to use this request.\nReturns number of announcement deleted. (See Response)"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: '3 announcement(s) deleted '
properties:
message:
type: string
example: '3 announcement(s) deleted '
tags:
- Announcements
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
delete_ids:
type: array
description: 'All announcement IDs which needs to be deleted.'
example:
- 1
- 12
- 15
items:
type: string
required:
- delete_ids
security: []
/api/student/announcements:
get:
summary: 'Student Announcement List'
operationId: studentAnnouncementList
description: "Returns all the announcement in list format in paginated mode.\nYou can apply filter using search_param via heading of the announcements.\nThese annoucement list will appear in student panel(dashboard) not admin panel."
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '5'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '5'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at","direction":"desc"}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at","direction":"desc"}'
-
in: query
name: search_param
description: 'For searching items based on field names.'
example: '{"heading":""}'
required: false
schema:
type: string
description: 'For searching items based on field names.'
example: '{"heading":""}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
avatar: ''
recordsTotal: 1
recordsFiltered: 0
records: []
properties:
avatar:
type: string
example: ''
recordsTotal:
type: integer
example: 1
recordsFiltered:
type: integer
example: 0
records:
type: array
example: []
tags:
- Announcements
security: []
/api/modules/assignment:
get:
summary: 'Assignment Modules Tabular List'
operationId: assignmentModulesTabularList
description: "Returns all the assignment modules in a tabular list format in paginated mode.\nYou can apply filter using search_param via associatedCourse(modules used in course) and moduleName."
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '50'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '50'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
-
in: query
name: search_param
description: 'For searching items based on field names.'
example: '{"associatedCourse":"","moduleName":""}'
required: false
schema:
type: string
description: 'For searching items based on field names.'
example: '{"associatedCourse":"","moduleName":""}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 2
recordsFiltered: 2
records:
-
id: 4
name: assign
slug: assign
type: assignment
submissionType: file
totalPoints: 50
icon: ''
author: 'Aom Staff'
created_at: 'Aug 10, 2020 06:43 AM'
-
id: 2
name: 'assignment 1'
slug: assignment-1
type: assignment
submissionType: text
totalPoints: 100
icon: ''
author: 'Aom Staff'
created_at: 'Aug 09, 2020 07:25 AM'
properties:
recordsTotal:
type: integer
example: 2
recordsFiltered:
type: integer
example: 2
records:
type: array
example:
-
id: 4
name: assign
slug: assign
type: assignment
submissionType: file
totalPoints: 50
icon: ''
author: 'Aom Staff'
created_at: 'Aug 10, 2020 06:43 AM'
-
id: 2
name: 'assignment 1'
slug: assignment-1
type: assignment
submissionType: text
totalPoints: 100
icon: ''
author: 'Aom Staff'
created_at: 'Aug 09, 2020 07:25 AM'
items:
type: object
properties:
id:
type: integer
example: 4
name:
type: string
example: assign
slug:
type: string
example: assign
type:
type: string
example: assignment
submissionType:
type: string
example: file
totalPoints:
type: integer
example: 50
icon:
type: string
example: ''
author:
type: string
example: 'Aom Staff'
created_at:
type: string
example: 'Aug 10, 2020 06:43 AM'
tags:
- Assignments
security: []
post:
summary: 'Create Assignment Module'
operationId: createAssignmentModule
description: "To create a assignment module, you need to use this request. (See parameters)\nCreated assignment modules can be used in the course as course content/lesson.\n\nReturns : id of the assignment created and successfull message"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 10
message: 'Module saved successfully'
properties:
id:
type: integer
example: 10
message:
type: string
example: 'Module saved successfully'
tags:
- Assignments
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Name of the assignment module.'
example: 'Essay on LMS'
content:
type: string
description: 'Content for the assignment modules that students will see.'
example: 'A brief description'
submission_type:
type: string
description: 'Type for the assignment module(file based or text based). Submission type options: text or file.'
example: file
totalPoints:
type: integer
description: 'Student will get this number if they complete the assignment.'
example: 25
allowed_filetypes:
type: string
description: 'Allowed file types that will be submitted by the students when the submission_type is file(required).'
example: '["image", "pdf"]'
required:
- name
- content
- submission_type
security: []
'/api/modules/assignment/{id}':
put:
summary: 'Update Assignment Module'
operationId: updateAssignmentModule
description: "Updates the details of specified assignment module. (See parameters)\nAssignment modules can be used in the course as course content."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Module updated successfully'
properties:
message:
type: string
example: 'Module updated successfully'
tags:
- Assignments
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Name of the assignment module.'
example: 'Essay on LMS'
content:
type: string
description: 'Content for the assignment modules that students will see.'
example: 'An Updated brief description'
submission_type:
type: string
description: 'Type for the assignment module(file based or text based). Submission type options: text or file.'
example: file
totalPoints:
type: integer
description: 'Student will get this number if they complete the assignment.'
example: 25
allowed_filetypes:
type: string
description: 'Allowed file types that will be submitted by the students when the submission_type is file(required).'
example: '["image", "pdf"]'
required:
- name
- content
- submission_type
security: []
get:
summary: 'Retrieve Assignment Modules'
operationId: retrieveAssignmentModules
description: 'Retrieves the details of the specified assignment module. Helps in fetching assignment module using its ID. (See Parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
name: 'assignment 1'
slug: assignment-1
content: Hola
totalPoints: 100
submission_type: text
allowed_filetypes:
- ''
properties:
name:
type: string
example: 'assignment 1'
slug:
type: string
example: assignment-1
content:
type: string
example: Hola
totalPoints:
type: integer
example: 100
submission_type:
type: string
example: text
allowed_filetypes:
type: array
example:
- ''
items:
type: string
tags:
- Assignments
security: []
/api/module/assignment/details:
get:
summary: 'Retrieve Detailed Assignment Module Info'
operationId: retrieveDetailedAssignmentModuleInfo
description: "Retrieves details of assignment module in depth as well as different modules details that are being used as course content for the same course the current assignment module is attached to.\nReturns related fields value. (See Response)"
parameters:
-
in: query
name: registrationId
description: 'ID of the course Registration for which this module is attached to.'
example: '1'
required: true
schema:
type: string
description: 'ID of the course Registration for which this module is attached to.'
example: '1'
-
in: query
name: moduleId
description: 'ID of the assignment module.'
example: '9'
required: true
schema:
type: string
description: 'ID of the assignment module.'
example: '9'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
name: 'Essay on LMS'
slug: essay-on-lms
content: 'A brief description'
courseName: 'course 1'
courseSlug: 'http://localhost:8000/course/course-1'
totalPoints: 25
submissionType: text
maxUploadSize: 5
min_time_spent: 0
allowedFileTypes: .
otherModules:
-
module_id: 1
name: test
slug: test
type: text
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: false
status_row_id: 1
status: Completed
started_on: '2020-08-03T10:02:33.000000Z'
completed_on: '2020-08-03T10:02:41.000000Z'
last_accessed_on: '8 hours ago'
total_time_spent:
hours: 0
minutes: 0
seconds: 6
totalSeconds: 6
completion_percentage: 100
no_of_times_accessed: 3
-
module_id: 4
name: assign
slug: assign
type: assignment
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: true
status_row_id: -1
status: 'Not Started'
started_on: ''
completed_on: ''
last_accessed_on: Never
total_time_spent: ''
points_awarded: ''
completion_percentage: 0
no_of_times_accessed: 0
-
module_id: 7
name: First-quiz
slug: first-quiz
type: quiz
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: false
status_row_id: -1
status: 'Not Started'
started_on: ''
completed_on: ''
last_accessed_on: Never
total_time_spent: ''
points_awarded: ''
completion_percentage: 0
no_of_times_accessed: 0
-
module_id: 9
name: My-video-lesson
slug: my-video-lesson
type: video
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: false
status_row_id: 4
status: 'In Progress'
started_on: '2020-08-10T20:04:14.000000Z'
completed_on: null
last_accessed_on: '6 hours ago'
total_time_spent:
hours: 0
minutes: 0
seconds: 0
totalSeconds: null
completion_percentage: 0
no_of_times_accessed: 1
-
module_id: 10
name: 'Essay on LMS'
slug: essay-on-lms
type: assignment
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: false
status_row_id: 5
status: Completed
started_on: '2020-08-11T02:47:32.000000Z'
completed_on: '2020-08-11T02:47:32.000000Z'
last_accessed_on: '46 seconds ago'
total_time_spent:
hours: 0
minutes: 0
seconds: 0
totalSeconds: null
completion_percentage: 100
no_of_times_accessed: 1
launchCheck:
canbeLaunched: true
errTitle: ''
errDesc: ''
prevSlug: my-video-lesson
nextSlug: ''
status: Completed
statusRowId: 5
timeSpent: null
prevSubmission: []
properties:
name:
type: string
example: 'Essay on LMS'
slug:
type: string
example: essay-on-lms
content:
type: string
example: 'A brief description'
courseName:
type: string
example: 'course 1'
courseSlug:
type: string
example: 'http://localhost:8000/course/course-1'
totalPoints:
type: integer
example: 25
submissionType:
type: string
example: text
maxUploadSize:
type: integer
example: 5
min_time_spent:
type: integer
example: 0
allowedFileTypes:
type: string
example: .
otherModules:
type: array
example:
-
module_id: 1
name: test
slug: test
type: text
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: false
status_row_id: 1
status: Completed
started_on: '2020-08-03T10:02:33.000000Z'
completed_on: '2020-08-03T10:02:41.000000Z'
last_accessed_on: '8 hours ago'
total_time_spent:
hours: 0
minutes: 0
seconds: 6
totalSeconds: 6
completion_percentage: 100
no_of_times_accessed: 3
-
module_id: 4
name: assign
slug: assign
type: assignment
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: true
status_row_id: -1
status: 'Not Started'
started_on: ''
completed_on: ''
last_accessed_on: Never
total_time_spent: ''
points_awarded: ''
completion_percentage: 0
no_of_times_accessed: 0
-
module_id: 7
name: First-quiz
slug: first-quiz
type: quiz
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: false
status_row_id: -1
status: 'Not Started'
started_on: ''
completed_on: ''
last_accessed_on: Never
total_time_spent: ''
points_awarded: ''
completion_percentage: 0
no_of_times_accessed: 0
-
module_id: 9
name: My-video-lesson
slug: my-video-lesson
type: video
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: false
status_row_id: 4
status: 'In Progress'
started_on: '2020-08-10T20:04:14.000000Z'
completed_on: null
last_accessed_on: '6 hours ago'
total_time_spent:
hours: 0
minutes: 0
seconds: 0
totalSeconds: null
completion_percentage: 0
no_of_times_accessed: 1
-
module_id: 10
name: 'Essay on LMS'
slug: essay-on-lms
type: assignment
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: false
status_row_id: 5
status: Completed
started_on: '2020-08-11T02:47:32.000000Z'
completed_on: '2020-08-11T02:47:32.000000Z'
last_accessed_on: '46 seconds ago'
total_time_spent:
hours: 0
minutes: 0
seconds: 0
totalSeconds: null
completion_percentage: 100
no_of_times_accessed: 1
items:
type: object
properties:
module_id:
type: integer
example: 1
name:
type: string
example: test
slug:
type: string
example: test
type:
type: string
example: text
icon:
type: string
example: ''
is_locked:
type: boolean
example: false
lock_reason:
type: string
example: ''
is_dripped:
type: boolean
example: false
drip_message:
type: string
example: ''
is_current:
type: boolean
example: false
status_row_id:
type: integer
example: 1
status:
type: string
example: Completed
started_on:
type: string
example: '2020-08-03T10:02:33.000000Z'
completed_on:
type: string
example: '2020-08-03T10:02:41.000000Z'
last_accessed_on:
type: string
example: '8 hours ago'
total_time_spent:
type: object
properties:
hours:
type: integer
example: 0
minutes:
type: integer
example: 0
seconds:
type: integer
example: 6
totalSeconds:
type: integer
example: 6
completion_percentage:
type: integer
example: 100
no_of_times_accessed:
type: integer
example: 3
launchCheck:
type: object
properties:
canbeLaunched:
type: boolean
example: true
errTitle:
type: string
example: ''
errDesc:
type: string
example: ''
prevSlug:
type: string
example: my-video-lesson
nextSlug:
type: string
example: ''
status:
type: string
example: Completed
statusRowId:
type: integer
example: 5
timeSpent:
type: string
example: null
prevSubmission:
type: array
example: []
tags:
- Assignments
security: []
/api/module/assignment/submissions:
get:
summary: 'Retrieve Assignment Submissions'
operationId: retrieveAssignmentSubmissions
description: 'Retrieves the submissions of the assigment the student have given. Helps in grading a student. (See Response)'
parameters:
-
in: query
name: statusRowId
description: 'ID of the Module status of the current assignment.'
example: '7'
required: true
schema:
type: string
description: 'ID of the Module status of the current assignment.'
example: '7'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
courseId: 1
courseName: 'course 1'
assignmentName: assign
status: Submitted
content: Desc
totalPoints: 50
submissions:
-
id: 1
file_path: 'https://aom-uploads-test.s3.us-west-2.amazonaws.com/assignments/aom-sample-bulkupload_1597042007.csv'
student_message: null
instructor_message: null
points_awarded: null
evaluated_by: ''
submitted_on: 'Aug 10, 2020'
evaluated_on: ''
properties:
courseId:
type: integer
example: 1
courseName:
type: string
example: 'course 1'
assignmentName:
type: string
example: assign
status:
type: string
example: Submitted
content:
type: string
example: Desc
totalPoints:
type: integer
example: 50
submissions:
type: array
example:
-
id: 1
file_path: 'https://aom-uploads-test.s3.us-west-2.amazonaws.com/assignments/aom-sample-bulkupload_1597042007.csv'
student_message: null
instructor_message: null
points_awarded: null
evaluated_by: ''
submitted_on: 'Aug 10, 2020'
evaluated_on: ''
items:
type: object
properties:
id:
type: integer
example: 1
file_path:
type: string
example: 'https://aom-uploads-test.s3.us-west-2.amazonaws.com/assignments/aom-sample-bulkupload_1597042007.csv'
student_message:
type: string
example: null
instructor_message:
type: string
example: null
points_awarded:
type: string
example: null
evaluated_by:
type: string
example: ''
submitted_on:
type: string
example: 'Aug 10, 2020'
evaluated_on:
type: string
example: ''
tags:
- Assignments
security: []
/api/module/assignment/submit:
post:
summary: 'Submit Assignment'
operationId: submitAssignment
description: "Submits the assignment after attempting all the aspects of the assignment. Updates the status of assignment to submitted if student is finished the assignment and submits.\n(See Parameters)"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Assignment submitted successfully'
properties:
message:
type: string
example: 'Assignment submitted successfully'
tags:
- Assignments
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
statusRowId:
type: required
description: 'ID of the Module status of the current assignment.'
example: '7'
submission:
type: required
description: 'Submission data(file or text).'
example: 'This is text based assignment submission'
security: []
/api/module/assignment/upload:
post:
summary: 'Upload Assignment File'
operationId: uploadAssignmentFile
description: "Helps in upload the assignment file by students. You can use File form to upload a file to the system.\n(See Parameters)\nReturns the S3 bucket URL link for the uploaded file."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
s3_url: 'https://s3.aws.com/wTsycTYRCLKIUVXXIYFYVXBXIXUGIXB'
properties:
s3_url:
type: string
example: 'https://s3.aws.com/wTsycTYRCLKIUVXXIYFYVXBXIXUGIXB'
tags:
- Assignments
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
file:
type: required
description: 'File to be uploaded for current assignment.'
example: binary
security: []
/api/module/assignment/evaluate:
post:
summary: 'Evaluate Assignment'
operationId: evaluateAssignment
description: "Evaluates the assignment from Instructor side.Updates the status of assignment to completed if Instructor thinks student's submission is upto the marks.\n(See Parameters)"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Assignment evaluated successfully'
properties:
message:
type: string
example: 'Assignment evaluated successfully'
tags:
- Assignments
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
statusRowId:
type: required
description: 'ID of the Module status of the current assignment.'
example: '7'
evaluation:
type: required
description: 'Evaluation data by the Instructor(Completed or not).'
example: "{instructorMessage : 'Assignment looks good', pointsAwarded: '50', isAccepted : true }"
security: []
/api/audit-activities:
get:
summary: 'Tabular List'
operationId: tabularList
description: "Retrieves all the audit log activities in a tabular list format with pagination mode.\nYou can apply filter using search_param via user_id, activityName or dates"
parameters:
-
in: query
name: page_size
description: 'The number of the user you want for a page.'
example: '10'
required: true
schema:
type: string
description: 'The number of the user you want for a page.'
example: '10'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at","direction":"desc"}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at","direction":"desc"}'
-
in: query
name: search_param
description: 'For searching items based on performed_by, user and dates.'
example: '{"performed_by":"Aom Staff"}'
required: false
schema:
type: string
description: 'For searching items based on performed_by, user and dates.'
example: '{"performed_by":"Aom Staff"}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 1
recordsFiltered: 1
records:
-
performed_by: 'Aom Staff'
effect_on: User
subject: User
action: Created
created_at: 'Aug 06, 2020 07:20 AM'
details: []
performedOnList: []
properties:
recordsTotal:
type: integer
example: 1
recordsFiltered:
type: integer
example: 1
records:
type: array
example:
-
performed_by: 'Aom Staff'
effect_on: User
subject: User
action: Created
created_at: 'Aug 06, 2020 07:20 AM'
details: []
items:
type: object
properties:
performed_by:
type: string
example: 'Aom Staff'
effect_on:
type: string
example: User
subject:
type: string
example: User
action:
type: string
example: Created
created_at:
type: string
example: 'Aug 06, 2020 07:20 AM'
details:
type: array
example: []
performedOnList:
type: array
example: []
tags:
- 'Audit Logs'
security: []
/api/audit-activities/verb/lookup:
get:
summary: 'Audit Activity Lookup'
operationId: auditActivityLookup
description: "Retrieves all the activity for the user.\nHelps showing options in dropdowns elements"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
db_value: login
display_value: LOGIN
-
db_value: created
display_value: CREATED
-
db_value: updated
display_value: UPDATED
-
db_value: deleted
display_value: DELETED
tags:
- 'Audit Logs'
security: []
/api/badges/tabularlist:
get:
summary: 'Retrieve Badge details'
operationId: retrieveBadgeDetails
description: 'Retrieves the details of badges. (See Parameters)'
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '50'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '50'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at","direction":"desc"}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at","direction":"desc"}'
-
in: query
name: search_param
description: 'For searching items based on title.'
example: '{"title":""}'
required: false
schema:
type: string
description: 'For searching items based on title.'
example: '{"title":""}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 1
recordsFiltered: 1
records:
-
id: 1
title: '1'
badgeIconUrl: /images/badges/Badge_1.png
points: 1
properties:
recordsTotal:
type: integer
example: 1
recordsFiltered:
type: integer
example: 1
records:
type: array
example:
-
id: 1
title: '1'
badgeIconUrl: /images/badges/Badge_1.png
points: 1
items:
type: object
properties:
id:
type: integer
example: 1
title:
type: string
example: '1'
badgeIconUrl:
type: string
example: /images/badges/Badge_1.png
points:
type: integer
example: 1
tags:
- Badge
security: []
/api/badge/create:
post:
summary: 'Create Badge'
operationId: createBadge
description: 'Create a new badge.'
parameters:
-
in: query
name: title
description: 'string The title of the badge.'
example: Gold
required: true
schema:
type: string
description: 'string The title of the badge.'
example: Gold
-
in: query
name: points
description: 'The points associated with the badge.'
example: 100
required: false
schema:
type: integer
description: 'The points associated with the badge.'
example: 100
-
in: query
name: badgeIconUrl
description: 'string The URL to the badge icon image.'
example: 'https://api.example.com/abc.jpg'
required: true
schema:
type: string
description: 'string The URL to the badge icon image.'
example: 'https://api.example.com/abc.jpg'
-
in: query
name: defaultIconUrl
description: 'nullable The URL to the default icon image for the badge.'
example: 'https://api.example.com/abc.jpg'
required: false
schema:
type: string
description: 'nullable The URL to the default icon image for the badge.'
example: 'https://api.example.com/abc.jpg'
-
in: query
name: organizationId
description: 'nullable string The identifier of the organization to which the badge belongs.'
example: AOM1234
required: false
schema:
type: string
description: 'nullable string The identifier of the organization to which the badge belongs.'
example: AOM1234
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 3
message: 'Badge created successfully'
properties:
id:
type: integer
example: 3
message:
type: string
example: 'Badge created successfully'
tags:
- Badge
security: []
/api/badges/defaultBadgeLookUp:
get:
summary: 'Retrieve default Badges details'
operationId: retrieveDefaultBadgesDetails
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
value: 'Badge 1'
url: /images/badges/Badge_1.png
-
value: 'Badge 2'
url: /images/badges/Badge_2.png
-
value: 'Badge 3'
url: /images/badges/Badge_3.png
-
value: 'Badge 4'
url: /images/badges/Badge_4.png
tags:
- Badge
security: []
'/api/badge/{id}':
get:
summary: 'Retrieve details of specific badge'
operationId: retrieveDetailsOfSpecificBadge
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
title: Gold
points: 1
organizationId: '97852067'
badgeIconUrl: /images/badges/Badge_1.png
properties:
id:
type: integer
example: 1
title:
type: string
example: Gold
points:
type: integer
example: 1
organizationId:
type: string
example: '97852067'
badgeIconUrl:
type: string
example: /images/badges/Badge_1.png
tags:
- Badge
security: []
put:
summary: 'Update Badge'
operationId: updateBadge
description: 'Update the existing badge.'
parameters:
-
in: query
name: title
description: 'string The title of the badge.'
example: Gold
required: true
schema:
type: string
description: 'string The title of the badge.'
example: Gold
-
in: query
name: points
description: 'The points associated with the badge.'
example: 100
required: false
schema:
type: integer
description: 'The points associated with the badge.'
example: 100
-
in: query
name: badgeIconUrl
description: 'string The URL to the badge icon image.'
example: 'https://api.example.com/abc.jpg'
required: true
schema:
type: string
description: 'string The URL to the badge icon image.'
example: 'https://api.example.com/abc.jpg'
-
in: query
name: defaultIconUrl
description: 'nullable The URL to the default icon image for the badge.'
example: 'https://api.example.com/abc.jpg'
required: false
schema:
type: string
description: 'nullable The URL to the default icon image for the badge.'
example: 'https://api.example.com/abc.jpg'
-
in: query
name: organizationId
description: 'nullable string The identifier of the organization to which the badge belongs.'
example: AOM1234
required: false
schema:
type: string
description: 'nullable string The identifier of the organization to which the badge belongs.'
example: AOM1234
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 3
message: 'Badge updated successfully'
properties:
id:
type: integer
example: 3
message:
type: string
example: 'Badge updated successfully'
tags:
- Badge
security: []
parameters:
-
in: path
name: id
description: 'ID of the badge needs to be retrieved.'
example: '1'
required: true
schema:
type: string
/api/badge/delete:
post:
summary: 'Delete badge'
operationId: deleteBadge
description: 'Delete a badge by ID.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: '1 badge(s) deleted. 0 badge(s) not deleted as they are assigned to users. 0 badge(s) not deleted as they are used in gamification events.'
properties:
message:
type: string
example: '1 badge(s) deleted. 0 badge(s) not deleted as they are assigned to users. 0 badge(s) not deleted as they are used in gamification events.'
tags:
- Badge
security: []
parameters:
-
in: path
name: id
description: 'Optional parameter. array required The ID of the badge to be deleted.'
required: true
schema:
type: string
examples:
omitted:
summary: 'When the value is omitted'
value: ''
present:
summary: 'When the value is present'
value: '[1, 2, 3]'
/api/categories/product/lookup:
get:
summary: 'Product Category Lookup'
operationId: productCategoryLookup
description: "Retrieves all the categories of the product user has ever created.\nThis request helps in showing all product categories in form elements like dropdown, etc.\nReturns ID and name of the product category."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
id: 4
name: Question-cat
tags:
- Categories
security: []
/api/categories/course/lookup:
get:
summary: 'Course Category Lookup'
operationId: courseCategoryLookup
description: "Retrieves all the categories of the courses user has ever created.\nThis request helps in showing all course categories in form elements like dropdown, etc.\nReturns ID and name of the course category."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
id: 1
name: Category-1
tags:
- Categories
security: []
/api/categories/module/lookup:
get:
summary: 'Module category Lookup'
operationId: moduleCategoryLookup
description: "Retrieves all the categories of the module user has ever created.\nThis request helps in showing all module categories in form elements like dropdown, etc.\nReturns ID and name of the module category."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
id: 1
name: Category-1
tags:
- Categories
security: []
/api/categories/question/lookup:
get:
summary: 'Question Category Lookup'
operationId: questionCategoryLookup
description: "Retrieves all the categories of the question user has ever created.\nThis request helps in showing all question categories in form elements like dropdown, etc.\nReturns ID and name of the question category."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
id: 4
name: Question-cat
tags:
- Categories
security: []
/api/categories/user/lookup:
get:
summary: 'User Category Lookup'
operationId: userCategoryLookup
description: "Retrieves all the categories of the user user has ever created.\nThis request helps in showing all user categories in form elements like dropdown, etc.\nReturns ID and name of the user category."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
id: 4
name: User-cat
tags:
- Categories
security: []
/api/coursecategory/tabularlist:
get:
summary: 'Course Category Tabular List'
operationId: courseCategoryTabularList
description: "Returns all the course categories in a tabular list format in paginated mode.\nYou can apply filter using search_param via categoryName."
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '9'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '9'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
-
in: query
name: search_param
description: 'For searching items based on category name.'
example: '{"categoryName":""}'
required: false
schema:
type: string
description: 'For searching items based on category name.'
example: '{"categoryName":""}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 4
recordsFiltered: 3
records:
-
id: 3
name: superman_postman
author: 'Client Admin'
count: 0
created_at: 'Aug 10, 2020 12:43 PM'
-
id: 2
name: category-new
author: 'Aom Staff'
count: 0
created_at: 'Aug 10, 2020 12:37 PM'
-
id: 1
name: Category-1
author: 'Aom Staff'
count: 1
created_at: 'Aug 09, 2020 06:20 PM'
properties:
recordsTotal:
type: integer
example: 4
recordsFiltered:
type: integer
example: 3
records:
type: array
example:
-
id: 3
name: superman_postman
author: 'Client Admin'
count: 0
created_at: 'Aug 10, 2020 12:43 PM'
-
id: 2
name: category-new
author: 'Aom Staff'
count: 0
created_at: 'Aug 10, 2020 12:37 PM'
-
id: 1
name: Category-1
author: 'Aom Staff'
count: 1
created_at: 'Aug 09, 2020 06:20 PM'
items:
type: object
properties:
id:
type: integer
example: 3
name:
type: string
example: superman_postman
author:
type: string
example: 'Client Admin'
count:
type: integer
example: 0
created_at:
type: string
example: 'Aug 10, 2020 12:43 PM'
tags:
- Categories
security: []
/api/modulecategory/tabularlist:
get:
summary: 'Module Category Tabular List'
operationId: moduleCategoryTabularList
description: "Returns all the module categories in a tabular list format in paginated mode.\nYou can apply filter using search_param via categoryName."
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '9'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '9'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
-
in: query
name: search_param
description: 'For searching items based on category name.'
example: '{"categoryName":""}'
required: false
schema:
type: string
description: 'For searching items based on category name.'
example: '{"categoryName":""}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 2
recordsFiltered: 1
records:
-
id: 2
name: 'module memberships'
author: 'Aom Staff'
count: 1
created_at: 'May 10, 2022 03:39 AM'
properties:
recordsTotal:
type: integer
example: 2
recordsFiltered:
type: integer
example: 1
records:
type: array
example:
-
id: 2
name: 'module memberships'
author: 'Aom Staff'
count: 1
created_at: 'May 10, 2022 03:39 AM'
items:
type: object
properties:
id:
type: integer
example: 2
name:
type: string
example: 'module memberships'
author:
type: string
example: 'Aom Staff'
count:
type: integer
example: 1
created_at:
type: string
example: 'May 10, 2022 03:39 AM'
tags:
- Categories
security: []
/api/productcategory/tabularlist:
get:
summary: 'Product Category Tabular List'
operationId: productCategoryTabularList
description: "Returns all the product categories in a tabular list format in paginated mode.\nYou can apply filter using search_param via categoryName."
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '9'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '9'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
-
in: query
name: search_param
description: 'For searching items based on category name.'
example: '{"categoryName":""}'
required: false
schema:
type: string
description: 'For searching items based on category name.'
example: '{"categoryName":""}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 4
recordsFiltered: 3
records:
-
id: 3
name: superman_postman
author: 'Client Admin'
count: 0
created_at: 'Aug 10, 2020 12:43 PM'
-
id: 2
name: category-new
author: 'Aom Staff'
count: 0
created_at: 'Aug 10, 2020 12:37 PM'
-
id: 1
name: Category-1
author: 'Aom Staff'
count: 1
created_at: 'Aug 09, 2020 06:20 PM'
properties:
recordsTotal:
type: integer
example: 4
recordsFiltered:
type: integer
example: 3
records:
type: array
example:
-
id: 3
name: superman_postman
author: 'Client Admin'
count: 0
created_at: 'Aug 10, 2020 12:43 PM'
-
id: 2
name: category-new
author: 'Aom Staff'
count: 0
created_at: 'Aug 10, 2020 12:37 PM'
-
id: 1
name: Category-1
author: 'Aom Staff'
count: 1
created_at: 'Aug 09, 2020 06:20 PM'
items:
type: object
properties:
id:
type: integer
example: 3
name:
type: string
example: superman_postman
author:
type: string
example: 'Client Admin'
count:
type: integer
example: 0
created_at:
type: string
example: 'Aug 10, 2020 12:43 PM'
tags:
- Categories
security: []
/api/questioncategory/tabularlist:
get:
summary: 'Question Category Tabular List'
operationId: questionCategoryTabularList
description: "Returns all the question categories in a tabular list format in paginated mode.\nYou can apply filter using search_param via categoryName."
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '9'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '9'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
-
in: query
name: search_param
description: 'For searching items based on category name.'
example: '{"categoryName":""}'
required: false
schema:
type: string
description: 'For searching items based on category name.'
example: '{"categoryName":""}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 4
recordsFiltered: 1
records:
-
id: 4
name: Question-cat
author: 'Aom Staff'
count: 0
created_at: 'Aug 10, 2020 01:58 PM'
properties:
recordsTotal:
type: integer
example: 4
recordsFiltered:
type: integer
example: 1
records:
type: array
example:
-
id: 4
name: Question-cat
author: 'Aom Staff'
count: 0
created_at: 'Aug 10, 2020 01:58 PM'
items:
type: object
properties:
id:
type: integer
example: 4
name:
type: string
example: Question-cat
author:
type: string
example: 'Aom Staff'
count:
type: integer
example: 0
created_at:
type: string
example: 'Aug 10, 2020 01:58 PM'
tags:
- Categories
security: []
/api/category/create:
post:
summary: 'Create Category'
operationId: createCategory
description: "To create a category, you need to use this request. Provide category name and it will be created. (See parameters)\nHelps in grouping multiple courses, question and products."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Category Created Successfully'
properties:
message:
type: string
example: 'Category Created Successfully'
tags:
- Categories
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
category_name:
type: string
description: 'Name of the course category.'
example: category-new
categoryType:
type: string
description: 'Type for the category that is being created. Type options: course, question, product and module.'
example: course
required:
- category_name
- categoryType
security: []
'/api/category/{id}':
put:
summary: 'Update Category'
operationId: updateCategory
description: "Updates a category using parameters mentioned. (See parameters)\nUpdates the course/question/product category details using category name and category ID."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Category Updated Successfully'
properties:
message:
type: string
example: 'Category Updated Successfully'
tags:
- Categories
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
category_name:
type: string
description: 'Name of the category.'
example: category-new-updated
required:
- category_name
security: []
get:
summary: 'Retrieve Category'
operationId: retrieveCategory
description: 'Retrieves category details for specified category ID.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 3
name: superman_postman
type: course
created_by: 2
updated_by: null
deleted_by: null
created_at: '2020-08-10 12:43:12'
updated_at: '2020-08-10 12:56:37'
deleted_at: null
properties:
id:
type: integer
example: 3
name:
type: string
example: superman_postman
type:
type: string
example: course
created_by:
type: integer
example: 2
updated_by:
type: string
example: null
deleted_by:
type: string
example: null
created_at:
type: string
example: '2020-08-10 12:43:12'
updated_at:
type: string
example: '2020-08-10 12:56:37'
deleted_at:
type: string
example: null
tags:
- Categories
security: []
parameters:
-
in: path
name: id
description: 'ID of the category.'
example: '3'
required: true
schema:
type: string
/api/category/delete:
post:
summary: 'Delete Category'
operationId: deleteCategory
description: "To delete a category, you need to use this request.\nReturns number of category deleted(if multiple selected)"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: '1 category(s) deleted '
properties:
message:
type: string
example: '1 category(s) deleted '
tags:
- Categories
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
delete_ids:
type: array
description: 'All category IDs which needs to be deleted.'
example:
- 1
items:
type: string
required:
- delete_ids
security: []
/api/certificate_templates/lookup:
get:
summary: 'Certificates Lookup'
operationId: certificatesLookup
description: "Retrieves all the certificate templates. Helps while showing certificate templates in form elements like dropdown.\nReturns Id and name of the certificate templates. (See Response)"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
id: 1
name: 'cert 1'
tags:
- 'Certificate Templates'
security: []
/api/certificate_templates/tabularlist:
get:
summary: 'Certificate Template Tabular List'
operationId: certificateTemplateTabularList
description: "Returns all the certificate templates in a tabular list format in paginated mode.\nYou can apply filter using search_param via templateName(certificate template name) and courseId(course Id)."
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '50'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '50'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: impedit
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: impedit
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
-
in: query
name: search_param
description: 'For searching items based on field names.'
example: '{"templateName":"","courseId":""}'
required: false
schema:
type: string
description: 'For searching items based on field names.'
example: '{"templateName":"","courseId":""}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 1
recordsFiltered: 1
records:
-
id: 1
name: 'cert 1'
author: 'Aom Staff'
courses: 'course 1, Awesome Course, course 1_copy'
created_at: 'Aug 03, 2020 09:58 AM'
properties:
recordsTotal:
type: integer
example: 1
recordsFiltered:
type: integer
example: 1
records:
type: array
example:
-
id: 1
name: 'cert 1'
author: 'Aom Staff'
courses: 'course 1, Awesome Course, course 1_copy'
created_at: 'Aug 03, 2020 09:58 AM'
items:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: 'cert 1'
author:
type: string
example: 'Aom Staff'
courses:
type: string
example: 'course 1, Awesome Course, course 1_copy'
created_at:
type: string
example: 'Aug 03, 2020 09:58 AM'
tags:
- 'Certificate Templates'
security: []
/api/certificate_templates/quickEdit:
post:
summary: 'Quick Edit'
operationId: quickEdit
description: 'Updates the details in bulk for specified certificate templates. Parameters is provided which needs to be updated. (See Parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Certificate Templates updated Successfully'
properties:
message:
type: string
example: 'Certificate Templates updated Successfully'
tags:
- 'Certificate Templates'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
template_ids:
type: array
description: 'All certificate template IDs which needs to be updated.'
example:
- 3
- 1
items:
type: string
author_id:
type: integer
description: 'Update the instructor/Author for the selected certificate templates.'
example: 1
required:
- template_ids
security: []
/api/certificate_template/keysLookup:
get:
summary: 'Certificate Template Fields Lookup'
operationId: certificateTemplateFieldsLookup
description: "Retrieves all the fields name user can add in the certificate templates. Fields like student name, instructor name, course name, etc.\nHelps showing options in dropdowns elements while creating certificate template."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
db_value: student_first_name
display_value: 'Student First Name'
-
db_value: student_last_name
display_value: 'Student Last Name'
-
db_value: student_full_name
display_value: 'Student Full Name'
-
db_value: course_name
display_value: 'Course Name'
-
db_value: issue_date
display_value: 'Date of Issue'
-
db_value: expiry_date
display_value: 'Date of Expiry'
-
db_value: instructor_name
display_value: 'Instructor Name'
-
db_value: certificate_code
display_value: 'Certificate Code'
-
db_value: course_credit
display_value: 'Course Credit'
-
db_value: custom_text
display_value: 'Custom Text'
tags:
- 'Certificate Templates'
security: []
/api/certificate_template/fontFamilyLookup:
get:
summary: 'Certificate Template Fonts Lookup'
operationId: certificateTemplateFontsLookup
description: "Retrieves all the fonts user can add in the certificate templates. Fonts like Arial, Times-Roman, Helvetica, etc.\nHelps showing options in dropdowns elements while creating certificate template."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
db_value: Arial
display_value: Arial
is_selected: 'true'
-
db_value: Courier
display_value: Courier
-
db_value: Times-Roman
display_value: Times-Roman
-
db_value: Helvetica
display_value: Helvetica
-
db_value: Times-Bold
display_value: Times-Bold
-
db_value: Courier-Bold
display_value: Courier-Bold
-
db_value: DejaVuSans-Bold
display_value: DejaVuSans-Bold
-
db_value: DejaVuSansMono-Bold
display_value: DejaVuSansMono-Bold
tags:
- 'Certificate Templates'
security: []
/api/certificate_template:
post:
summary: 'Create Certificate Template'
operationId: createCertificateTemplate
description: "To create a certificate template, you need to use this request. (See parameters)\nCreated certificate template can be used to assign students when they completed the course.\n\nReturns : id of the certificate template created and successfull message"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 2
message: 'Certificate Template created successfully'
properties:
id:
type: integer
example: 2
message:
type: string
example: 'Certificate Template created successfully'
tags:
- 'Certificate Templates'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Name of the certificate template.'
example: Completion-Certificate
bg_url:
type: string
description: 'Background for the certificate template.'
example: 'http://aom.com/images/default-certificate.png'
height:
type: integer
description: 'Height size for the certificate template.'
example: 680
width:
type: integer
description: 'Width size for the certificate template.'
example: 1075
fields:
type: array
description: 'All the certificate fields user have added to appear in certificate template(student name, instructor name, course name, etc).'
example:
-
key: course_name
value: 'Course Name'
font_size: '20'
align_center: false
font_family: Arial
font_color: '#222'
top: 432
left: 469
width: 200
height: 40
show_tools: false
-
key: student_first_name
value: 'Student First Name'
font_size: '20'
align_center: false
font_family: Arial
font_color: '#222'
top: 332
left: 452
width: 200
height: 40
show_tools: false
items:
type: string
required:
- name
- height
- width
security: []
'/api/certificate_template/{id}':
get:
summary: 'Retrieve Certificate Template'
operationId: retrieveCertificateTemplate
description: 'Retrieves the details of the specified certificate template. Helps in fetching certificate template using its ID. (See Parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
name: 'cert 1'
bg_url: 'https://v3.academyofmine.net/wp-content/uploads/2020/07/default-certificate.png'
height: 827
width: 1070
fields:
-
key: student_full_name
value: 'Student Full Name'
font_size: 20
font_family: Arial
font_color: '#222'
top: 401
left: 443
align_center: false
width: 200
height: 60
properties:
name:
type: string
example: 'cert 1'
bg_url:
type: string
example: 'https://v3.academyofmine.net/wp-content/uploads/2020/07/default-certificate.png'
height:
type: integer
example: 827
width:
type: integer
example: 1070
fields:
type: array
example:
-
key: student_full_name
value: 'Student Full Name'
font_size: 20
font_family: Arial
font_color: '#222'
top: 401
left: 443
align_center: false
width: 200
height: 60
items:
type: object
properties:
key:
type: string
example: student_full_name
value:
type: string
example: 'Student Full Name'
font_size:
type: integer
example: 20
font_family:
type: string
example: Arial
font_color:
type: string
example: '#222'
top:
type: integer
example: 401
left:
type: integer
example: 443
align_center:
type: boolean
example: false
width:
type: integer
example: 200
height:
type: integer
example: 60
tags:
- 'Certificate Templates'
security: []
put:
summary: 'Update Certificate Template'
operationId: updateCertificateTemplate
description: "Updates the details of a specified certificate template. (See parameters)\nCertificate template can be used to assign students when they completed the course."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 2
message: 'Certificate Template created successfully'
properties:
id:
type: integer
example: 2
message:
type: string
example: 'Certificate Template created successfully'
tags:
- 'Certificate Templates'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Name of the certificate template.'
example: Updated-Completion-Certificate
bg_url:
type: string
description: 'Background for the certificate template.'
example: 'http://aom.com/images/default-certificate.png'
height:
type: integer
description: 'Height size for the certificate template.'
example: 780
width:
type: integer
description: 'Width size for the certificate template.'
example: 1075
fields:
type: array
description: 'All the certificate fields user have added to appear in certificate template(student name, instructor name, course name, etc).'
example:
-
key: course_name
value: 'Course Name'
font_size: '20'
align_center: false
font_family: Arial
font_color: '#222'
top: 432
left: 469
width: 200
height: 40
show_tools: false
-
key: student_first_name
value: 'Student First Name'
font_size: '20'
align_center: false
font_family: Arial
font_color: '#222'
top: 332
left: 452
width: 200
height: 40
show_tools: false
items:
type: string
required:
- name
- height
- width
security: []
parameters:
-
in: path
name: id
description: 'ID of the certificate template you want to fetch the details of.'
example: '1'
required: true
schema:
type: string
'/api/certificate_template/preview/{id}':
get:
summary: 'Preview Certificate Template'
operationId: previewCertificateTemplate
description: "It let users preview certificate by downloading it with demo data.\nChanges the completion percentage to 100% and mark completed the text module."
parameters: []
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: 'pdf file as download option'
tags:
- 'Certificate Templates'
security: []
parameters:
-
in: path
name: id
description: 'ID of the Certificate template.'
example: '2'
required: true
schema:
type: string
/api/certificate_template/delete:
post:
summary: 'Delete Certificate Template'
operationId: deleteCertificateTemplate
description: "To delete a certificate template, you need to use this request.\nReturns number of certificate template deleted(if multiple selected) and also not deleted. (See Response)"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: '2 template(s) deleted 1 template(s) not deleted as it is used in course. Please remove the template(s) from the course and try again.'
properties:
message:
type: string
example: '2 template(s) deleted 1 template(s) not deleted as it is used in course. Please remove the template(s) from the course and try again.'
tags:
- 'Certificate Templates'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
delete_ids:
type: array
description: 'All certificate template IDs which needs to be deleted.'
example:
- 1
- 12
- 15
items:
type: string
required:
- delete_ids
security: []
/api/class/tabularlist:
get:
summary: 'Retrieve List of classes'
operationId: retrieveListOfClasses
description: 'Return list of classes'
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '50'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '50'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at","direction":"desc"}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at","direction":"desc"}'
-
in: query
name: search_param
description: 'For searching items based on location, course name, dates.'
example: '{"location":"","courseName":"","dates":[]}'
required: false
schema:
type: string
description: 'For searching items based on location, course name, dates.'
example: '{"location":"","courseName":"","dates":[]}'
-
in: query
name: group_id
description: 'The ID of the group.'
example: '1'
required: false
schema:
type: string
description: 'The ID of the group.'
example: '1'
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: '{"recordsTotal": 56, "recordsFiltered": 56, "records": [{"id": 56, "course_name": "Professional Development", "start_time": "01-Jan-2024 02:00 AM", "end_time": "31-Jan-2024 14:00 PM", "location": "New Jersey", "courseEdit": "https:\/\/staging.aomlms.com\/dashboard\/course\/edit\/34?start=2024-01-01&end=2024-01-31", "isAbleToEdit": true }}'
tags:
- Class
security: []
/api/class/get-class-schedules:
get:
summary: 'Retrieve Schedules of a class'
operationId: retrieveSchedulesOfAClass
description: ''
parameters:
-
in: query
name: courseId
description: 'The ID of the course.'
example: '1'
required: false
schema:
type: string
description: 'The ID of the course.'
example: '1'
-
in: query
name: search_param
description: 'For searching items based on location.'
example: '{"location":1}'
required: false
schema:
type: string
description: 'For searching items based on location.'
example: '{"location":1}'
-
in: query
name: group_id
description: 'The ID of the group.'
example: '1'
required: false
schema:
type: string
description: 'The ID of the group.'
example: '1'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
classes:
-
id: 56
startDate: 01-Jan-2024
endDate: 31-Jan-2024
startTime: '02:00 AM'
endTime: '14:00 PM'
location_id: 2
location: 'New Jersey'
instructor_id: 8
instructor: 'John Doe'
start_time: '2024-01-01T09:00:00.000000Z'
properties:
classes:
type: array
example:
-
id: 56
startDate: 01-Jan-2024
endDate: 31-Jan-2024
startTime: '02:00 AM'
endTime: '14:00 PM'
location_id: 2
location: 'New Jersey'
instructor_id: 8
instructor: 'John Doe'
start_time: '2024-01-01T09:00:00.000000Z'
items:
type: object
properties:
id:
type: integer
example: 56
startDate:
type: string
example: 01-Jan-2024
endDate:
type: string
example: 31-Jan-2024
startTime:
type: string
example: '02:00 AM'
endTime:
type: string
example: '14:00 PM'
location_id:
type: integer
example: 2
location:
type: string
example: 'New Jersey'
instructor_id:
type: integer
example: 8
instructor:
type: string
example: 'John Doe'
start_time:
type: string
example: '2024-01-01T09:00:00.000000Z'
tags:
- Class
security: []
/api/class/create:
post:
summary: 'Create Class'
operationId: createClass
description: "To create class, you need to use this request. (See parameters)\n\nReturns : id of the class created and successfull message"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 62
message: 'Class saved successfully'
properties:
id:
type: integer
example: 62
message:
type: string
example: 'Class saved successfully'
tags:
- Class
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
allowDownload:
type: boolean
description: 'Set true to allow downloading class recordings.'
example: false
courseId:
type: integer
description: 'ID of the class.'
example: 34
disabled:
type: boolean
description: '. Example : false'
example: true
endTime:
type: datetime
description: 'End time of the class.'
example: '2024-01-1 10:00:00'
instructor:
type: integer
description: 'ID of the instructor.'
example: 2
location:
type: integer
description: 'Id of the location.'
example: 2
recurrence:
type: recurrence
description: 'of the class. Example : {classDays: "", startDate: "", startTime: "", endTime: "", interval: "", frequency: "", end: ""}'
example: velit
starttime:
type: datetime
description: 'Start time of the class.'
example: '2024-01-31 10:00:00'
type:
type: string
description: 'Type of class, onetime or recurring:'
example: onetime
webinarProvider:
type: string
description: ''
example: magni
zoom_host_pwd:
type: string
description: ''
example: dolorem
zoom_meeting_id:
type: string
description: ''
example: dolores
required:
- allowDownload
- courseId
- disabled
- instructor
security: []
/api/class/edit:
get:
summary: 'Retrieve class details'
operationId: retrieveClassDetails
description: ''
parameters:
-
in: query
name: classId
description: 'ID of the class.'
example: '1'
required: false
schema:
type: string
description: 'ID of the class.'
example: '1'
-
in: query
name: courseId
description: 'ID of the course.'
example: '1'
required: false
schema:
type: string
description: 'ID of the course.'
example: '1'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
classDetails:
id: 56
courseId: '34'
startTime: '2024-01-01 09:00:00'
endTime: '2024-01-31 21:00:00'
location: 2
instructor: 8
webinarProvider: ''
allowDownload: false
zoom_meeting_id: null
zoom_host_pwd: null
studyMaterial: []
properties:
classDetails:
type: object
properties:
id:
type: integer
example: 56
courseId:
type: string
example: '34'
startTime:
type: string
example: '2024-01-01 09:00:00'
endTime:
type: string
example: '2024-01-31 21:00:00'
location:
type: integer
example: 2
instructor:
type: integer
example: 8
webinarProvider:
type: string
example: ''
allowDownload:
type: boolean
example: false
zoom_meeting_id:
type: string
example: null
zoom_host_pwd:
type: string
example: null
studyMaterial:
type: array
example: []
tags:
- Class
security: []
/api/class/update:
post:
summary: 'Update event details with specified parameters.'
operationId: updateEventDetailsWithSpecifiedParameters
description: ''
parameters:
-
in: query
name: allowDownload
description: 'Flag indicating whether downloads are allowed.'
example: false
required: false
schema:
type: boolean
description: 'Flag indicating whether downloads are allowed.'
example: false
-
in: query
name: courseId
description: 'The ID of the course.'
example: '"19"'
required: false
schema:
type: string
description: 'The ID of the course.'
example: '"19"'
-
in: query
name: endTime
description: 'The end time of the class.'
example: '"2024-01-31 23:09:00"'
required: false
schema:
type: string
description: 'The end time of the class.'
example: '"2024-01-31 23:09:00"'
-
in: query
name: id
description: 'The ID of the class.'
example: 2
required: false
schema:
type: integer
description: 'The ID of the class.'
example: 2
-
in: query
name: instructor
description: 'The ID of the instructor for the class.'
example: 6
required: false
schema:
type: integer
description: 'The ID of the instructor for the class.'
example: 6
-
in: query
name: location
description: 'The ID of the location for the class.'
example: 2
required: false
schema:
type: integer
description: 'The ID of the location for the class.'
example: 2
-
in: query
name: startTime
description: 'The start time of the class.'
example: '"2024-01-09 02:00:00"'
required: false
schema:
type: string
description: 'The start time of the class.'
example: '"2024-01-09 02:00:00"'
-
in: query
name: studyMaterial
description: 'JSON-encoded array of study materials for the event.'
example:
- assumenda
required: false
schema:
type: array
description: 'JSON-encoded array of study materials for the event.'
example:
- assumenda
items:
type: string
-
in: query
name: 'studyMaterial[0][media_id]'
description: 'The media ID of the study material.'
example: 2
required: false
schema:
type: integer
description: 'The media ID of the study material.'
example: 2
-
in: query
name: 'studyMaterial[0][name]'
description: 'The name of the study material.'
example: '"elephantsdream-2-a0c4eea6d83f7d0141e36e30cc7b0369.mp4"'
required: false
schema:
type: string
description: 'The name of the study material.'
example: '"elephantsdream-2-a0c4eea6d83f7d0141e36e30cc7b0369.mp4"'
-
in: query
name: 'studyMaterial[0][type]'
description: 'The type of the study material.'
example: '"Videos"'
required: false
schema:
type: string
description: 'The type of the study material.'
example: '"Videos"'
-
in: query
name: webinarProvider
description: 'The provider for the webinar.'
example: '""'
required: false
schema:
type: string
description: 'The provider for the webinar.'
example: '""'
-
in: query
name: zoom_host_pwd
description: 'string|null The password for the Zoom host.'
example: 'null'
required: false
schema:
type: string
description: 'string|null The password for the Zoom host.'
example: 'null'
-
in: query
name: zoom_meeting_id
description: 'string|null The meeting ID for the Zoom meeting.'
example: 'null'
required: false
schema:
type: string
description: 'string|null The meeting ID for the Zoom meeting.'
example: 'null'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Class updated Successfully'
properties:
message:
type: string
example: 'Class updated Successfully'
tags:
- Class
security: []
/api/class/get-course-classes:
get:
summary: 'Retrieve details of course and class associated with it'
operationId: retrieveDetailsOfCourseAndClassAssociatedWithIt
description: ''
parameters:
-
in: query
name: course_id
description: 'The ID of the course.'
example: '1'
required: false
schema:
type: string
description: 'The ID of the course.'
example: '1'
-
in: query
name: group_id
description: 'The ID of the group.'
example: '1'
required: false
schema:
type: string
description: 'The ID of the group.'
example: '1'
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: 50
required: false
schema:
type: integer
description: 'The number of the items you want for a page.'
example: 50
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: 1
required: false
schema:
type: integer
description: 'Current page number in pagination.'
example: 1
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"registered_on","direction":"desc"}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"registered_on","direction":"desc"}'
-
in: query
name: search_param
description: 'For searching items based on location, instructor.'
example: '{"location":"","instructor":"","dates":[]}'
required: false
schema:
type: string
description: 'For searching items based on location, instructor.'
example: '{"location":"","instructor":"","dates":[]}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
courseName: 'Professional Development'
instructions: null
featuredImage: null
recordsTotal: 1
recordsFiltered: 1
records:
-
id: 56
startDate: 01-Jan-2024
endDate: 31-Jan-2024
startTime: '09:00 AM'
endTime: '21:00 PM'
location: 'New Jersey'
instructor: John
classSize: 0
properties:
courseName:
type: string
example: 'Professional Development'
instructions:
type: string
example: null
featuredImage:
type: string
example: null
recordsTotal:
type: integer
example: 1
recordsFiltered:
type: integer
example: 1
records:
type: array
example:
-
id: 56
startDate: 01-Jan-2024
endDate: 31-Jan-2024
startTime: '09:00 AM'
endTime: '21:00 PM'
location: 'New Jersey'
instructor: John
classSize: 0
items:
type: object
properties:
id:
type: integer
example: 56
startDate:
type: string
example: 01-Jan-2024
endDate:
type: string
example: 31-Jan-2024
startTime:
type: string
example: '09:00 AM'
endTime:
type: string
example: '21:00 PM'
location:
type: string
example: 'New Jersey'
instructor:
type: string
example: John
classSize:
type: integer
example: 0
tags:
- Class
security: []
'/api/class/enroll/{id}':
post:
summary: Enroll
operationId: enroll
description: 'urlParam id The ID of the class. Example: 2'
parameters:
-
in: query
name: groupId
description: 'The ID of the group.'
example: 1
required: false
schema:
type: integer
description: 'The ID of the group.'
example: 1
-
in: query
name: studentIds
description: 'The ID(s) of the students.'
example:
- 3
required: false
schema:
type: array
description: 'The ID(s) of the students.'
example:
- 3
items:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: '1 student(s) enrolled successfully'
enrolledUsersCount: 1
notEnrolledUsers: []
properties:
message:
type: string
example: '1 student(s) enrolled successfully'
enrolledUsersCount:
type: integer
example: 1
notEnrolledUsers:
type: array
example: []
tags:
- Class
security: []
/api/class/enrolled-students:
get:
summary: 'Retrieve details of course and class associated with it'
operationId: retrieveDetailsOfCourseAndClassAssociatedWithIt
description: ''
parameters:
-
in: query
name: class_id
description: 'The ID of the Class.'
example: '1'
required: false
schema:
type: string
description: 'The ID of the Class.'
example: '1'
-
in: query
name: group_id
description: 'The ID of the group.'
example: '1'
required: false
schema:
type: string
description: 'The ID of the group.'
example: '1'
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: 50
required: false
schema:
type: integer
description: 'The number of the items you want for a page.'
example: 50
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: 1
required: false
schema:
type: integer
description: 'Current page number in pagination.'
example: 1
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"registered_on","direction":"desc"}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"registered_on","direction":"desc"}'
-
in: query
name: search_param
description: 'For searching items based on name, email, status.'
example: '{"nameOrEmail":"","status":""}'
required: false
schema:
type: string
description: 'For searching items based on name, email, status.'
example: '{"nameOrEmail":"","status":""}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
courseId: 34
locationId: 2
courseName: 'Professional Development'
featuredImage: null
recordsTotal: 0
startDate: 01-Jan-2024
endDate: 31-Jan-2024
startTime: '09:00 AM'
endTime: '21:00 PM'
totalAttended: 0
totalNoShow: 0
totalCancelled: 0
recordsFiltered: 0
records: []
properties:
courseId:
type: integer
example: 34
locationId:
type: integer
example: 2
courseName:
type: string
example: 'Professional Development'
featuredImage:
type: string
example: null
recordsTotal:
type: integer
example: 0
startDate:
type: string
example: 01-Jan-2024
endDate:
type: string
example: 31-Jan-2024
startTime:
type: string
example: '09:00 AM'
endTime:
type: string
example: '21:00 PM'
totalAttended:
type: integer
example: 0
totalNoShow:
type: integer
example: 0
totalCancelled:
type: integer
example: 0
recordsFiltered:
type: integer
example: 0
records:
type: array
example: []
tags:
- Class
security: []
/api/class/update-class-status:
get:
summary: 'Update class status of the student'
operationId: updateClassStatusOfTheStudent
description: ''
parameters:
-
in: query
name: id
description: 'enrollment ID of the student.'
example: '3'
required: false
schema:
type: string
description: 'enrollment ID of the student.'
example: '3'
-
in: query
name: status
description: 'The status of the class. It can be Registered, Attended, No Show, Cancelled.'
example: Attended
required: false
schema:
type: string
description: 'The status of the class. It can be Registered, Attended, No Show, Cancelled.'
example: Attended
-
in: query
name: classId
description: 'ID of the class.'
example: '1'
required: false
schema:
type: string
description: 'ID of the class.'
example: '1'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Status Updated Successfully'
properties:
message:
type: string
example: 'Status Updated Successfully'
tags:
- Class
security: []
'/api/class/remove/{id}':
post:
summary: 'Remove Student from Class'
operationId: removeStudentFromClass
description: ''
parameters:
-
in: query
name: enrollmentIds
description: 'enrollment ID of the user.'
example:
- 2
required: false
schema:
type: array
description: 'enrollment ID of the user.'
example:
- 2
items:
type: string
-
in: query
name: groupID
description: 'ID of the group user belongs to.'
example: 2
required: false
schema:
type: integer
description: 'ID of the group user belongs to.'
example: 2
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: '1 student(s) removed successfully'
properties:
message:
type: string
example: '1 student(s) removed successfully'
tags:
- Class
security: []
parameters:
-
in: path
name: id
description: 'Optional parameter. ID of the class.'
required: true
schema:
type: string
examples:
omitted:
summary: 'When the value is omitted'
value: ''
present:
summary: 'When the value is present'
value: '2'
'/api/class/assignCertificate/{id}':
post:
summary: 'Assign Certificate'
operationId: assignCertificate
description: ''
parameters:
-
in: query
name: enrollmentIds
description: 'enrollment ID of the user.'
example:
- 2
required: false
schema:
type: array
description: 'enrollment ID of the user.'
example:
- 2
items:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
isSucess: true
message: 'Certificate assigned successfully to 1 student(s)'
properties:
isSucess:
type: boolean
example: true
message:
type: string
example: 'Certificate assigned successfully to 1 student(s)'
tags:
- Class
security: []
parameters:
-
in: path
name: id
description: 'Optional parameter. ID of the class.'
required: true
schema:
type: string
examples:
omitted:
summary: 'When the value is omitted'
value: ''
present:
summary: 'When the value is present'
value: '2'
/api/class/study-material:
get:
summary: 'Retrive Study material'
operationId: retriveStudyMaterial
description: ''
parameters:
-
in: query
name: registrationId
description: 'registration ID of the student.'
example: '3'
required: false
schema:
type: string
description: 'registration ID of the student.'
example: '3'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
name: 'Professional Development'
instructions: null
featuredImageUrl: null
status: Registered
display_status: Registered
startDate: 09-Jan-2024
endDate: 31-Jan-2024
startTime: '02:00 AM'
endTime: '23:09 PM'
location: 'New Jersey'
start: '2024-01-09T02:00:00.000000Z'
end: '2024-01-31T23:09:00.000000Z'
instructor: 'test '
classMaterial:
-
id: 2
file_name: elephantsdream-2-a0c4eea6d83f7d0141e36e30cc7b0369.mp4
file_type: Videos
status: Completed
s3_url: 'https://4bf2-103-163-65-26.ngrok-free.app/storage/videos/elephantsdream-2-a0c4eea6d83f7d0141e36e30cc7b0369.mp4'
mux_url: 'https://stream.mux.com/gwxGG01jAt024241hlvnE3Sh1oyclp6VXo.m3u8'
mux_id: 243RSjx5V8tv4pr0201iAZwiCUAd019dKd5
mime_type: video/mp4
created_at: 'Dec 26, 2023 12:38 PM'
properties:
name:
type: string
example: 'Professional Development'
instructions:
type: string
example: null
featuredImageUrl:
type: string
example: null
status:
type: string
example: Registered
display_status:
type: string
example: Registered
startDate:
type: string
example: 09-Jan-2024
endDate:
type: string
example: 31-Jan-2024
startTime:
type: string
example: '02:00 AM'
endTime:
type: string
example: '23:09 PM'
location:
type: string
example: 'New Jersey'
start:
type: string
example: '2024-01-09T02:00:00.000000Z'
end:
type: string
example: '2024-01-31T23:09:00.000000Z'
instructor:
type: string
example: 'test '
classMaterial:
type: array
example:
-
id: 2
file_name: elephantsdream-2-a0c4eea6d83f7d0141e36e30cc7b0369.mp4
file_type: Videos
status: Completed
s3_url: 'https://4bf2-103-163-65-26.ngrok-free.app/storage/videos/elephantsdream-2-a0c4eea6d83f7d0141e36e30cc7b0369.mp4'
mux_url: 'https://stream.mux.com/gwxGG01jAt024241hlvnE3Sh1oyclp6VXo.m3u8'
mux_id: 243RSjx5V8tv4pr0201iAZwiCUAd019dKd5
mime_type: video/mp4
created_at: 'Dec 26, 2023 12:38 PM'
items:
type: object
properties:
id:
type: integer
example: 2
file_name:
type: string
example: elephantsdream-2-a0c4eea6d83f7d0141e36e30cc7b0369.mp4
file_type:
type: string
example: Videos
status:
type: string
example: Completed
s3_url:
type: string
example: 'https://4bf2-103-163-65-26.ngrok-free.app/storage/videos/elephantsdream-2-a0c4eea6d83f7d0141e36e30cc7b0369.mp4'
mux_url:
type: string
example: 'https://stream.mux.com/gwxGG01jAt024241hlvnE3Sh1oyclp6VXo.m3u8'
mux_id:
type: string
example: 243RSjx5V8tv4pr0201iAZwiCUAd019dKd5
mime_type:
type: string
example: video/mp4
created_at:
type: string
example: 'Dec 26, 2023 12:38 PM'
tags:
- Class
security: []
/api/class/delete:
post:
summary: 'Delete Class'
operationId: deleteClass
description: 'Returns success message on deleting class for specified ID'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Permissions updated successfully'
properties:
message:
type: string
example: 'Permissions updated successfully'
tags:
- Class
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
classId:
type: integer
description: 'The ID of class to be deleted.'
example: 57
security: []
/api/class/delete-course-classes:
post:
summary: 'Delete Class'
operationId: deleteClass
description: 'Returns success message on deleting class'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: '2 Class(s) is successfully deleted and 4 Enrollment(s) is successfully removed'
properties:
message:
type: string
example: '2 Class(s) is successfully deleted and 4 Enrollment(s) is successfully removed'
tags:
- Class
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
courseId:
type: integer
description: 'The ID of course.'
example: 3
security: []
/api/class/webinar/details:
get:
summary: 'Retrieve Webinar Details'
operationId: retrieveWebinarDetails
description: ''
parameters:
-
in: query
name: registrationId
description: 'registration ID of the general user.'
example: '11'
required: false
schema:
type: string
description: 'registration ID of the general user.'
example: '11'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordings: []
name: 'Professional Development'
instructions: null
status: Registered
display_status: Registered
startTime: 'Jan 06, 2024 02:00 AM'
endTime: 'Jan 06, 2024 07:00 AM'
location: Virtual
instructor: 'test k '
serviceProvider: zoom
meetingUrl: null
webinarTimezone: MST
duration: '0 Day(s)'
webinarStatus: Upcoming
webinarDetails:
is_success: true
message: 'Zoom meeting initialized'
url: 'https://staging.aomlms.com/dashboard/zoom-frame?meetingNumber=72624398242&password=7kTYJ5&signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZGtLZXkiOiJkV0wyQ08zNVJwSzBhUHZlUFJmM2lBIiwibW4iOjcyNjI0Mzk4MjQyLCJyb2xlIjowLCJpYXQiOjE3MDQ0NTYxMDYsImV4cCI6MTcwNDQ2MzMwNiwiYXBwS2V5IjoiZFdMMkNPMzVScEswYVB2ZVBSZjNpQSIsInRva2VuRXhwIjoxNzA0NDYzMzA2fQ.7NdLjPxSLqTyovXTYBkbw7I7SktHZSfsbAjbTDLqW0A&apiKey=dWL2CO35RpK0aPvePRf3iA&user_name=testk test&user_email=kavya@aom.com'
properties:
recordings:
type: array
example: []
name:
type: string
example: 'Professional Development'
instructions:
type: string
example: null
status:
type: string
example: Registered
display_status:
type: string
example: Registered
startTime:
type: string
example: 'Jan 06, 2024 02:00 AM'
endTime:
type: string
example: 'Jan 06, 2024 07:00 AM'
location:
type: string
example: Virtual
instructor:
type: string
example: 'test k '
serviceProvider:
type: string
example: zoom
meetingUrl:
type: string
example: null
webinarTimezone:
type: string
example: MST
duration:
type: string
example: '0 Day(s)'
webinarStatus:
type: string
example: Upcoming
webinarDetails:
type: object
properties:
is_success:
type: boolean
example: true
message:
type: string
example: 'Zoom meeting initialized'
url:
type: string
example: 'https://staging.aomlms.com/dashboard/zoom-frame?meetingNumber=72624398242&password=7kTYJ5&signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZGtLZXkiOiJkV0wyQ08zNVJwSzBhUHZlUFJmM2lBIiwibW4iOjcyNjI0Mzk4MjQyLCJyb2xlIjowLCJpYXQiOjE3MDQ0NTYxMDYsImV4cCI6MTcwNDQ2MzMwNiwiYXBwS2V5IjoiZFdMMkNPMzVScEswYVB2ZVBSZjNpQSIsInRva2VuRXhwIjoxNzA0NDYzMzA2fQ.7NdLjPxSLqTyovXTYBkbw7I7SktHZSfsbAjbTDLqW0A&apiKey=dWL2CO35RpK0aPvePRf3iA&user_name=testk test&user_email=kavya@aom.com'
tags:
- Class
security: []
/api/class/reports/class-detailed:
get:
summary: 'Update class status of the student'
operationId: updateClassStatusOfTheStudent
description: ''
parameters:
-
in: query
name: class_id
description: 'The ID of the Class.'
example: '1'
required: false
schema:
type: string
description: 'The ID of the Class.'
example: '1'
-
in: query
name: group_id
description: 'The ID of the group.'
example: '1'
required: false
schema:
type: string
description: 'The ID of the group.'
example: '1'
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: 50
required: false
schema:
type: integer
description: 'The number of the items you want for a page.'
example: 50
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: 1
required: false
schema:
type: integer
description: 'Current page number in pagination.'
example: 1
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"registered_on","direction":"desc"}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"registered_on","direction":"desc"}'
-
in: query
name: search_param
description: 'For searching items based on name, email, status, user actual id, course started on, course ended on.'
example: '{"nameOrEmail":"","status":[],"userIdActual":"","started_on":[],"completed_on":[]}'
required: false
schema:
type: string
description: 'For searching items based on name, email, status, user actual id, course started on, course ended on.'
example: '{"nameOrEmail":"","status":[],"userIdActual":"","started_on":[],"completed_on":[]}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
courseName: 'Test ILT course'
recordsTotal: 0
totalAttended: 0
totalNoShow: 0
totalCancelled: 0
totalRegistered: 0
recordsFiltered: 0
records: []
properties:
courseName:
type: string
example: 'Test ILT course'
recordsTotal:
type: integer
example: 0
totalAttended:
type: integer
example: 0
totalNoShow:
type: integer
example: 0
totalCancelled:
type: integer
example: 0
totalRegistered:
type: integer
example: 0
recordsFiltered:
type: integer
example: 0
records:
type: array
example: []
tags:
- Class
security: []
/api/class/reports/overview:
get:
summary: 'Retrieve LMS Overview Report'
operationId: retrieveLMSOverviewReport
description: ''
parameters:
-
in: query
name: group_id
description: 'enrollment ID of the student.'
example: '3'
required: false
schema:
type: string
description: 'enrollment ID of the student.'
example: '3'
-
in: query
name: selectedMonth
description: 'Specify the month for which the report is required.'
example: 1-2024
required: false
schema:
type: string
description: 'Specify the month for which the report is required.'
example: 1-2024
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: '{"labels": ["Test ILT course (03-Jan-2024)", "Test ILT course (10-Jan-2024)" ], "totalRegistered": [0, 0], "totalAttended": [0, 0],"totalNoShow": [0,0], "totalCancelled": [0,0],"startDate": ["03-Jan-2024","10-Jan-2024"],"endDate": ["03-Jan-2024","10-Jan-2024","sumRegistered": 2,"sumAttended": 0,"sumNoShow": 0,"sumCancelled": 0}'
tags:
- Class
security: []
/api/class/webinar/launch:
get:
summary: 'Retrieve Webinar Launch Details'
operationId: retrieveWebinarLaunchDetails
description: ''
parameters:
-
in: query
name: registrationId
description: 'registration ID of the general user.'
example: '11'
required: false
schema:
type: string
description: 'registration ID of the general user.'
example: '11'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
provider: zoom
webinarDetails:
is_success: true
message: 'Zoom meeting initialized'
url: 'https://staging.aomlms.com/dashboard/zoom-frame?meetingNumber=72624398242&password=7kTYJ5&signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZGtLZXkiOiJkV0wyQ08zNVJwSzBhUHZlUFJmM2lBIiwibW4iOjcyNjI0Mzk4MjQyLCJyb2xlIjoxLCJpYXQiOjE3MDQ0NTY3NTQsImV4cCI6MTcwNDQ2Mzk1NCwiYXBwS2V5IjoiZFdMMkNPMzVScEswYVB2ZVBSZjNpQSIsInRva2VuRXhwIjoxNzA0NDYzOTU0fQ.S8ttl5m7lLnJEL3GDdIzauyvNuVz1p8g9MXhCxsrzak&apiKey=dWL2CO35RpK0aPvePRf3iA&user_name=test k &user_email=kavyas@academyofmine.com'
properties:
provider:
type: string
example: zoom
webinarDetails:
type: object
properties:
is_success:
type: boolean
example: true
message:
type: string
example: 'Zoom meeting initialized'
url:
type: string
example: 'https://staging.aomlms.com/dashboard/zoom-frame?meetingNumber=72624398242&password=7kTYJ5&signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZGtLZXkiOiJkV0wyQ08zNVJwSzBhUHZlUFJmM2lBIiwibW4iOjcyNjI0Mzk4MjQyLCJyb2xlIjoxLCJpYXQiOjE3MDQ0NTY3NTQsImV4cCI6MTcwNDQ2Mzk1NCwiYXBwS2V5IjoiZFdMMkNPMzVScEswYVB2ZVBSZjNpQSIsInRva2VuRXhwIjoxNzA0NDYzOTU0fQ.S8ttl5m7lLnJEL3GDdIzauyvNuVz1p8g9MXhCxsrzak&apiKey=dWL2CO35RpK0aPvePRf3iA&user_name=test k &user_email=kavyas@academyofmine.com'
tags:
- Class
security: []
/api/courses/tabularlist:
get:
summary: 'Tabular List'
operationId: tabularList
description: "Returns all the courses in a tabular list format in paginated mode.\nYou can apply filter using search_param via courseName(for specific course) and status(course status)"
parameters:
-
in: query
name: page_size
description: 'The number of the item you want for a page.'
example: '9'
required: true
schema:
type: string
description: 'The number of the item you want for a page.'
example: '9'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
-
in: query
name: search_param
description: 'For searching items based on Course category ids, course name.'
example: '{"courseCategoryIds":[],"courseName":"course 1","status":"In Progress"}'
required: false
schema:
type: string
description: 'For searching items based on Course category ids, course name.'
example: '{"courseCategoryIds":[],"courseName":"course 1","status":"In Progress"}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 1
recordsFiltered: 1
records:
-
id: 1
name: 'course 1'
slug: course-1
status: publish
categories: ''
author: 'Aom Staff'
created_at: '03 Aug 2020 09:08 AM'
properties:
recordsTotal:
type: integer
example: 1
recordsFiltered:
type: integer
example: 1
records:
type: array
example:
-
id: 1
name: 'course 1'
slug: course-1
status: publish
categories: ''
author: 'Aom Staff'
created_at: '03 Aug 2020 09:08 AM'
items:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: 'course 1'
slug:
type: string
example: course-1
status:
type: string
example: publish
categories:
type: string
example: ''
author:
type: string
example: 'Aom Staff'
created_at:
type: string
example: '03 Aug 2020 09:08 AM'
tags:
- Courses
security: []
/api/courses/dropdownlist:
get:
summary: 'Dropdown List'
operationId: dropdownList
description: 'Returns course seat details while adding this to a group.'
parameters:
-
in: query
name: group_id
description: 'ID of the group.'
example: '1'
required: true
schema:
type: string
description: 'ID of the group.'
example: '1'
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
id: 1
name: 'course 1'
used_seats: null
total_seats: null
tags:
- Courses
security: []
/api/course/enrolled-students:
get:
summary: 'Enrolled Students'
operationId: enrolledStudents
description: "Retrieves all the student details enrolled in a course.\nYou can use search_param filter using nameOrEmail(student name or email) and status(course status)"
parameters:
-
in: query
name: course_id
description: 'ID of the course.'
example: '1'
required: true
schema:
type: string
description: 'ID of the course.'
example: '1'
-
in: query
name: group_id
description: 'ID of the group.'
example: '1'
required: true
schema:
type: string
description: 'ID of the group.'
example: '1'
-
in: query
name: page_size
description: 'Number of the results you want in each page.'
example: '50'
required: true
schema:
type: string
description: 'Number of the results you want in each page.'
example: '50'
-
in: query
name: page_number
description: 'Current Page number.'
example: '1'
required: true
schema:
type: string
description: 'Current Page number.'
example: '1'
-
in: query
name: order_by
description: 'Returns details in some order.'
example: '{"colName":"registered_on","direction":"desc"}'
required: false
schema:
type: string
description: 'Returns details in some order.'
example: '{"colName":"registered_on","direction":"desc"}'
-
in: query
name: search_param
description: 'Search parameters related to course.'
example: '{"nameOrEmail":"","status":["In Progress"]}'
required: false
schema:
type: string
description: 'Search parameters related to course.'
example: '{"nameOrEmail":"","status":["In Progress"]}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
courseName: 'course 1'
featuredImage: null
recordsTotal: 2
totalNotStarted: 1
totalInProgress: 0
totalCompleted: 1
recordsFiltered: 2
records:
-
id: 6
user_id: 4
first_name: John
last_name: Doe
email: john@aom.com
avatar: ''
status: 'Not Started'
percentComplete: 0
access_status: Allowed
registered_on: 09-Aug-2020
started_on: ''
completed_on: ''
expire_on: Never
last_accessed_on: Never
-
id: 1
user_id: 3
first_name: Demo
last_name: Student
email: student@app.com
avatar: ''
status: Completed
percentComplete: 100
access_status: Allowed
registered_on: 03-Aug-2020
started_on: 03-Aug-2020
completed_on: 03-Aug-2020
expire_on: Never
last_accessed_on: '6 days ago'
properties:
courseName:
type: string
example: 'course 1'
featuredImage:
type: string
example: null
recordsTotal:
type: integer
example: 2
totalNotStarted:
type: integer
example: 1
totalInProgress:
type: integer
example: 0
totalCompleted:
type: integer
example: 1
recordsFiltered:
type: integer
example: 2
records:
type: array
example:
-
id: 6
user_id: 4
first_name: John
last_name: Doe
email: john@aom.com
avatar: ''
status: 'Not Started'
percentComplete: 0
access_status: Allowed
registered_on: 09-Aug-2020
started_on: ''
completed_on: ''
expire_on: Never
last_accessed_on: Never
-
id: 1
user_id: 3
first_name: Demo
last_name: Student
email: student@app.com
avatar: ''
status: Completed
percentComplete: 100
access_status: Allowed
registered_on: 03-Aug-2020
started_on: 03-Aug-2020
completed_on: 03-Aug-2020
expire_on: Never
last_accessed_on: '6 days ago'
items:
type: object
properties:
id:
type: integer
example: 6
user_id:
type: integer
example: 4
first_name:
type: string
example: John
last_name:
type: string
example: Doe
email:
type: string
example: john@aom.com
avatar:
type: string
example: ''
status:
type: string
example: 'Not Started'
percentComplete:
type: integer
example: 0
access_status:
type: string
example: Allowed
registered_on:
type: string
example: 09-Aug-2020
started_on:
type: string
example: ''
completed_on:
type: string
example: ''
expire_on:
type: string
example: Never
last_accessed_on:
type: string
example: Never
tags:
- Courses
security: []
/api/courses/locations/lookup:
get:
summary: 'Retrieve Location'
operationId: retrieveLocation
description: 'Retrieves the location of a specified course. Helps in fetching a dates using its course ID and group ID. (See Parameters)'
parameters:
-
in: query
name: course_id
description: 'The ID of the course.'
example: '1'
required: false
schema:
type: string
description: 'The ID of the course.'
example: '1'
-
in: query
name: group_id
description: 'The ID of the group.'
example: '1'
required: false
schema:
type: string
description: 'The ID of the group.'
example: '1'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
'0':
id: 2
name: 'Cherry Hill'
courseId: '34'
classId: 57
'2':
id: 1
name: Virtual
courseId: '34'
classId: 59
properties:
0:
type: object
properties:
id:
type: integer
example: 2
name:
type: string
example: 'Cherry Hill'
courseId:
type: string
example: '34'
classId:
type: integer
example: 57
2:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: Virtual
courseId:
type: string
example: '34'
classId:
type: integer
example: 59
tags:
- Courses
security: []
/api/course/submissions:
get:
summary: 'Course Submissions'
operationId: courseSubmissions
description: "Retrieves all the submissions for a course in pagination mode.\nYou can apply filter on data returned using search_param via nameOrEmail(student name or email) and type(submission type - assignment or discussion)"
parameters:
-
in: query
name: course_id
description: 'ID of the course.'
example: '1'
required: true
schema:
type: string
description: 'ID of the course.'
example: '1'
-
in: query
name: page_size
description: 'The number of the submissions you want for a page.'
example: '50'
required: true
schema:
type: string
description: 'The number of the submissions you want for a page.'
example: '50'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"updated_at","direction":"desc"}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"updated_at","direction":"desc"}'
-
in: query
name: search_param
description: 'For searching items based on Course category ids, course name.'
example: '{"nameOrEmail":"","type":""}'
required: false
schema:
type: string
description: 'For searching items based on Course category ids, course name.'
example: '{"nameOrEmail":"","type":""}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
courseName: 'course 1'
featuredImage: null
recordsTotal: 1
recordsFiltered: 1
records:
-
status_row_id: 2
module_id: 4
module_name: assign
module_type: assignment
first_name: Aom
last_name: Staff
email: dev@academyofmine.com
avatar: ''
submission_id: 1
submitted_on: 10-Aug-2020
properties:
courseName:
type: string
example: 'course 1'
featuredImage:
type: string
example: null
recordsTotal:
type: integer
example: 1
recordsFiltered:
type: integer
example: 1
records:
type: array
example:
-
status_row_id: 2
module_id: 4
module_name: assign
module_type: assignment
first_name: Aom
last_name: Staff
email: dev@academyofmine.com
avatar: ''
submission_id: 1
submitted_on: 10-Aug-2020
items:
type: object
properties:
status_row_id:
type: integer
example: 2
module_id:
type: integer
example: 4
module_name:
type: string
example: assign
module_type:
type: string
example: assignment
first_name:
type: string
example: Aom
last_name:
type: string
example: Staff
email:
type: string
example: dev@academyofmine.com
avatar:
type: string
example: ''
submission_id:
type: integer
example: 1
submitted_on:
type: string
example: 10-Aug-2020
tags:
- Courses
security: []
/api/course/all-submissions:
get:
summary: 'All Courses Submissions'
operationId: allCoursesSubmissions
description: "Retrieves all the submissions for all the courses in pagination mode.\nYou can apply filter on data returned using search_param via nameOrEmail(student name or email) and type(submission type - assignment or discussion)"
parameters:
-
in: query
name: page_size
description: 'The number of the submissions you want for a page.'
example: '50'
required: true
schema:
type: string
description: 'The number of the submissions you want for a page.'
example: '50'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"updated_at","direction":"desc"}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"updated_at","direction":"desc"}'
-
in: query
name: search_param
description: 'For searching items based on course name, user names and submission type.'
example: '{"nameOrEmail":"","type":""}'
required: false
schema:
type: string
description: 'For searching items based on course name, user names and submission type.'
example: '{"nameOrEmail":"","type":""}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 1
recordsFiltered: 1
records:
-
course_name: 'Professional Development and Training'
status_row_id: 2
module_id: 4
module_name: assign
module_type: assignment
first_name: Aom
last_name: Staff
email: dev@academyofmine.com
avatar: ''
submission_id: 1
submitted_on: 10-Aug-2020
properties:
recordsTotal:
type: integer
example: 1
recordsFiltered:
type: integer
example: 1
records:
type: array
example:
-
course_name: 'Professional Development and Training'
status_row_id: 2
module_id: 4
module_name: assign
module_type: assignment
first_name: Aom
last_name: Staff
email: dev@academyofmine.com
avatar: ''
submission_id: 1
submitted_on: 10-Aug-2020
items:
type: object
properties:
course_name:
type: string
example: 'Professional Development and Training'
status_row_id:
type: integer
example: 2
module_id:
type: integer
example: 4
module_name:
type: string
example: assign
module_type:
type: string
example: assignment
first_name:
type: string
example: Aom
last_name:
type: string
example: Staff
email:
type: string
example: dev@academyofmine.com
avatar:
type: string
example: ''
submission_id:
type: integer
example: 1
submitted_on:
type: string
example: 10-Aug-2020
tags:
- Courses
security: []
/api/course/reports/overview:
get:
summary: 'LMS Overview Report'
operationId: lMSOverviewReport
description: "Retrieves the overview report for all courses. Returned data contains information like total number of modules and number of courses in different status(In Progress, Not Started and Completed).\nExample - [1,0]. You can use these data for graphs representation as well.\nYou can use the group_id filter to get details specific to a group."
parameters:
-
in: query
name: group_id
description: 'ID of the group.'
example: '3'
required: false
schema:
type: string
description: 'ID of the group.'
example: '3'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
labels:
- 'course 1'
- 'Awesome Course'
totalNotStarted:
- 1
- 0
totalInProgress:
- 1
- 0
totalCompleted:
- 1
- 0
sumNotStarted: 1
sumInProgress: 1
sumCompleted: 1
properties:
labels:
type: array
example:
- 'course 1'
- 'Awesome Course'
items:
type: string
totalNotStarted:
type: array
example:
- 1
- 0
items:
type: integer
totalInProgress:
type: array
example:
- 1
- 0
items:
type: integer
totalCompleted:
type: array
example:
- 1
- 0
items:
type: integer
sumNotStarted:
type: integer
example: 1
sumInProgress:
type: integer
example: 1
sumCompleted:
type: integer
example: 1
tags:
- Courses
security: []
/api/course/reports/course-detailed:
get:
summary: 'Course Report'
operationId: courseReport
description: "Retrieves the detailed report for all courses. Returned data contains information like total number of modules and number of courses in different status(In Progress, Not Started and Completed).\nExample - [1,0]. You can use these data for graphs representation as well.\nYou can use the group_id, search_param filters to get specific details."
parameters:
-
in: query
name: course_id
description: 'ID of the course.'
example: '3'
required: true
schema:
type: string
description: 'ID of the course.'
example: '3'
-
in: query
name: group_id
description: 'ID of the group. Example:'
example: facere
required: false
schema:
type: string
description: 'ID of the group. Example:'
example: facere
-
in: query
name: page_size
description: 'The number of the submissions you want for a page.'
example: '50'
required: true
schema:
type: string
description: 'The number of the submissions you want for a page.'
example: '50'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"registered_on","direction":"desc"}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"registered_on","direction":"desc"}'
-
in: query
name: search_param
description: 'For searching items based on students name or emaila and status of the course.'
example: '{"nameOrEmail":"","status":[]}'
required: false
schema:
type: string
description: 'For searching items based on students name or emaila and status of the course.'
example: '{"nameOrEmail":"","status":[]}'
-
in: query
name: userCategoryId
description: 'For listing students according to the user category in which they belong.'
example: '{"nameOrEmail":"","status":[]}'
required: false
schema:
type: string
description: 'For listing students according to the user category in which they belong.'
example: '{"nameOrEmail":"","status":[]}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
courseName: 'course 1'
featuredImage: null
recordsTotal: 3
totalNotStarted: 1
totalInProgress: 1
totalCompleted: 1
recordsFiltered: 3
records:
-
first_name: Aom
last_name: Staff
email: dev@academyofmine.com
status: 'In Progress'
percent_complete: 45
access_status: Allowed
registered_on: 10-Aug-2020
started_on: 10-Aug-2020
completed_on: ''
expire_on: Never
last_accessed_on: '1 hour ago'
percent_achieved: null
total_time_spent: '0h 20m'
certifcate_issued: 'No'
-
first_name: Client
last_name: Admin
email: client@app.com
status: 'Not Started'
percent_complete: 0
access_status: Allowed
registered_on: 09-Aug-2020
started_on: ''
completed_on: ''
expire_on: 12-Aug-2023
last_accessed_on: Never
percent_achieved: null
total_time_spent: '0h 0m'
certifcate_issued: 'Yes'
-
first_name: Demo
last_name: Student
email: student@app.com
status: Completed
percent_complete: 50
access_status: Allowed
registered_on: 03-Aug-2020
started_on: 03-Aug-2020
completed_on: 03-Aug-2020
expire_on: Never
last_accessed_on: '6 days ago'
percent_achieved: 0
total_time_spent: '0h 0m'
certifcate_issued: 'Yes'
properties:
courseName:
type: string
example: 'course 1'
featuredImage:
type: string
example: null
recordsTotal:
type: integer
example: 3
totalNotStarted:
type: integer
example: 1
totalInProgress:
type: integer
example: 1
totalCompleted:
type: integer
example: 1
recordsFiltered:
type: integer
example: 3
records:
type: array
example:
-
first_name: Aom
last_name: Staff
email: dev@academyofmine.com
status: 'In Progress'
percent_complete: 45
access_status: Allowed
registered_on: 10-Aug-2020
started_on: 10-Aug-2020
completed_on: ''
expire_on: Never
last_accessed_on: '1 hour ago'
percent_achieved: null
total_time_spent: '0h 20m'
certifcate_issued: 'No'
-
first_name: Client
last_name: Admin
email: client@app.com
status: 'Not Started'
percent_complete: 0
access_status: Allowed
registered_on: 09-Aug-2020
started_on: ''
completed_on: ''
expire_on: 12-Aug-2023
last_accessed_on: Never
percent_achieved: null
total_time_spent: '0h 0m'
certifcate_issued: 'Yes'
-
first_name: Demo
last_name: Student
email: student@app.com
status: Completed
percent_complete: 50
access_status: Allowed
registered_on: 03-Aug-2020
started_on: 03-Aug-2020
completed_on: 03-Aug-2020
expire_on: Never
last_accessed_on: '6 days ago'
percent_achieved: 0
total_time_spent: '0h 0m'
certifcate_issued: 'Yes'
items:
type: object
properties:
first_name:
type: string
example: Aom
last_name:
type: string
example: Staff
email:
type: string
example: dev@academyofmine.com
status:
type: string
example: 'In Progress'
percent_complete:
type: integer
example: 45
access_status:
type: string
example: Allowed
registered_on:
type: string
example: 10-Aug-2020
started_on:
type: string
example: 10-Aug-2020
completed_on:
type: string
example: ''
expire_on:
type: string
example: Never
last_accessed_on:
type: string
example: '1 hour ago'
percent_achieved:
type: string
example: null
total_time_spent:
type: string
example: '0h 20m'
certifcate_issued:
type: string
example: 'No'
tags:
- Courses
security: []
/api/course/reports/course-detailed-custom-headers:
get:
summary: 'Get custom Headers for Export of Course Insight report'
operationId: getCustomHeadersForExportOfCourseInsightReport
description: ''
parameters:
-
in: query
name: course_id
description: 'The ID of the course.'
example: '1'
required: false
schema:
type: string
description: 'The ID of the course.'
example: '1'
-
in: query
name: group_id
description: 'The ID of the group.'
example: '1'
required: false
schema:
type: string
description: 'The ID of the group.'
example: '1'
-
in: query
name: page_size
description: 'The ID of the group.'
example: '1'
required: false
schema:
type: string
description: 'The ID of the group.'
example: '1'
-
in: query
name: page_number
description: 'The ID of the group.'
example: '1'
required: false
schema:
type: string
description: 'The ID of the group.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
-
in: query
name: search_param
description: 'For searching items based on name, email, status, userId, courses started on, course completed on.'
example: '{"nameOrEmail":"","status":[],"userIdActual":"","started_on":[],"completed_on":[]}'
required: false
schema:
type: string
description: 'For searching items based on name, email, status, userId, courses started on, course completed on.'
example: '{"nameOrEmail":"","status":[],"userIdActual":"","started_on":[],"completed_on":[]}'
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: '{[{"id":1,"name":"Virtual","courseId":"1","classId":1}]}'
tags:
- Courses
security: []
'/api/course/{id}':
get:
summary: 'Get Course'
operationId: getCourse
description: 'Retrieves the course details based on the course ID specified.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
name: 'course 1'
slug: course-1
featuredImageUrl: null
instructions: null
credits: null
minPassingPercentage: null
gradingRule: no_grading
durationRule: unlimited
durationSpecificDate: null
durationDays: null
status: publish
certificateTemplates:
- 1
associatedProduct: []
hasAssociatedProduct: false
modules:
-
module_id: 1
name: test
type: text
icon: ''
is_locked: false
drip_rules: immediately
drip_fixed_date: null
drip_interval: null
drip_interval_unit: day
drip_calculation_reference: registration_date
minSpentHour: 0
minSpentMinutes: 0
categories: []
gradeModules: []
properties:
name:
type: string
example: 'course 1'
slug:
type: string
example: course-1
featuredImageUrl:
type: string
example: null
instructions:
type: string
example: null
credits:
type: string
example: null
minPassingPercentage:
type: string
example: null
gradingRule:
type: string
example: no_grading
durationRule:
type: string
example: unlimited
durationSpecificDate:
type: string
example: null
durationDays:
type: string
example: null
status:
type: string
example: publish
certificateTemplates:
type: array
example:
- 1
items:
type: integer
associatedProduct:
type: array
example: []
hasAssociatedProduct:
type: boolean
example: false
modules:
type: array
example:
-
module_id: 1
name: test
type: text
icon: ''
is_locked: false
drip_rules: immediately
drip_fixed_date: null
drip_interval: null
drip_interval_unit: day
drip_calculation_reference: registration_date
minSpentHour: 0
minSpentMinutes: 0
items:
type: object
properties:
module_id:
type: integer
example: 1
name:
type: string
example: test
type:
type: string
example: text
icon:
type: string
example: ''
is_locked:
type: boolean
example: false
drip_rules:
type: string
example: immediately
drip_fixed_date:
type: string
example: null
drip_interval:
type: string
example: null
drip_interval_unit:
type: string
example: day
drip_calculation_reference:
type: string
example: registration_date
minSpentHour:
type: integer
example: 0
minSpentMinutes:
type: integer
example: 0
categories:
type: array
example: []
gradeModules:
type: array
example: []
tags:
- Courses
security: []
put:
summary: 'Update Course'
operationId: updateCourse
description: 'Updates course details using provided parameters.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
message: 'Course updated successfully'
properties:
id:
type: integer
example: 1
message:
type: string
example: 'Course updated successfully'
tags:
- Courses
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Name of the course.'
example: 'Course 1'
slug:
type: string
description: 'Slug for the course.'
example: course-1
featuredImageUrl:
type: string
description: 'Image for the course.'
example: img_path
completionRedirectionUrl:
type: string
description: 'After course completion redirection url(If blank, it will redirect to dashboard).'
example: redirection_path
credits:
type: integer
description: 'Credit after course completion, used in certificates.'
example: 70
minPassingPercentage:
type: number
description: 'Minimum passing percenatage for students.'
example: 75.0
gradingRule:
type: string
description: 'Grading criteria for the course. Grading rule options: no_grading, avg_all_modules or avg_specific_modules.'
example: no_grading
durationRule:
type: string
description: 'Access duration for the course. Duration rule options: unlimited, on_specific_date, x_days_after_start or x_days_after_enrollment.'
example: unlimited
status:
type: string
description: 'Course is in Draft or Publish mode. Status options: draft or publish.'
example: publish
certificateTemplates:
type: array
description: 'Certificates attached to this course.'
example:
- 1
items:
type: string
modules:
type: array
description: 'All modules related to this course.'
example:
-
module_id: 1
name: test
type: text
icon: ''
is_locked: false
drip_rules: immediately
drip_fixed_date: null
drip_interval: null
drip_interval_unit: day
drip_calculation_reference: registration_date
minSpentHour: 0
minSpentMinutes: 0
items:
type: string
certificateExpiresAfter:
type: integer
description: 'The number of months a certificate is valid for before it expires. Leave blank or zero for a permanent certificate.'
example: 3
certificateExpiresAfterGracePeriod:
type: integer
description: 'The number of days before certificate expiration that a student can recertify..'
example: 30
categories:
type: array
description: 'Categories for this course.'
example:
- 1
- 2
items:
type: string
gradeModules:
type: array
description: 'Modules that will be used for grading users.'
example: []
items:
type: string
required:
- name
- slug
- gradingRule
- durationRule
- status
security: []
parameters:
-
in: path
name: id
description: 'The ID of the course.'
example: '1'
required: true
schema:
type: string
/api/course:
post:
summary: 'Create Course'
operationId: createCourse
description: 'To create a course, you need to use this request with provided parameters.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
message: 'Course saved successfully'
properties:
id:
type: integer
example: 1
message:
type: string
example: 'Course saved successfully'
tags:
- Courses
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Name of the course.'
example: 'Course 1'
instructions:
type: string
description: 'Instruction for the course.'
example: 'Some Instruction'
slug:
type: string
description: 'Slug for the course.'
example: course-1
featuredImageUrl:
type: string
description: 'Image for the course.'
example: img_path
completionRedirectionUrl:
type: string
description: 'After course completion redirection url(If blank, it will redirect to dashboard).'
example: redirection_path
credits:
type: integer
description: 'Credit after course completion, used in certificates.'
example: 70
minPassingPercentage:
type: number
description: 'Minimum passing percenatage for students.'
example: 75.0
gradingRule:
type: string
description: 'Grading criteria for the course. Grading rule options: no_grading, avg_all_modules or avg_specific_modules.'
example: no_grading
durationRule:
type: string
description: 'Access duration for the course. Duration rule options: unlimited, on_specific_date, x_days_after_start or x_days_after_enrollment.'
example: unlimited
status:
type: string
description: 'Course is in Draft or Publish mode. Status options: draft or publish.'
example: publish
certificateTemplates:
type: array
description: 'Certificates attached to this course.'
example:
- 1
items:
type: string
modules:
type: array
description: 'All modules related to this course.'
example:
-
module_id: 1
name: test
type: text
icon: ''
is_locked: false
drip_rules: immediately
drip_fixed_date: null
drip_interval: null
drip_interval_unit: day
drip_calculation_reference: registration_date
minSpentHour: 0
minSpentMinutes: 0
items:
type: string
certificateExpiresAfter:
type: integer
description: 'The number of months a certificate is valid for before it expires. Leave blank or zero for a permanent certificate.'
example: 3
certificateExpiresAfterGracePeriod:
type: integer
description: 'The number of days before certificate expiration that a student can recertify..'
example: 30
categories:
type: array
description: 'Categories for this course.'
example:
- 1
- 2
items:
type: string
gradeModules:
type: array
description: 'Modules that will be used for grading users.'
example: []
items:
type: string
required:
- name
- slug
- gradingRule
- durationRule
- status
security: []
parameters:
-
in: path
name: id
description: 'ID of the course.'
example: '1'
required: true
schema:
type: string
'/api/course/update-slug/{id}':
put:
summary: 'Update Slug'
operationId: updateSlug
description: "Updates the slug of the course.\nExample - old-awesome-course to new-awesome-course"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: string
example: Awesome-course
tags:
- Courses
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
slug:
type: required
description: 'New slug for the course.'
example: Awesome-course
security: []
parameters:
-
in: path
name: id
description: 'The ID of the course.'
example: '1'
required: true
schema:
type: string
/api/course/lookup:
post:
summary: 'Course Lookup'
operationId: courseLookup
description: "Retrieves all the course details. Helps while showing course names in dropdown elements.\nYou can apply filters using search_term parameter."
parameters:
-
in: query
name: group_id
description: 'ID of the group.'
example: '1'
required: false
schema:
type: string
description: 'ID of the group.'
example: '1'
-
in: query
name: search_term
description: 'returns filtered data.'
example: quia
required: false
schema:
type: string
description: 'returns filtered data.'
example: quia
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
value: 1
label: 'course 1'
tags:
- Courses
security: []
parameters:
-
in: path
name: id
description: 'ID of the course.'
example: '1'
required: true
schema:
type: string
/api/course/delete:
post:
summary: 'Delete Course'
operationId: deleteCourse
description: "To delete a course, you need to use this request.\nReturns number of course deleted(if multiple selected) and number of not-deleted due to existing enrollment of students"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: '2 course(s) deleted 1 course(s) not deleted as it has enrollments. Please remove the students from the course and try again.'
properties:
message:
type: string
example: '2 course(s) deleted 1 course(s) not deleted as it has enrollments. Please remove the students from the course and try again.'
tags:
- Courses
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
delete_ids:
type: array
description: 'All course IDs which needs to be deleted.'
example:
- 1
items:
type: string
required:
- delete_ids
security: []
/api/course/quickEdit:
post:
summary: 'Quick Edit'
operationId: quickEdit
description: 'Updates the details in bulk for a specified course. Parameters is provided which needs to be updated.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Courses updated Successfully'
properties:
message:
type: string
example: 'Courses updated Successfully'
tags:
- Courses
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
course_ids:
type: array
description: 'All course IDs which needs to be updated.'
example:
- 1
- 2
items:
type: string
author_id:
type: integer
description: 'Set the instructor/Author for the course.'
example: 1
categories_id:
type: array
description: 'Category IDs in which course will be added.'
example:
- 1
- 2
items:
type: string
required:
- course_ids
security: []
/api/courses/drip/lookup:
get:
summary: 'Drip Option Lookup'
operationId: dripOptionLookup
description: "Retrieves all the drip options for the courses.\nHelps showing options in dropdowns elements"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
options:
-
db_value: immediately
display_value: Immediately
-
db_value: fixed_date
display_value: 'On a Fixed Date'
-
db_value: specific_interval
display_value: 'At Fixed Intervals'
intervals:
-
db_value: day
display_value: Day(s)
-
db_value: week
display_value: Week(s)
-
db_value: month
display_value: Month(s)
calculation_ref:
-
db_value: registration_date
display_value: 'Enrollment Date'
-
db_value: started_date
display_value: 'Course Start Date'
tags:
- Courses
security: []
/api/courses/status/lookup:
get:
summary: 'Course Status Lookup'
operationId: courseStatusLookup
description: "Retrieves all the status options for the courses.\nHelps showing options in dropdowns elements"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
db_value: 'Not Started'
display_value: 'Not Started'
-
db_value: 'In Progress'
display_value: 'In Progress'
-
db_value: Completed
display_value: Completed
tags:
- Courses
security: []
/api/courses/grading-rules/lookup:
get:
summary: 'Grading Rules Lookup'
operationId: gradingRulesLookup
description: "Retrieves all the grading rules for the courses.\nHelps showing options in dropdowns elements"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
db_value: no_grading
display_value: 'No Grading'
-
db_value: avg_all_modules
display_value: 'Average of all Quiz/Assignment/Discussions/Scorm'
-
db_value: avg_specific_modules
display_value: 'Average of specific Quiz/Assignment/Discussions/Scorm'
tags:
- Courses
security: []
/api/courses/duration-rules/lookup:
get:
summary: 'Duration Rules Lookup'
operationId: durationRulesLookup
description: "Retrieves all the duration rules for the courses.\nHelps showing options in dropdowns elements"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
db_value: unlimited
display_value: Unlimited
-
db_value: on_specific_date
display_value: 'Till Specific Date'
-
db_value: x_days_after_start
display_value: 'Till X day(s) after a student start the course'
-
db_value: x_days_after_enrollment
display_value: 'Till X day(s) after a student is registered to the course'
tags:
- Courses
security: []
/api/course-activities:
get:
summary: 'Course Activities'
operationId: courseActivities
description: "Retrieves all the activities performed by the students on the course. Details will be returned in paginated mode.\nYou can apply filters also using search_params parameter."
parameters:
-
in: query
name: course_id
description: 'ID of the course.'
example: '1'
required: true
schema:
type: string
description: 'ID of the course.'
example: '1'
-
in: query
name: page_size
description: 'The number of the submissions you want for a page.'
example: '50'
required: true
schema:
type: string
description: 'The number of the submissions you want for a page.'
example: '50'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at","direction":"desc"}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at","direction":"desc"}'
-
in: query
name: search_param
description: 'for searching items based on Course category ids, course name.'
example: '{"user_id":3,"activityName":"","dates":[]}'
required: false
schema:
type: string
description: 'for searching items based on Course category ids, course name.'
example: '{"user_id":3,"activityName":"","dates":[]}'
-
in: query
name: context
description: 'Context for the request.'
example: admin
required: true
schema:
type: string
description: 'Context for the request.'
example: admin
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
courseName: 'course 1'
featuredImage: null
recordsTotal: 40
recordsFiltered: 10
records:
-
id: 10
verb: ACCESSED
created_at: 'Aug 03, 2020 10:07 AM'
message: 'Demo Student has accessed course 1'
student: 'Demo Student'
-
id: 9
verb: 'ACHIEVED CERTIFICATE'
created_at: 'Aug 03, 2020 10:02 AM'
message: 'Demo Student has achieved certificate for course 1'
student: 'Demo Student'
-
id: 8
verb: COMPLETED
created_at: 'Aug 03, 2020 10:02 AM'
message: 'course 1 was completed'
student: 'Demo Student'
-
id: 7
verb: COMPLETED
created_at: 'Aug 03, 2020 10:02 AM'
message: 'course 1 was completed'
student: 'Demo Student'
-
id: 6
verb: 'ACHIEVED CERTIFICATE'
created_at: 'Aug 03, 2020 10:02 AM'
message: 'Demo Student has achieved certificate for course 1'
student: 'Demo Student'
-
id: 5
verb: COMPLETED
created_at: 'Aug 03, 2020 10:02 AM'
message: 'course 1 was completed'
student: 'Demo Student'
-
id: 4
verb: COMPLETED
created_at: 'Aug 03, 2020 10:02 AM'
message: 'course 1 was completed'
student: 'Demo Student'
-
id: 3
verb: STARTED
created_at: 'Aug 03, 2020 10:02 AM'
message: 'Demo Student has started test'
student: 'Demo Student'
-
id: 2
verb: STARTED
created_at: 'Aug 03, 2020 10:01 AM'
message: 'Demo Student has started course 1'
student: 'Demo Student'
-
id: 1
verb: ENROLLED
created_at: 'Aug 03, 2020 10:00 AM'
message: 'Demo Student is enrolled to course 1'
student: 'Demo Student'
properties:
courseName:
type: string
example: 'course 1'
featuredImage:
type: string
example: null
recordsTotal:
type: integer
example: 40
recordsFiltered:
type: integer
example: 10
records:
type: array
example:
-
id: 10
verb: ACCESSED
created_at: 'Aug 03, 2020 10:07 AM'
message: 'Demo Student has accessed course 1'
student: 'Demo Student'
-
id: 9
verb: 'ACHIEVED CERTIFICATE'
created_at: 'Aug 03, 2020 10:02 AM'
message: 'Demo Student has achieved certificate for course 1'
student: 'Demo Student'
-
id: 8
verb: COMPLETED
created_at: 'Aug 03, 2020 10:02 AM'
message: 'course 1 was completed'
student: 'Demo Student'
-
id: 7
verb: COMPLETED
created_at: 'Aug 03, 2020 10:02 AM'
message: 'course 1 was completed'
student: 'Demo Student'
-
id: 6
verb: 'ACHIEVED CERTIFICATE'
created_at: 'Aug 03, 2020 10:02 AM'
message: 'Demo Student has achieved certificate for course 1'
student: 'Demo Student'
-
id: 5
verb: COMPLETED
created_at: 'Aug 03, 2020 10:02 AM'
message: 'course 1 was completed'
student: 'Demo Student'
-
id: 4
verb: COMPLETED
created_at: 'Aug 03, 2020 10:02 AM'
message: 'course 1 was completed'
student: 'Demo Student'
-
id: 3
verb: STARTED
created_at: 'Aug 03, 2020 10:02 AM'
message: 'Demo Student has started test'
student: 'Demo Student'
-
id: 2
verb: STARTED
created_at: 'Aug 03, 2020 10:01 AM'
message: 'Demo Student has started course 1'
student: 'Demo Student'
-
id: 1
verb: ENROLLED
created_at: 'Aug 03, 2020 10:00 AM'
message: 'Demo Student is enrolled to course 1'
student: 'Demo Student'
items:
type: object
properties:
id:
type: integer
example: 10
verb:
type: string
example: ACCESSED
created_at:
type: string
example: 'Aug 03, 2020 10:07 AM'
message:
type: string
example: 'Demo Student has accessed course 1'
student:
type: string
example: 'Demo Student'
tags:
- Courses
security: []
'/api/course-progress/edit/{id}':
get:
summary: 'Retrieve Students Progress'
operationId: retrieveStudentsProgress
description: 'Retrieves the progress of the course. (See Parameters)'
parameters:
-
in: query
name: userId
description: 'The ID of the user.'
example: '3'
required: false
schema:
type: string
description: 'The ID of the user.'
example: '3'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
name: test
modules:
-
module_id: 16
name: test
slug: test
type: pdf
icon: ''
status_row_id: -1
status: 'Not Started'
display_status: 'Not Started'
started_on: ''
completed_on: ''
last_accessed_on: ''
total_time_spent:
hours: 0
minutes: 0
seconds: 0
totalSeconds: 0
points_awarded: ''
completion_percentage: 0
no_of_times_accessed: 0
is_collapsed: true
id: 105
course_id: 35
userId: 7
userName: 'Test Staff'
email: teststaff@aom.com
featuredImageUrl: null
status: 'Not Started'
completionPercentage: 0
enrollmentDate: '2024-01-07 07:49:38'
expiryDate: ''
completionDate: ''
startDate: ''
lastAccessed: ''
properties:
name:
type: string
example: test
modules:
type: array
example:
-
module_id: 16
name: test
slug: test
type: pdf
icon: ''
status_row_id: -1
status: 'Not Started'
display_status: 'Not Started'
started_on: ''
completed_on: ''
last_accessed_on: ''
total_time_spent:
hours: 0
minutes: 0
seconds: 0
totalSeconds: 0
points_awarded: ''
completion_percentage: 0
no_of_times_accessed: 0
is_collapsed: true
items:
type: object
properties:
module_id:
type: integer
example: 16
name:
type: string
example: test
slug:
type: string
example: test
type:
type: string
example: pdf
icon:
type: string
example: ''
status_row_id:
type: integer
example: -1
status:
type: string
example: 'Not Started'
display_status:
type: string
example: 'Not Started'
started_on:
type: string
example: ''
completed_on:
type: string
example: ''
last_accessed_on:
type: string
example: ''
total_time_spent:
type: object
properties:
hours:
type: integer
example: 0
minutes:
type: integer
example: 0
seconds:
type: integer
example: 0
totalSeconds:
type: integer
example: 0
points_awarded:
type: string
example: ''
completion_percentage:
type: integer
example: 0
no_of_times_accessed:
type: integer
example: 0
is_collapsed:
type: boolean
example: true
id:
type: integer
example: 105
course_id:
type: integer
example: 35
userId:
type: integer
example: 7
userName:
type: string
example: 'Test Staff'
email:
type: string
example: teststaff@aom.com
featuredImageUrl:
type: string
example: null
status:
type: string
example: 'Not Started'
completionPercentage:
type: integer
example: 0
enrollmentDate:
type: string
example: '2024-01-07 07:49:38'
expiryDate:
type: string
example: ''
completionDate:
type: string
example: ''
startDate:
type: string
example: ''
lastAccessed:
type: string
example: ''
tags:
- Courses
security: []
parameters:
-
in: path
name: id
description: 'Optional parameter. The The ID of the course.'
required: true
schema:
type: string
examples:
omitted:
summary: 'When the value is omitted'
value: ''
present:
summary: 'When the value is present'
value: '6'
'/api/course-progress/update/{id}':
put:
summary: ''
operationId: putApiCourseProgressUpdateId
description: ''
parameters: []
responses: { }
tags:
- Courses
security: []
'/api/course/name/{id}':
get:
summary: 'Course Name'
operationId: courseName
description: 'Retrieves the course name.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
course_name: 'course 1'
properties:
course_name:
type: string
example: 'course 1'
tags:
- Courses
security: []
parameters:
-
in: path
name: id
description: 'ID of the course.'
example: '1'
required: true
schema:
type: string
'/api/course/enroll/{id}':
post:
summary: 'Enroll Students'
operationId: enrollStudents
description: 'To enroll students in a course, you need to use this request.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: '2 student(s) enrolled successfully'
properties:
message:
type: string
example: '2 student(s) enrolled successfully'
tags:
- Courses
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
studentIds:
type: array
description: 'All Students IDs needs to be enrolled in this course.'
example:
- 1
- 2
items:
type: string
groupId:
type: integer
description: 'Students needs to be added in this course group.'
example: 4
required:
- studentIds
security: []
parameters:
-
in: path
name: id
description: 'ID of the course.'
example: '1'
required: true
schema:
type: string
'/api/course/remove/{id}':
post:
summary: 'Remove Students'
operationId: removeStudents
description: 'To removes users from a course, you need to use this request.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: '2 student(s) removed successfully'
properties:
message:
type: string
example: '2 student(s) removed successfully'
tags:
- Courses
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
enrollmentIds:
type: array
description: 'Course Registration/Enrollment IDs needs to be removed from this course.'
example:
- 8
- 7
items:
type: string
groupId:
type: integer
description: 'Students needs to be removed from this course group.'
example: 4
required:
- enrollmentIds
security: []
parameters:
-
in: path
name: id
description: 'ID of the course.'
example: '1'
required: true
schema:
type: string
'/api/course/reset/{id}':
post:
summary: 'Reset Progress'
operationId: resetProgress
description: 'To reset the progress of students for course, you need to use this request'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: '2 student(s) progress is reset successfully'
properties:
message:
type: string
example: '2 student(s) progress is reset successfully'
tags:
- Courses
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
enrollmentIds:
type: array
description: 'Course Registration/Enrollment IDs needs progress to be reset.'
example:
- 9
- 6
items:
type: string
required:
- enrollmentIds
security: []
parameters:
-
in: path
name: id
description: 'ID of the course.'
example: '1'
required: true
schema:
type: string
'/api/course/revoke/{id}':
put:
summary: 'Revoke Access'
operationId: revokeAccess
description: 'To revokes the access of course from students, you need to use this request.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: '2 student(s) access has been revoked successfully'
properties:
message:
type: string
example: '2 student(s) access has been revoked successfully'
tags:
- Courses
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
enrollmentIds:
type: array
description: 'Course Registration/Enrollment IDs needs access to be revoked from this course.'
example:
- 9
- 6
items:
type: string
required:
- enrollmentIds
security: []
parameters:
-
in: path
name: id
description: 'ID of the course.'
example: '1'
required: true
schema:
type: string
'/api/course/grant/{id}':
put:
summary: 'Grant Access'
operationId: grantAccess
description: 'To grants the access of course to students, you need to use this request.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: '2 student(s) access has been granted successfully'
properties:
message:
type: string
example: '2 student(s) access has been granted successfully'
tags:
- Courses
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
enrollmentIds:
type: array
description: 'Course Registration/Enrollment IDs needs access to be granted to this course.'
example:
- 9
- 6
items:
type: string
required:
- enrollmentIds
security: []
parameters:
-
in: path
name: id
description: 'ID of the course.'
example: '1'
required: true
schema:
type: string
'/api/course/setExpiry/{id}':
put:
summary: 'Set Expiry'
operationId: setExpiry
description: 'To update the expiry date for the students of a course, you need to use this request.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Expiration date is sucessfully updated for 2 student(s) '
properties:
message:
type: string
example: 'Expiration date is sucessfully updated for 2 student(s) '
tags:
- Courses
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
enrollmentIds:
type: array
description: 'Course Registration/Enrollment IDs needs setting expiry date for course.'
example:
- 9
- 6
items:
type: string
expiryDate:
type: date
description: 'Date on which the course is going to be expired.'
example: '[9, 6]'
required:
- enrollmentIds
security: []
parameters:
-
in: path
name: id
description: 'ID of the course.'
example: '1'
required: true
schema:
type: string
'/api/course/assignCertificate/{id}':
post:
summary: 'Assign Certificate'
operationId: assignCertificate
description: 'To assign certificate to the user for the course, you need to use this request.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
isSucess: true
message: 'Certificate assigned sucessfully to 2 student(s)'
properties:
isSucess:
type: boolean
example: true
message:
type: string
example: 'Certificate assigned sucessfully to 2 student(s)'
tags:
- Courses
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
enrollmentIds:
type: array
description: 'Course Registration/Enrollment IDs needs assigning certificates.'
example:
- 9
- 6
items:
type: string
required:
- enrollmentIds
security: []
parameters:
-
in: path
name: id
description: 'ID of the course.'
example: '1'
required: true
schema:
type: string
/api/activities/verb/lookup:
get:
summary: 'Activities Lookup'
operationId: activitiesLookup
description: "Retrieves all the activities/events name performed by students in a course.\nHelps showing options in dropdowns elements"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
db_value: ENROLLED
display_value: ENROLLED
-
db_value: STARTED
display_value: STARTED
-
db_value: ACCESSED
display_value: ACCESSED
-
db_value: COMPLETED
display_value: COMPLETED
-
db_value: SUBMITTED
display_value: SUBMITTED
-
db_value: EVALUATED
display_value: EVALUATED
-
db_value: REJECTED
display_value: REJECTED
-
db_value: RETAKE
display_value: RETAKE
-
db_value: 'ACHIEVED CERTIFICATE'
display_value: 'ACHIEVED CERTIFICATE'
-
db_value: RESET
display_value: RESET
-
db_value: REMOVED
display_value: REMOVED
-
db_value: REVOKED
display_value: REVOKED
-
db_value: GRANTED
display_value: GRANTED
-
db_value: 'UPDATED EXPIRY DATE'
display_value: 'UPDATED EXPIRY DATE'
tags:
- Courses
security: []
'/api/progress/course/{id}':
get:
summary: 'Gradebook Data'
operationId: gradebookData
description: "Retrieves all the progress achieved by a student on the course. Details will be returned in paginated mode.\nYou can use the userId parameter to get details for different students."
parameters:
-
in: query
name: userId
description: 'ID of the user.'
example: '3'
required: true
schema:
type: string
description: 'ID of the user.'
example: '3'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
name: 'course 1'
modules:
-
module_id: 1
name: test
slug: test
type: text
icon: ''
status_row_id: 1
status: Completed
started_on: '2020-08-03T10:02:33.000000Z'
completed_on: '2020-08-03T10:02:41.000000Z'
last_accessed_on: '6 days ago'
total_time_spent:
hours: 0
minutes: 0
seconds: 6
totalSeconds: 6
completion_percentage: 100
no_of_times_accessed: 1
totalMarks: null
obtainedMarks: null
-
module_id: 4
name: assign
slug: assign
type: assignment
icon: ''
status_row_id: -1
status: 'Not Started'
started_on: ''
completed_on: ''
last_accessed_on: Never
total_time_spent: ''
points_awarded: ''
completion_percentage: 0
no_of_times_accessed: 0
totalMarks: 50
obtainedMarks: null
id: 1
userId: 3
permalink: 'http://localhost:8000/course/course-1'
featuredImageUrl: null
instructions: null
accessStatus: Allowed
status: Completed
completionPercentage: 50
timeSpent:
hours: 0
minutes: 0
seconds: 6
totalSeconds: 6
enrollmentDate: '03 Aug 2020'
isExpired: false
daysToExpire: 'Unlimited days'
lastAccessed: '6 days ago'
isCertificateAvailable: true
totalMarks: 50
obtainedMarks: 0
percentage: 0
properties:
name:
type: string
example: 'course 1'
modules:
type: array
example:
-
module_id: 1
name: test
slug: test
type: text
icon: ''
status_row_id: 1
status: Completed
started_on: '2020-08-03T10:02:33.000000Z'
completed_on: '2020-08-03T10:02:41.000000Z'
last_accessed_on: '6 days ago'
total_time_spent:
hours: 0
minutes: 0
seconds: 6
totalSeconds: 6
completion_percentage: 100
no_of_times_accessed: 1
totalMarks: null
obtainedMarks: null
-
module_id: 4
name: assign
slug: assign
type: assignment
icon: ''
status_row_id: -1
status: 'Not Started'
started_on: ''
completed_on: ''
last_accessed_on: Never
total_time_spent: ''
points_awarded: ''
completion_percentage: 0
no_of_times_accessed: 0
totalMarks: 50
obtainedMarks: null
items:
type: object
properties:
module_id:
type: integer
example: 1
name:
type: string
example: test
slug:
type: string
example: test
type:
type: string
example: text
icon:
type: string
example: ''
status_row_id:
type: integer
example: 1
status:
type: string
example: Completed
started_on:
type: string
example: '2020-08-03T10:02:33.000000Z'
completed_on:
type: string
example: '2020-08-03T10:02:41.000000Z'
last_accessed_on:
type: string
example: '6 days ago'
total_time_spent:
type: object
properties:
hours:
type: integer
example: 0
minutes:
type: integer
example: 0
seconds:
type: integer
example: 6
totalSeconds:
type: integer
example: 6
completion_percentage:
type: integer
example: 100
no_of_times_accessed:
type: integer
example: 1
totalMarks:
type: string
example: null
obtainedMarks:
type: string
example: null
id:
type: integer
example: 1
userId:
type: integer
example: 3
permalink:
type: string
example: 'http://localhost:8000/course/course-1'
featuredImageUrl:
type: string
example: null
instructions:
type: string
example: null
accessStatus:
type: string
example: Allowed
status:
type: string
example: Completed
completionPercentage:
type: integer
example: 50
timeSpent:
type: object
properties:
hours:
type: integer
example: 0
minutes:
type: integer
example: 0
seconds:
type: integer
example: 6
totalSeconds:
type: integer
example: 6
enrollmentDate:
type: string
example: '03 Aug 2020'
isExpired:
type: boolean
example: false
daysToExpire:
type: string
example: 'Unlimited days'
lastAccessed:
type: string
example: '6 days ago'
isCertificateAvailable:
type: boolean
example: true
totalMarks:
type: integer
example: 50
obtainedMarks:
type: integer
example: 0
percentage:
type: integer
example: 0
tags:
- Courses
security: []
parameters:
-
in: path
name: id
description: 'Course registration ID for the student of the course you want to see progress.'
example: '1'
required: true
schema:
type: string
'/api/enrolled/course/{id}':
get:
summary: 'Enrolled Users Lookup'
operationId: enrolledUsersLookup
description: "Retrieves all the user details enrolled in a course.\nYou can apply filter using group_id and search_term."
parameters:
-
in: query
name: group_id
description: 'ID of the group.'
example: '1'
required: false
schema:
type: string
description: 'ID of the group.'
example: '1'
-
in: query
name: search_term
description: 'returns filtered data.'
example: vero
required: false
schema:
type: string
description: 'returns filtered data.'
example: vero
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
id: 3
full_name: 'Demo Student'
email: student@app.com
-
id: 4
full_name: 'John Doe'
email: john@aom.com
tags:
- Courses
security: []
parameters:
-
in: path
name: id
description: 'ID of the course.'
example: '1'
required: true
schema:
type: string
/api/course/clone:
post:
summary: Clone
operationId: clone
description: "To clone a course, you create a cloned object for a specific course.\nThe newly generated cloned course will help to let you change the content of the course with or without letting affect the real course."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Course Cloned Successfully'
properties:
message:
type: string
example: 'Course Cloned Successfully'
tags:
- Courses
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
course_id:
type: integer
description: 'ID of the course to be cloned.'
example: 1
course_name:
type: string
description: 'Name of the course about to be cloned.'
example: 'course 1'
isDeepCopy:
type: boolean
description: 'If true, content will be affected in real course if changes made in cloned course.'
example: false
required:
- course_id
- course_name
- isDeepCopy
security: []
/api/courses/type/lookup:
get:
summary: 'Course Type Lookup'
operationId: courseTypeLookup
description: 'Retrieves Course types.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
db_value: self_paced
display_value: 'Self Paced'
-
db_value: instructor_led
display_value: 'Instructor Led'
tags:
- Courses
security: []
/api/courses/auto-enroll-courses/update:
post:
summary: 'Update Auto Enroll Courses'
operationId: updateAutoEnrollCourses
description: 'Updates the details of auto enroll courses. (See parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Course Updated Successfully'
type: success
title: Success
properties:
message:
type: string
example: 'Course Updated Successfully'
type:
type: string
example: success
title:
type: string
example: Success
tags:
- Courses
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: array
description: 'ID(s) of the courses.'
example:
- 1
items:
type: string
required:
- id
security: []
/api/courses/auto-enroll-courses:
get:
summary: 'Retrieve Auto Enrolled Courses'
operationId: retrieveAutoEnrolledCourses
description: ''
parameters:
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at","direction":"desc"}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at","direction":"desc"}'
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
value: '1'
label: 'Professional Development and Training'
-
value: '2'
label: 'Training your Employees for the modern world'
tags:
- Courses
security: []
/api/courses/launch:
get:
summary: Launch
operationId: launch
description: 'To launch the course, you need to use this request. It will set all the progress and status of the course modules.'
parameters:
-
in: query
name: registrationId
description: 'Course registration ID of the student.'
example: '12'
required: true
schema:
type: string
description: 'Course registration ID of the student.'
example: '12'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
name: 'course 1'
modules:
-
module_id: 1
name: test
slug: test
type: text
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: true
status_row_id: -1
status: 'Not Started'
started_on: ''
completed_on: ''
last_accessed_on: Never
total_time_spent: ''
points_awarded: ''
completion_percentage: 0
no_of_times_accessed: 0
permalink: 'http://localhost:8000/course/course-1'
featuredImageUrl: null
instructions: null
accessStatus: Allowed
status: 'In Progress'
completionPercentage: 0
timeSpent:
hours: 0
minutes: 0
seconds: 0
totalSeconds: 0
enrollmentDate: '10 Aug 2020'
isExpired: false
daysToExpire: 'Unlimited days'
lastAccessed: '1 minute ago'
properties:
name:
type: string
example: 'course 1'
modules:
type: array
example:
-
module_id: 1
name: test
slug: test
type: text
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: true
status_row_id: -1
status: 'Not Started'
started_on: ''
completed_on: ''
last_accessed_on: Never
total_time_spent: ''
points_awarded: ''
completion_percentage: 0
no_of_times_accessed: 0
items:
type: object
properties:
module_id:
type: integer
example: 1
name:
type: string
example: test
slug:
type: string
example: test
type:
type: string
example: text
icon:
type: string
example: ''
is_locked:
type: boolean
example: false
lock_reason:
type: string
example: ''
is_dripped:
type: boolean
example: false
drip_message:
type: string
example: ''
is_current:
type: boolean
example: true
status_row_id:
type: integer
example: -1
status:
type: string
example: 'Not Started'
started_on:
type: string
example: ''
completed_on:
type: string
example: ''
last_accessed_on:
type: string
example: Never
total_time_spent:
type: string
example: ''
points_awarded:
type: string
example: ''
completion_percentage:
type: integer
example: 0
no_of_times_accessed:
type: integer
example: 0
permalink:
type: string
example: 'http://localhost:8000/course/course-1'
featuredImageUrl:
type: string
example: null
instructions:
type: string
example: null
accessStatus:
type: string
example: Allowed
status:
type: string
example: 'In Progress'
completionPercentage:
type: integer
example: 0
timeSpent:
type: object
properties:
hours:
type: integer
example: 0
minutes:
type: integer
example: 0
seconds:
type: integer
example: 0
totalSeconds:
type: integer
example: 0
enrollmentDate:
type: string
example: '10 Aug 2020'
isExpired:
type: boolean
example: false
daysToExpire:
type: string
example: 'Unlimited days'
lastAccessed:
type: string
example: '1 minute ago'
tags:
- Courses
security: []
/api/coupons/tabularlist:
get:
summary: 'Coupons Tabular List'
operationId: couponsTabularList
description: "Returns all the coupons in a tabular list format in paginated mode.\nYou can apply filter using search_param via code(coupon code)."
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '50'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '50'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
-
in: query
name: search_param
description: 'For searching items based on field names.'
example: '{"code":""}'
required: false
schema:
type: string
description: 'For searching items based on field names.'
example: '{"code":""}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 1
recordsFiltered: 1
records:
-
id: 1
code: code75
type: percent_amount
value: 1500
total_limit: 12
expired_at: 'Aug 26, 2020'
properties:
recordsTotal:
type: integer
example: 1
recordsFiltered:
type: integer
example: 1
records:
type: array
example:
-
id: 1
code: code75
type: percent_amount
value: 1500
total_limit: 12
expired_at: 'Aug 26, 2020'
items:
type: object
properties:
id:
type: integer
example: 1
code:
type: string
example: code75
type:
type: string
example: percent_amount
value:
type: integer
example: 1500
total_limit:
type: integer
example: 12
expired_at:
type: string
example: 'Aug 26, 2020'
tags:
- 'Discount Coupons'
security: []
/api/coupons/lookup:
get:
summary: 'Coupon Lookup'
operationId: couponLookup
description: "Retrieves all the coupons. Helps while showing coupons in form elements like dropdown.\nYou can apply filters using search_term(coupons) parameter. (See Parameter)"
parameters:
-
in: query
name: search_term
description: 'You need to provide coupons or substring of the coupons to search.'
example: ut
required: true
schema:
type: string
description: 'You need to provide coupons or substring of the coupons to search.'
example: ut
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
id: 1
code: code75
tags:
- 'Discount Coupons'
security: []
/api/coupons/type/lookup:
get:
summary: 'Coupon Types Lookup'
operationId: couponTypesLookup
description: "Retrieves all types of the coupons.\nHelps showing options in form elements like dropdowns."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
db_value: fixed_amount
display_value: 'Fixed cart discount'
-
db_value: percent_amount
display_value: 'Percentage Discount'
tags:
- 'Discount Coupons'
security: []
/api/coupon/create:
post:
summary: 'Create Coupon'
operationId: createCoupon
description: "To create a coupon, you need to use this request. (See parameters)\nCreated coupons can be used by the students to get some discount while purchasing the course.\n\nReturns : id of the coupon created and successfull message"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
message: 'Coupon created successfully'
properties:
id:
type: integer
example: 1
message:
type: string
example: 'Coupon created successfully'
tags:
- 'Discount Coupons'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
code:
type: string
description: 'Code for the coupon.'
example: code75
notes:
type: string
description: 'Notes for the coupon.'
example: 'Discount upto 75%'
value:
type: numeric
description: 'Value of the coupon(discount price or percentage).'
example: '1500'
type:
type: string
description: 'Types of the coupon. Type options: fixed_amount or percent_amount.'
example: percent_amount
usage_limit:
type: integer
description: 'How many times this coupon can be used?.'
example: 1200
expiry:
type: date
description: 'On this date, this coupon will get expired.'
example: '2020-08-26'
allowed_emails:
type: string
description: 'All allowed email comma seprated.'
example: 'null'
required:
- code
- value
- type
security: []
'/api/coupon/{id}':
get:
summary: 'Retrieve Coupon'
operationId: retrieveCoupon
description: 'Retrieves the details of the specified coupon. Helps in fetching coupon using its ID. (See Parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
code: code75
type: percent_amount
value: 1500
usage_limit: 12
expiry: '2020-08-26'
allowed_emails: null
note_privacy: null
notes: 'Discount upto 75%'
allowed_products: []
excluded_products: []
allowed_product_categories: []
properties:
code:
type: string
example: code75
type:
type: string
example: percent_amount
value:
type: integer
example: 1500
usage_limit:
type: integer
example: 12
expiry:
type: string
example: '2020-08-26'
allowed_emails:
type: string
example: null
note_privacy:
type: string
example: null
notes:
type: string
example: 'Discount upto 75%'
allowed_products:
type: array
example: []
excluded_products:
type: array
example: []
allowed_product_categories:
type: array
example: []
tags:
- 'Discount Coupons'
security: []
put:
summary: 'Update Coupon'
operationId: updateCoupon
description: "Updates the details of a specified coupon. (See parameters)\nCoupons can be used by the students to get some discount while purchasing the course."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Coupon updated successfully'
properties:
message:
type: string
example: 'Coupon updated successfully'
tags:
- 'Discount Coupons'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
code:
type: string
description: 'code for the coupon.'
example: code75
notes:
type: string
description: 'Notes for the coupon.'
example: 'Discount upto 75%'
value:
type: numeric
description: 'Value of the coupon(discount price or percentage).'
example: '1500'
type:
type: string
description: 'Types of the coupon. Type options: fixed_amount or percent_amount.'
example: percent_amount
usage_limit:
type: integer
description: 'How many times this coupon can be used?.'
example: 2000
expiry:
type: date
description: 'On this date, this coupon will get expired.'
example: '2020-08-26'
allowed_emails:
type: string
description: 'All allowed email comma seprated.'
example: 'null'
required:
- code
- value
- type
security: []
parameters:
-
in: path
name: id
description: 'ID of the coupon you want to fetch the details of.'
example: '1'
required: true
schema:
type: string
/api/coupon/delete:
post:
summary: 'Delete Coupon'
operationId: deleteCoupon
description: "To delete a coupon, you need to use this request.\nReturns number of coupons deleted(if multiple selected) and also not deleted. (See Response)"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: '2 coupon(s) deleted 1 coupon(s) not deleted as they are associated with orders'
properties:
message:
type: string
example: '2 coupon(s) deleted 1 coupon(s) not deleted as they are associated with orders'
tags:
- 'Discount Coupons'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
delete_ids:
type: array
description: 'All coupon IDs which needs to be deleted.'
example:
- 1
- 12
- 15
items:
type: string
required:
- delete_ids
security: []
/api/modules/discussion:
get:
summary: 'Discussion modules Tabular List'
operationId: discussionModulesTabularList
description: "Returns all the discussion modules in a tabular list format in paginated mode.\nYou can apply filter using search_param via associatedCourse(modules used in course) and moduleName."
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '50'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '50'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: aliquid
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: aliquid
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
-
in: query
name: search_param
description: 'For searching items based on field names.'
example: '{"associatedCourse":"","moduleName":""}'
required: false
schema:
type: string
description: 'For searching items based on field names.'
example: '{"associatedCourse":"","moduleName":""}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 1
recordsFiltered: 1
records:
-
id: 13
name: First-discussion
slug: first-discussion
type: discussion
totalPoints: 20
icon: ''
author: 'Aom Staff'
created_at: 'Aug 11, 2020 05:25 AM'
properties:
recordsTotal:
type: integer
example: 1
recordsFiltered:
type: integer
example: 1
records:
type: array
example:
-
id: 13
name: First-discussion
slug: first-discussion
type: discussion
totalPoints: 20
icon: ''
author: 'Aom Staff'
created_at: 'Aug 11, 2020 05:25 AM'
items:
type: object
properties:
id:
type: integer
example: 13
name:
type: string
example: First-discussion
slug:
type: string
example: first-discussion
type:
type: string
example: discussion
totalPoints:
type: integer
example: 20
icon:
type: string
example: ''
author:
type: string
example: 'Aom Staff'
created_at:
type: string
example: 'Aug 11, 2020 05:25 AM'
tags:
- Discussions
security: []
post:
summary: 'Create Discussion Module'
operationId: createDiscussionModule
description: "To create a discussion module, you need to use this request. (See parameters)\nCreated discussion modules can be used in the course as course content/lesson.\n\nReturns : id of the discussion created and successfull message"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 13
message: 'Module saved successfully'
properties:
id:
type: integer
example: 13
message:
type: string
example: 'Module saved successfully'
tags:
- Discussions
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Name of the discussion module.'
example: First-discussion
content:
type: string
description: 'Content for the discussion modules that students will see.'
example: 'A brief description'
should_be_evaluated:
type: boolean
description: 'If true, the discussion will be graded on course evaluation.'
example: true
totalPoints:
type: integer
description: 'Total points a student can get by completing this discussion.'
example: 20
minComments:
type: integer
description: 'At least these many comments should be provided by the student to pass the discussion(required if should_be_evaluated is true).'
example: 3
required:
- name
- content
- should_be_evaluated
security: []
'/api/modules/discussion/{id}':
put:
summary: 'Update Discussion Module'
operationId: updateDiscussionModule
description: "Update the details of specified discussion module. (See Response)\nDiscussion modules can be used in the course as course content/lesson."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Module updated successfully'
properties:
message:
type: string
example: 'Module updated successfully'
tags:
- Discussions
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Name of the discussion module.'
example: First-discussion
content:
type: string
description: 'Content for the discussion modules that students will see.'
example: 'An updatedbrief description'
should_be_evaluated:
type: boolean
description: 'If true, the discussion will be graded on course evaluation.'
example: true
totalPoints:
type: integer
description: 'Total points a student can get by completing this discussion.'
example: 20
minComments:
type: integer
description: 'At least these many comments should be provided by the student to pass the discussion(required if should_be_evaluated is true).'
example: 5
required:
- name
- content
- should_be_evaluated
security: []
get:
summary: 'Retrieve Discussion modules'
operationId: retrieveDiscussionModules
description: 'Retrieves the details of the specified discussion module. Helps in fetching discussion module using its ID. (See Parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
name: First-discussion
slug: first-discussion
content: 'A Brief Description'
totalPoints: 20
should_be_evaluated: true
minComments: 3
properties:
name:
type: string
example: First-discussion
slug:
type: string
example: first-discussion
content:
type: string
example: 'A Brief Description'
totalPoints:
type: integer
example: 20
should_be_evaluated:
type: boolean
example: true
minComments:
type: integer
example: 3
tags:
- Discussions
security: []
/api/module/discussion/details:
get:
summary: 'Retrieve Detailed Discussion Module Info'
operationId: retrieveDetailedDiscussionModuleInfo
description: "Retrieves details of discussion module in depth as well as different modules details that are being used as course content for the same course the current discussion module is attached to.\nReturns related fields value. (See Response)"
parameters:
-
in: query
name: registrationId
description: 'ID of the course Registration for which this module is attached to.'
example: '1'
required: true
schema:
type: string
description: 'ID of the course Registration for which this module is attached to.'
example: '1'
-
in: query
name: moduleId
description: 'ID of the discussion module.'
example: '13'
required: true
schema:
type: string
description: 'ID of the discussion module.'
example: '13'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
name: First-discussion
slug: first-discussion
content: 'A Brief Description'
courseName: 'course 1'
courseSlug: 'http://localhost:8000/course/course-1'
url: null
totalPoints: 20
shouldBeEvaluated: true
min_time_spent: 0
otherModules:
-
module_id: 1
name: test
slug: test
type: text
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: false
status_row_id: 1
status: Completed
started_on: '2020-08-03T10:02:33.000000Z'
completed_on: '2020-08-03T10:02:41.000000Z'
last_accessed_on: '11 hours ago'
total_time_spent:
hours: 0
minutes: 0
seconds: 6
totalSeconds: 6
completion_percentage: 100
no_of_times_accessed: 3
-
module_id: 4
name: assign
slug: assign
type: assignment
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: true
status_row_id: -1
status: 'Not Started'
started_on: ''
completed_on: ''
last_accessed_on: Never
total_time_spent: ''
points_awarded: ''
completion_percentage: 0
no_of_times_accessed: 0
-
module_id: 7
name: First-quiz
slug: first-quiz
type: quiz
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: false
status_row_id: -1
status: 'Not Started'
started_on: ''
completed_on: ''
last_accessed_on: Never
total_time_spent: ''
points_awarded: ''
completion_percentage: 0
no_of_times_accessed: 0
-
module_id: 9
name: My-video-lesson
slug: my-video-lesson
type: video
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: false
status_row_id: 4
status: 'In Progress'
started_on: '2020-08-10T20:04:14.000000Z'
completed_on: null
last_accessed_on: '9 hours ago'
total_time_spent:
hours: 0
minutes: 0
seconds: 0
totalSeconds: null
completion_percentage: 0
no_of_times_accessed: 1
-
module_id: 10
name: 'Essay on LMS'
slug: essay-on-lms
type: assignment
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: false
status_row_id: 5
status: Completed
started_on: '2020-08-11T02:47:32.000000Z'
completed_on: '2020-08-11T02:47:32.000000Z'
last_accessed_on: '2 hours ago'
total_time_spent:
hours: 0
minutes: 0
seconds: 0
totalSeconds: null
completion_percentage: 100
no_of_times_accessed: 2
-
module_id: 12
name: New-Webinar
slug: new-webinar
type: webinar
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: false
status_row_id: -1
status: 'Not Started'
started_on: ''
completed_on: ''
last_accessed_on: Never
total_time_spent: ''
points_awarded: ''
completion_percentage: 0
no_of_times_accessed: 0
-
module_id: 13
name: First-discussion
slug: first-discussion
type: discussion
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: false
status_row_id: -1
status: 'Not Started'
started_on: ''
completed_on: ''
last_accessed_on: Never
total_time_spent: ''
points_awarded: ''
completion_percentage: 0
no_of_times_accessed: 0
launchCheck:
canbeLaunched: true
errTitle: ''
errDesc: ''
prevSlug: new-webinar
nextSlug: ''
currentUserId: 3
currentStudentAvatar: ''
currentUserName: 'Demo Student'
status: 'In Progress'
statusRowId: 6
timeSpent: null
properties:
name:
type: string
example: First-discussion
slug:
type: string
example: first-discussion
content:
type: string
example: 'A Brief Description'
courseName:
type: string
example: 'course 1'
courseSlug:
type: string
example: 'http://localhost:8000/course/course-1'
url:
type: string
example: null
totalPoints:
type: integer
example: 20
shouldBeEvaluated:
type: boolean
example: true
min_time_spent:
type: integer
example: 0
otherModules:
type: array
example:
-
module_id: 1
name: test
slug: test
type: text
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: false
status_row_id: 1
status: Completed
started_on: '2020-08-03T10:02:33.000000Z'
completed_on: '2020-08-03T10:02:41.000000Z'
last_accessed_on: '11 hours ago'
total_time_spent:
hours: 0
minutes: 0
seconds: 6
totalSeconds: 6
completion_percentage: 100
no_of_times_accessed: 3
-
module_id: 4
name: assign
slug: assign
type: assignment
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: true
status_row_id: -1
status: 'Not Started'
started_on: ''
completed_on: ''
last_accessed_on: Never
total_time_spent: ''
points_awarded: ''
completion_percentage: 0
no_of_times_accessed: 0
-
module_id: 7
name: First-quiz
slug: first-quiz
type: quiz
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: false
status_row_id: -1
status: 'Not Started'
started_on: ''
completed_on: ''
last_accessed_on: Never
total_time_spent: ''
points_awarded: ''
completion_percentage: 0
no_of_times_accessed: 0
-
module_id: 9
name: My-video-lesson
slug: my-video-lesson
type: video
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: false
status_row_id: 4
status: 'In Progress'
started_on: '2020-08-10T20:04:14.000000Z'
completed_on: null
last_accessed_on: '9 hours ago'
total_time_spent:
hours: 0
minutes: 0
seconds: 0
totalSeconds: null
completion_percentage: 0
no_of_times_accessed: 1
-
module_id: 10
name: 'Essay on LMS'
slug: essay-on-lms
type: assignment
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: false
status_row_id: 5
status: Completed
started_on: '2020-08-11T02:47:32.000000Z'
completed_on: '2020-08-11T02:47:32.000000Z'
last_accessed_on: '2 hours ago'
total_time_spent:
hours: 0
minutes: 0
seconds: 0
totalSeconds: null
completion_percentage: 100
no_of_times_accessed: 2
-
module_id: 12
name: New-Webinar
slug: new-webinar
type: webinar
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: false
status_row_id: -1
status: 'Not Started'
started_on: ''
completed_on: ''
last_accessed_on: Never
total_time_spent: ''
points_awarded: ''
completion_percentage: 0
no_of_times_accessed: 0
-
module_id: 13
name: First-discussion
slug: first-discussion
type: discussion
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: false
status_row_id: -1
status: 'Not Started'
started_on: ''
completed_on: ''
last_accessed_on: Never
total_time_spent: ''
points_awarded: ''
completion_percentage: 0
no_of_times_accessed: 0
items:
type: object
properties:
module_id:
type: integer
example: 1
name:
type: string
example: test
slug:
type: string
example: test
type:
type: string
example: text
icon:
type: string
example: ''
is_locked:
type: boolean
example: false
lock_reason:
type: string
example: ''
is_dripped:
type: boolean
example: false
drip_message:
type: string
example: ''
is_current:
type: boolean
example: false
status_row_id:
type: integer
example: 1
status:
type: string
example: Completed
started_on:
type: string
example: '2020-08-03T10:02:33.000000Z'
completed_on:
type: string
example: '2020-08-03T10:02:41.000000Z'
last_accessed_on:
type: string
example: '11 hours ago'
total_time_spent:
type: object
properties:
hours:
type: integer
example: 0
minutes:
type: integer
example: 0
seconds:
type: integer
example: 6
totalSeconds:
type: integer
example: 6
completion_percentage:
type: integer
example: 100
no_of_times_accessed:
type: integer
example: 3
launchCheck:
type: object
properties:
canbeLaunched:
type: boolean
example: true
errTitle:
type: string
example: ''
errDesc:
type: string
example: ''
prevSlug:
type: string
example: new-webinar
nextSlug:
type: string
example: ''
currentUserId:
type: integer
example: 3
currentStudentAvatar:
type: string
example: ''
currentUserName:
type: string
example: 'Demo Student'
status:
type: string
example: 'In Progress'
statusRowId:
type: integer
example: 6
timeSpent:
type: string
example: null
tags:
- Discussions
security: []
/api/module/discussion/loadComments:
get:
summary: 'Retrieve Comments'
operationId: retrieveComments
description: "Retrieves the comments posted by students in the disussion. Helps in showing all the comments student have posted in the specified discussion in one place. (See Response)\nYou can apply filters using search_param via nameOrEmail(student email or name) and registrationId(student course registration id)"
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '50'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '50'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: quibusdam
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: quibusdam
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
-
in: query
name: search_param
description: 'For searching items based on field names.'
example: '{"nameOrEmail":"","registrationId":""}'
required: false
schema:
type: string
description: 'For searching items based on field names.'
example: '{"nameOrEmail":"","registrationId":""}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 1
recordsFiltered: 1
records:
-
id: 1
comment: 'My first comment'
userAvatar: ''
userFullName: 'Aom Staff'
date: 'Aug 11, 2020 05:56 AM'
replies: []
properties:
recordsTotal:
type: integer
example: 1
recordsFiltered:
type: integer
example: 1
records:
type: array
example:
-
id: 1
comment: 'My first comment'
userAvatar: ''
userFullName: 'Aom Staff'
date: 'Aug 11, 2020 05:56 AM'
replies: []
items:
type: object
properties:
id:
type: integer
example: 1
comment:
type: string
example: 'My first comment'
userAvatar:
type: string
example: ''
userFullName:
type: string
example: 'Aom Staff'
date:
type: string
example: 'Aug 11, 2020 05:56 AM'
replies:
type: array
example: []
tags:
- Discussions
security: []
/api/module/discussion/postComment:
post:
summary: 'Post Comment'
operationId: postComment
description: "Posts a comment in a discussion. Updates the status of discussion to submitted if student has posted minimum numner of posts for the discussion per user..\n(See Parameters)"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
status: 'In Progress'
message: 'Comment Posted'
properties:
status:
type: string
example: 'In Progress'
message:
type: string
example: 'Comment Posted'
tags:
- Discussions
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
statusRowId:
type: integer
description: 'ID of the ModuleStatus Row belongs to current discussion module.'
example: 4
currentUserId:
type: integer
description: 'ID of the user who commented.'
example: 1
comment:
type: string
description: 'Comment posted by the user for current discussion.'
example: 'My first comment'
parentId:
type: integer
description: 'Parent ID of the discussion. Example:'
example: 16
required:
- statusRowId
- currentUserId
- comment
security: []
/api/module/discussion/submissions:
get:
summary: 'Retrieve Discussion Submission Details'
operationId: retrieveDiscussionSubmissionDetails
description: 'Retrieves the submission details of the duscussion the student have taken participation. Helps to get discussion and its submission in one place. (See Response)'
parameters:
-
in: query
name: statusRowId
description: 'ID of the Module status of the current discussion submission.'
example: '7'
required: true
schema:
type: string
description: 'ID of the Module status of the current discussion submission.'
example: '7'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
courseId: 1
courseName: 'course 1'
discussionName: First-discussion
status: 'In Progress'
content: 'A Brief Description'
totalPoints: 20
userAvatar: ''
userFullName: 'Aom Staff'
comments:
-
id: 1
comment: 'My first comment'
date: 'Aug 11, 2020 05:56 AM'
replies: []
properties:
courseId:
type: integer
example: 1
courseName:
type: string
example: 'course 1'
discussionName:
type: string
example: First-discussion
status:
type: string
example: 'In Progress'
content:
type: string
example: 'A Brief Description'
totalPoints:
type: integer
example: 20
userAvatar:
type: string
example: ''
userFullName:
type: string
example: 'Aom Staff'
comments:
type: array
example:
-
id: 1
comment: 'My first comment'
date: 'Aug 11, 2020 05:56 AM'
items:
type: object
properties:
id:
type: integer
example: 1
comment:
type: string
example: 'My first comment'
date:
type: string
example: 'Aug 11, 2020 05:56 AM'
replies:
type: array
example: []
tags:
- Discussions
security: []
/api/module/discussion/evaluate:
post:
summary: 'Evaluate Discussion'
operationId: evaluateDiscussion
description: "Evaluates the discussion from Instructor side. Updates the status of discussion to completed if Instructor thinks student's submission is upto the marks.\n(See Parameters)"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Discussion evaluated successfully'
properties:
message:
type: string
example: 'Discussion evaluated successfully'
tags:
- Discussions
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
statusRowId:
type: required
description: 'ID of the Module status of the current discussion.'
example: '7'
evaluation:
type: required
description: 'Evaluation data by the Instructor(Completed or not).'
example: "{instructorMessage : 'You comments look good', pointsAwarded: '50' }"
security: []
/api/settings/ecommerce/global:
get:
summary: 'Retrieve Ecommerce Global Product Settings'
operationId: retrieveEcommerceGlobalProductSettings
description: 'Retrieves the details of Ecommerce Global Product Settings. (See parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Settings Updated'
properties:
message:
type: string
example: 'Settings Updated'
tags:
- ECommerce
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
freeProductCta:
type: string
description: 'The call to action name for free product.'
example: 'Enroll Now'
simpleProductCta:
type: string
description: 'The call to action name for simple product.'
example: 'Add to Cart'
subscriptionProductCta:
type: string
description: 'The call to action name for subscription product.'
example: Subscribe
security: []
put:
summary: 'Updates General Ecommerce Global Product Settings'
operationId: updatesGeneralEcommerceGlobalProductSettings
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Settings Updated'
properties:
message:
type: string
example: 'Settings Updated'
tags:
- ECommerce
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
freeProductCta:
type: string
description: 'The call to action name for free product.'
example: 'Enroll Now'
simpleProductCta:
type: string
description: 'The call to action name for simple product.'
example: 'Add to Cart'
subscriptionProductCta:
type: string
description: 'The call to action name for subscription product.'
example: Subscribe
'productPriceColor[content][linkUrl]':
type: string
description: 'The URL associated with the product price link.'
example: '"https://example.com"'
'productPriceColor[content][linkOpen]':
type: string
description: 'The target attribute for the product price link.'
example: '"_blank"'
'productPriceColor[content][backgroundColor]':
type: string
description: 'The background color for the product price.'
example: '"#469F13"'
security: []
/api/countries/lookup:
get:
summary: 'Country Lookup'
operationId: countryLookup
description: 'Retrieves all the countries in list format. Helps while showing countries in form elements like dropdown.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
AF: Afghanistan
AL: Albania
DZ: Algeria
AS: 'American Samoa'
AD: Andorra
AO: Angola
AI: Anguilla
AQ: Antarctica
AG: 'Antigua and Barbuda'
AR: Argentina
AM: Armenia
AW: Aruba
AU: Australia
AT: Austria
AZ: Azerbaijan
BS: Bahamas
BH: Bahrain
BD: Bangladesh
BB: Barbados
BY: Belarus
BE: Belgium
PW: Belau
BZ: Belize
BJ: Benin
BM: Bermuda
BT: Bhutan
BO: Bolivia
BQ: 'Bonaire, Saint Eustatius and Saba'
BA: 'Bosnia and Herzegovina'
BW: Botswana
BV: 'Bouvet Island'
BR: Brazil
IO: 'British Indian Ocean Territory'
BN: Brunei
BG: Bulgaria
BF: 'Burkina Faso'
BI: Burundi
KH: Cambodia
CM: Cameroon
CA: Canada
CV: 'Cape Verde'
KY: 'Cayman Islands'
CF: 'Central African Republic'
TD: Chad
CL: Chile
CN: China
CX: 'Christmas Island'
CC: 'Cocos (Keeling) Islands'
CO: Colombia
KM: Comoros
CG: 'Congo (Brazzaville)'
CD: 'Congo (Kinshasa)'
CK: 'Cook Islands'
CR: 'Costa Rica'
HR: Croatia
CU: Cuba
CW: 'Curaçao'
CY: Cyprus
CZ: 'Czech Republic'
DK: Denmark
DJ: Djibouti
DM: Dominica
DO: 'Dominican Republic'
EC: Ecuador
EG: Egypt
SV: 'El Salvador'
GQ: 'Equatorial Guinea'
ER: Eritrea
EE: Estonia
ET: Ethiopia
FK: 'Falkland Islands'
FO: 'Faroe Islands'
FJ: Fiji
FI: Finland
FR: France
GF: 'French Guiana'
PF: 'French Polynesia'
TF: 'French Southern Territories'
GA: Gabon
GM: Gambia
GE: Georgia
DE: Germany
GH: Ghana
GI: Gibraltar
GR: Greece
GL: Greenland
GD: Grenada
GP: Guadeloupe
GU: Guam
GT: Guatemala
GG: Guernsey
GN: Guinea
GW: Guinea-Bissau
GY: Guyana
HT: Haiti
HM: 'Heard Island and McDonald Islands'
HN: Honduras
HK: 'Hong Kong'
HU: Hungary
IS: Iceland
IN: India
ID: Indonesia
IR: Iran
IQ: Iraq
IE: Ireland
IM: 'Isle of Man'
IL: Israel
IT: Italy
CI: 'Ivory Coast'
JM: Jamaica
JP: Japan
JE: Jersey
JO: Jordan
KZ: Kazakhstan
KE: Kenya
KI: Kiribati
KW: Kuwait
KG: Kyrgyzstan
LA: Laos
LV: Latvia
LB: Lebanon
LS: Lesotho
LR: Liberia
LY: Libya
LI: Liechtenstein
LT: Lithuania
LU: Luxembourg
MO: Macao
MK: 'North Macedonia'
MG: Madagascar
MW: Malawi
MY: Malaysia
MV: Maldives
ML: Mali
MT: Malta
MH: 'Marshall Islands'
MQ: Martinique
MR: Mauritania
MU: Mauritius
YT: Mayotte
MX: Mexico
FM: Micronesia
MD: Moldova
MC: Monaco
MN: Mongolia
ME: Montenegro
MS: Montserrat
MA: Morocco
MZ: Mozambique
MM: Myanmar
NA: Namibia
NR: Nauru
NP: Nepal
NL: Netherlands
NC: 'New Caledonia'
NZ: 'New Zealand'
NI: Nicaragua
NE: Niger
NG: Nigeria
NU: Niue
NF: 'Norfolk Island'
MP: 'Northern Mariana Islands'
KP: 'North Korea'
'NO': Norway
OM: Oman
PK: Pakistan
PS: 'Palestinian Territory'
PA: Panama
PG: 'Papua New Guinea'
PY: Paraguay
PE: Peru
PH: Philippines
PN: Pitcairn
PL: Poland
PT: Portugal
PR: 'Puerto Rico'
QA: Qatar
RE: Reunion
RO: Romania
RU: Russia
RW: Rwanda
BL: 'Saint Barthélemy'
SH: 'Saint Helena'
KN: 'Saint Kitts and Nevis'
LC: 'Saint Lucia'
MF: 'Saint Martin (French part)'
SX: 'Saint Martin (Dutch part)'
PM: 'Saint Pierre and Miquelon'
VC: 'Saint Vincent and the Grenadines'
SM: 'San Marino'
ST: 'São Tomé and Príncipe'
SA: 'Saudi Arabia'
SN: Senegal
RS: Serbia
SC: Seychelles
SL: 'Sierra Leone'
SG: Singapore
SK: Slovakia
SI: Slovenia
SB: 'Solomon Islands'
SO: Somalia
ZA: 'South Africa'
GS: 'South Georgia/Sandwich Islands'
KR: 'South Korea'
SS: 'South Sudan'
ES: Spain
LK: 'Sri Lanka'
SD: Sudan
SR: Suriname
SJ: 'Svalbard and Jan Mayen'
SZ: Swaziland
SE: Sweden
CH: Switzerland
SY: Syria
TW: Taiwan
TJ: Tajikistan
TZ: Tanzania
TH: Thailand
TL: Timor-Leste
TG: Togo
TK: Tokelau
TO: Tonga
TT: 'Trinidad and Tobago'
TN: Tunisia
TR: Turkey
TM: Turkmenistan
TC: 'Turks and Caicos Islands'
TV: Tuvalu
UG: Uganda
UA: Ukraine
AE: 'United Arab Emirates'
GB: 'United Kingdom'
US: 'United States'
UM: 'United States (US) Minor Outlying Islands'
UY: Uruguay
UZ: Uzbekistan
VU: Vanuatu
VA: Vatican
VE: Venezuela
VN: Vietnam
VG: 'Virgin Islands (British)'
VI: 'Virgin Islands (US)'
WF: 'Wallis and Futuna'
EH: 'Western Sahara'
WS: Samoa
YE: Yemen
ZM: Zambia
ZW: Zimbabwe
properties:
AF:
type: string
example: Afghanistan
AL:
type: string
example: Albania
DZ:
type: string
example: Algeria
AS:
type: string
example: 'American Samoa'
AD:
type: string
example: Andorra
AO:
type: string
example: Angola
AI:
type: string
example: Anguilla
AQ:
type: string
example: Antarctica
AG:
type: string
example: 'Antigua and Barbuda'
AR:
type: string
example: Argentina
AM:
type: string
example: Armenia
AW:
type: string
example: Aruba
AU:
type: string
example: Australia
AT:
type: string
example: Austria
AZ:
type: string
example: Azerbaijan
BS:
type: string
example: Bahamas
BH:
type: string
example: Bahrain
BD:
type: string
example: Bangladesh
BB:
type: string
example: Barbados
BY:
type: string
example: Belarus
BE:
type: string
example: Belgium
PW:
type: string
example: Belau
BZ:
type: string
example: Belize
BJ:
type: string
example: Benin
BM:
type: string
example: Bermuda
BT:
type: string
example: Bhutan
BO:
type: string
example: Bolivia
BQ:
type: string
example: 'Bonaire, Saint Eustatius and Saba'
BA:
type: string
example: 'Bosnia and Herzegovina'
BW:
type: string
example: Botswana
BV:
type: string
example: 'Bouvet Island'
BR:
type: string
example: Brazil
IO:
type: string
example: 'British Indian Ocean Territory'
BN:
type: string
example: Brunei
BG:
type: string
example: Bulgaria
BF:
type: string
example: 'Burkina Faso'
BI:
type: string
example: Burundi
KH:
type: string
example: Cambodia
CM:
type: string
example: Cameroon
CA:
type: string
example: Canada
CV:
type: string
example: 'Cape Verde'
KY:
type: string
example: 'Cayman Islands'
CF:
type: string
example: 'Central African Republic'
TD:
type: string
example: Chad
CL:
type: string
example: Chile
CN:
type: string
example: China
CX:
type: string
example: 'Christmas Island'
CC:
type: string
example: 'Cocos (Keeling) Islands'
CO:
type: string
example: Colombia
KM:
type: string
example: Comoros
CG:
type: string
example: 'Congo (Brazzaville)'
CD:
type: string
example: 'Congo (Kinshasa)'
CK:
type: string
example: 'Cook Islands'
CR:
type: string
example: 'Costa Rica'
HR:
type: string
example: Croatia
CU:
type: string
example: Cuba
CW:
type: string
example: 'Curaçao'
CY:
type: string
example: Cyprus
CZ:
type: string
example: 'Czech Republic'
DK:
type: string
example: Denmark
DJ:
type: string
example: Djibouti
DM:
type: string
example: Dominica
DO:
type: string
example: 'Dominican Republic'
EC:
type: string
example: Ecuador
EG:
type: string
example: Egypt
SV:
type: string
example: 'El Salvador'
GQ:
type: string
example: 'Equatorial Guinea'
ER:
type: string
example: Eritrea
EE:
type: string
example: Estonia
ET:
type: string
example: Ethiopia
FK:
type: string
example: 'Falkland Islands'
FO:
type: string
example: 'Faroe Islands'
FJ:
type: string
example: Fiji
FI:
type: string
example: Finland
FR:
type: string
example: France
GF:
type: string
example: 'French Guiana'
PF:
type: string
example: 'French Polynesia'
TF:
type: string
example: 'French Southern Territories'
GA:
type: string
example: Gabon
GM:
type: string
example: Gambia
GE:
type: string
example: Georgia
DE:
type: string
example: Germany
GH:
type: string
example: Ghana
GI:
type: string
example: Gibraltar
GR:
type: string
example: Greece
GL:
type: string
example: Greenland
GD:
type: string
example: Grenada
GP:
type: string
example: Guadeloupe
GU:
type: string
example: Guam
GT:
type: string
example: Guatemala
GG:
type: string
example: Guernsey
GN:
type: string
example: Guinea
GW:
type: string
example: Guinea-Bissau
GY:
type: string
example: Guyana
HT:
type: string
example: Haiti
HM:
type: string
example: 'Heard Island and McDonald Islands'
HN:
type: string
example: Honduras
HK:
type: string
example: 'Hong Kong'
HU:
type: string
example: Hungary
IS:
type: string
example: Iceland
IN:
type: string
example: India
ID:
type: string
example: Indonesia
IR:
type: string
example: Iran
IQ:
type: string
example: Iraq
IE:
type: string
example: Ireland
IM:
type: string
example: 'Isle of Man'
IL:
type: string
example: Israel
IT:
type: string
example: Italy
CI:
type: string
example: 'Ivory Coast'
JM:
type: string
example: Jamaica
JP:
type: string
example: Japan
JE:
type: string
example: Jersey
JO:
type: string
example: Jordan
KZ:
type: string
example: Kazakhstan
KE:
type: string
example: Kenya
KI:
type: string
example: Kiribati
KW:
type: string
example: Kuwait
KG:
type: string
example: Kyrgyzstan
LA:
type: string
example: Laos
LV:
type: string
example: Latvia
LB:
type: string
example: Lebanon
LS:
type: string
example: Lesotho
LR:
type: string
example: Liberia
LY:
type: string
example: Libya
LI:
type: string
example: Liechtenstein
LT:
type: string
example: Lithuania
LU:
type: string
example: Luxembourg
MO:
type: string
example: Macao
MK:
type: string
example: 'North Macedonia'
MG:
type: string
example: Madagascar
MW:
type: string
example: Malawi
MY:
type: string
example: Malaysia
MV:
type: string
example: Maldives
ML:
type: string
example: Mali
MT:
type: string
example: Malta
MH:
type: string
example: 'Marshall Islands'
MQ:
type: string
example: Martinique
MR:
type: string
example: Mauritania
MU:
type: string
example: Mauritius
YT:
type: string
example: Mayotte
MX:
type: string
example: Mexico
FM:
type: string
example: Micronesia
MD:
type: string
example: Moldova
MC:
type: string
example: Monaco
MN:
type: string
example: Mongolia
ME:
type: string
example: Montenegro
MS:
type: string
example: Montserrat
MA:
type: string
example: Morocco
MZ:
type: string
example: Mozambique
MM:
type: string
example: Myanmar
NA:
type: string
example: Namibia
NR:
type: string
example: Nauru
NP:
type: string
example: Nepal
NL:
type: string
example: Netherlands
NC:
type: string
example: 'New Caledonia'
NZ:
type: string
example: 'New Zealand'
NI:
type: string
example: Nicaragua
NE:
type: string
example: Niger
NG:
type: string
example: Nigeria
NU:
type: string
example: Niue
NF:
type: string
example: 'Norfolk Island'
MP:
type: string
example: 'Northern Mariana Islands'
KP:
type: string
example: 'North Korea'
'NO':
type: string
example: Norway
OM:
type: string
example: Oman
PK:
type: string
example: Pakistan
PS:
type: string
example: 'Palestinian Territory'
PA:
type: string
example: Panama
PG:
type: string
example: 'Papua New Guinea'
PY:
type: string
example: Paraguay
PE:
type: string
example: Peru
PH:
type: string
example: Philippines
PN:
type: string
example: Pitcairn
PL:
type: string
example: Poland
PT:
type: string
example: Portugal
PR:
type: string
example: 'Puerto Rico'
QA:
type: string
example: Qatar
RE:
type: string
example: Reunion
RO:
type: string
example: Romania
RU:
type: string
example: Russia
RW:
type: string
example: Rwanda
BL:
type: string
example: 'Saint Barthélemy'
SH:
type: string
example: 'Saint Helena'
KN:
type: string
example: 'Saint Kitts and Nevis'
LC:
type: string
example: 'Saint Lucia'
MF:
type: string
example: 'Saint Martin (French part)'
SX:
type: string
example: 'Saint Martin (Dutch part)'
PM:
type: string
example: 'Saint Pierre and Miquelon'
VC:
type: string
example: 'Saint Vincent and the Grenadines'
SM:
type: string
example: 'San Marino'
ST:
type: string
example: 'São Tomé and Príncipe'
SA:
type: string
example: 'Saudi Arabia'
SN:
type: string
example: Senegal
RS:
type: string
example: Serbia
SC:
type: string
example: Seychelles
SL:
type: string
example: 'Sierra Leone'
SG:
type: string
example: Singapore
SK:
type: string
example: Slovakia
SI:
type: string
example: Slovenia
SB:
type: string
example: 'Solomon Islands'
SO:
type: string
example: Somalia
ZA:
type: string
example: 'South Africa'
GS:
type: string
example: 'South Georgia/Sandwich Islands'
KR:
type: string
example: 'South Korea'
SS:
type: string
example: 'South Sudan'
ES:
type: string
example: Spain
LK:
type: string
example: 'Sri Lanka'
SD:
type: string
example: Sudan
SR:
type: string
example: Suriname
SJ:
type: string
example: 'Svalbard and Jan Mayen'
SZ:
type: string
example: Swaziland
SE:
type: string
example: Sweden
CH:
type: string
example: Switzerland
SY:
type: string
example: Syria
TW:
type: string
example: Taiwan
TJ:
type: string
example: Tajikistan
TZ:
type: string
example: Tanzania
TH:
type: string
example: Thailand
TL:
type: string
example: Timor-Leste
TG:
type: string
example: Togo
TK:
type: string
example: Tokelau
TO:
type: string
example: Tonga
TT:
type: string
example: 'Trinidad and Tobago'
TN:
type: string
example: Tunisia
TR:
type: string
example: Turkey
TM:
type: string
example: Turkmenistan
TC:
type: string
example: 'Turks and Caicos Islands'
TV:
type: string
example: Tuvalu
UG:
type: string
example: Uganda
UA:
type: string
example: Ukraine
AE:
type: string
example: 'United Arab Emirates'
GB:
type: string
example: 'United Kingdom'
US:
type: string
example: 'United States'
UM:
type: string
example: 'United States (US) Minor Outlying Islands'
UY:
type: string
example: Uruguay
UZ:
type: string
example: Uzbekistan
VU:
type: string
example: Vanuatu
VA:
type: string
example: Vatican
VE:
type: string
example: Venezuela
VN:
type: string
example: Vietnam
VG:
type: string
example: 'Virgin Islands (British)'
VI:
type: string
example: 'Virgin Islands (US)'
WF:
type: string
example: 'Wallis and Futuna'
EH:
type: string
example: 'Western Sahara'
WS:
type: string
example: Samoa
YE:
type: string
example: Yemen
ZM:
type: string
example: Zambia
ZW:
type: string
example: Zimbabwe
tags:
- ECommerce
security: []
/api/states/lookup:
get:
summary: 'States Lookup'
operationId: statesLookup
description: 'Retrieves all the states in list format. Helps while showing states in form elements like dropdown.'
parameters:
-
in: query
name: countryCode
description: 'Country code of which you need state details(like IN, US, etc).'
example: IN
required: true
schema:
type: string
description: 'Country code of which you need state details(like IN, US, etc).'
example: IN
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
AP: 'Andhra Pradesh'
AR: 'Arunachal Pradesh'
AS: Assam
BR: Bihar
CT: Chhattisgarh
GA: Goa
GJ: Gujarat
HR: Haryana
HP: 'Himachal Pradesh'
JK: 'Jammu and Kashmir'
JH: Jharkhand
KA: Karnataka
KL: Kerala
MP: 'Madhya Pradesh'
MH: Maharashtra
MN: Manipur
ML: Meghalaya
MZ: Mizoram
NL: Nagaland
OR: Orissa
PB: Punjab
RJ: Rajasthan
SK: Sikkim
TN: 'Tamil Nadu'
TS: Telangana
TR: Tripura
UK: Uttarakhand
UP: 'Uttar Pradesh'
WB: 'West Bengal'
AN: 'Andaman and Nicobar Islands'
CH: Chandigarh
DN: 'Dadra and Nagar Haveli'
DD: 'Daman and Diu'
DL: Delhi
LD: Lakshadeep
PY: 'Pondicherry (Puducherry)'
properties:
AP:
type: string
example: 'Andhra Pradesh'
AR:
type: string
example: 'Arunachal Pradesh'
AS:
type: string
example: Assam
BR:
type: string
example: Bihar
CT:
type: string
example: Chhattisgarh
GA:
type: string
example: Goa
GJ:
type: string
example: Gujarat
HR:
type: string
example: Haryana
HP:
type: string
example: 'Himachal Pradesh'
JK:
type: string
example: 'Jammu and Kashmir'
JH:
type: string
example: Jharkhand
KA:
type: string
example: Karnataka
KL:
type: string
example: Kerala
MP:
type: string
example: 'Madhya Pradesh'
MH:
type: string
example: Maharashtra
MN:
type: string
example: Manipur
ML:
type: string
example: Meghalaya
MZ:
type: string
example: Mizoram
NL:
type: string
example: Nagaland
OR:
type: string
example: Orissa
PB:
type: string
example: Punjab
RJ:
type: string
example: Rajasthan
SK:
type: string
example: Sikkim
TN:
type: string
example: 'Tamil Nadu'
TS:
type: string
example: Telangana
TR:
type: string
example: Tripura
UK:
type: string
example: Uttarakhand
UP:
type: string
example: 'Uttar Pradesh'
WB:
type: string
example: 'West Bengal'
AN:
type: string
example: 'Andaman and Nicobar Islands'
CH:
type: string
example: Chandigarh
DN:
type: string
example: 'Dadra and Nagar Haveli'
DD:
type: string
example: 'Daman and Diu'
DL:
type: string
example: Delhi
LD:
type: string
example: Lakshadeep
PY:
type: string
example: 'Pondicherry (Puducherry)'
tags:
- ECommerce
security: []
/api/currency/lookup:
get:
summary: 'Currency Lookup'
operationId: currencyLookup
description: 'Retrieves all the currencies in list format. Helps while showing states in form elements like dropdown.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
AED:
display_name: 'United Arab Emirates dirham'
symbol: 'د.إ'
AFN:
display_name: 'Afghan afghani'
symbol: '؋'
ALL:
display_name: 'Albanian lek'
symbol: L
AMD:
display_name: 'Armenian dram'
symbol: AMD
ANG:
display_name: 'Netherlands Antillean guilder'
symbol: 'ƒ'
AOA:
display_name: 'Angolan kwanza'
symbol: Kz
ARS:
display_name: 'Argentine peso'
symbol: '$'
AUD:
display_name: 'Australian dollar'
symbol: '$'
AWG:
display_name: 'Aruban florin'
symbol: Afl.
AZN:
display_name: 'Azerbaijani manat'
symbol: AZN
BAM:
display_name: 'Bosnia and Herzegovina convertible mark'
symbol: KM
BBD:
display_name: 'Barbadian dollar'
symbol: '$'
BDT:
display_name: 'Bangladeshi taka'
symbol: '৳ '
BGN:
display_name: 'Bulgarian lev'
symbol: 'лв.'
BHD:
display_name: 'Bahraini dinar'
symbol: '.د.ب'
BIF:
display_name: 'Burundian franc'
symbol: Fr
BMD:
display_name: 'Bermudian dollar'
symbol: '$'
BND:
display_name: 'Brunei dollar'
symbol: '$'
BOB:
display_name: 'Bolivian boliviano'
symbol: Bs.
BRL:
display_name: 'Brazilian real'
symbol: 'R$'
BSD:
display_name: 'Bahamian dollar'
symbol: '$'
BTC:
display_name: Bitcoin
symbol: '฿'
BTN:
display_name: 'Bhutanese ngultrum'
symbol: Nu.
BWP:
display_name: 'Botswana pula'
symbol: P
BYR:
display_name: 'Belarusian ruble (old)'
symbol: Br
BYN:
display_name: 'Belarusian ruble'
symbol: Br
BZD:
display_name: 'Belize dollar'
symbol: '$'
CAD:
display_name: 'Canadian dollar'
symbol: '$'
CDF:
display_name: 'Congolese franc'
symbol: Fr
CHF:
display_name: 'Swiss franc'
symbol: 'CHF'
CLP:
display_name: 'Chilean peso'
symbol: '$'
CNY:
display_name: 'Chinese yuan'
symbol: '¥'
COP:
display_name: 'Colombian peso'
symbol: '$'
CRC:
display_name: 'Costa Rican colón'
symbol: '₡'
CUC:
display_name: 'Cuban convertible peso'
symbol: '$'
CUP:
display_name: 'Cuban peso'
symbol: '$'
CVE:
display_name: 'Cape Verdean escudo'
symbol: '$'
CZK:
display_name: 'Czech koruna'
symbol: 'Kč'
DJF:
display_name: 'Djiboutian franc'
symbol: Fr
DKK:
display_name: 'Danish krone'
symbol: DKK
DOP:
display_name: 'Dominican peso'
symbol: 'RD$'
DZD:
display_name: 'Algerian dinar'
symbol: 'د.ج'
EGP:
display_name: 'Egyptian pound'
symbol: EGP
ERN:
display_name: 'Eritrean nakfa'
symbol: Nfk
ETB:
display_name: 'Ethiopian birr'
symbol: Br
EUR:
display_name: Euro
symbol: '€'
FJD:
display_name: 'Fijian dollar'
symbol: '$'
FKP:
display_name: 'Falkland Islands pound'
symbol: '£'
GBP:
display_name: 'Pound sterling'
symbol: '£'
GEL:
display_name: 'Georgian lari'
symbol: '₾'
GGP:
display_name: 'Guernsey pound'
symbol: '£'
GHS:
display_name: 'Ghana cedi'
symbol: '₵'
GIP:
display_name: 'Gibraltar pound'
symbol: '£'
GMD:
display_name: 'Gambian dalasi'
symbol: D
GNF:
display_name: 'Guinean franc'
symbol: Fr
GTQ:
display_name: 'Guatemalan quetzal'
symbol: Q
GYD:
display_name: 'Guyanese dollar'
symbol: '$'
HKD:
display_name: 'Hong Kong dollar'
symbol: '$'
HNL:
display_name: 'Honduran lempira'
symbol: L
HRK:
display_name: 'Croatian kuna'
symbol: kn
HTG:
display_name: 'Haitian gourde'
symbol: G
HUF:
display_name: 'Hungarian forint'
symbol: 'Ft'
IDR:
display_name: 'Indonesian rupiah'
symbol: Rp
ILS:
display_name: 'Israeli new shekel'
symbol: '₪'
IMP:
display_name: 'Manx pound'
symbol: '£'
INR:
display_name: 'Indian rupee'
symbol: '₹'
IQD:
display_name: 'Iraqi dinar'
symbol: 'ع.د'
IRR:
display_name: 'Iranian rial'
symbol: '﷼'
IRT:
display_name: 'Iranian toman'
symbol: 'تومان'
ISK:
display_name: 'Icelandic króna'
symbol: kr.
JEP:
display_name: 'Jersey pound'
symbol: '£'
JMD:
display_name: 'Jamaican dollar'
symbol: '$'
JOD:
display_name: 'Jordanian dinar'
symbol: 'د.ا'
JPY:
display_name: 'Japanese yen'
symbol: '¥'
KES:
display_name: 'Kenyan shilling'
symbol: KSh
KGS:
display_name: 'Kyrgyzstani som'
symbol: 'сом'
KHR:
display_name: 'Cambodian riel'
symbol: '៛'
KMF:
display_name: 'Comorian franc'
symbol: Fr
KPW:
display_name: 'North Korean won'
symbol: '₩'
KRW:
display_name: 'South Korean won'
symbol: '₩'
KWD:
display_name: 'Kuwaiti dinar'
symbol: 'د.ك'
KYD:
display_name: 'Cayman Islands dollar'
symbol: '$'
KZT:
display_name: 'Kazakhstani tenge'
symbol: KZT
LAK:
display_name: 'Lao kip'
symbol: '₭'
LBP:
display_name: 'Lebanese pound'
symbol: 'ل.ل'
LKR:
display_name: 'Sri Lankan rupee'
symbol: 'රු'
LRD:
display_name: 'Liberian dollar'
symbol: '$'
LSL:
display_name: 'Lesotho loti'
symbol: L
LYD:
display_name: 'Libyan dinar'
symbol: 'ل.د'
MAD:
display_name: 'Moroccan dirham'
symbol: 'د.م.'
MDL:
display_name: 'Moldovan leu'
symbol: MDL
MGA:
display_name: 'Malagasy ariary'
symbol: Ar
MKD:
display_name: 'Macedonian denar'
symbol: 'ден'
MMK:
display_name: 'Burmese kyat'
symbol: Ks
MNT:
display_name: 'Mongolian tögrög'
symbol: '₮'
MOP:
display_name: 'Macanese pataca'
symbol: P
MRU:
display_name: 'Mauritanian ouguiya'
symbol: UM
MUR:
display_name: 'Mauritian rupee'
symbol: '₨'
MVR:
display_name: 'Maldivian rufiyaa'
symbol: '.ރ'
MWK:
display_name: 'Malawian kwacha'
symbol: MK
MXN:
display_name: 'Mexican peso'
symbol: '$'
MYR:
display_name: 'Malaysian ringgit'
symbol: 'RM'
MZN:
display_name: 'Mozambican metical'
symbol: MT
NAD:
display_name: 'Namibian dollar'
symbol: 'N$'
NGN:
display_name: 'Nigerian naira'
symbol: '₦'
NIO:
display_name: 'Nicaraguan córdoba'
symbol: 'C$'
NOK:
display_name: 'Norwegian krone'
symbol: 'kr'
NPR:
display_name: 'Nepalese rupee'
symbol: '₨'
NZD:
display_name: 'New Zealand dollar'
symbol: '$'
OMR:
display_name: 'Omani rial'
symbol: 'ر.ع.'
PAB:
display_name: 'Panamanian balboa'
symbol: B/.
PEN:
display_name: Sol
symbol: S/
PGK:
display_name: 'Papua New Guinean kina'
symbol: K
PHP:
display_name: 'Philippine peso'
symbol: '₱'
PKR:
display_name: 'Pakistani rupee'
symbol: '₨'
PLN:
display_name: 'Polish złoty'
symbol: 'zł'
PRB:
display_name: 'Transnistrian ruble'
symbol: 'р.'
PYG:
display_name: 'Paraguayan guaraní'
symbol: '₲'
QAR:
display_name: 'Qatari riyal'
symbol: 'ر.ق'
RON:
display_name: 'Romanian leu'
symbol: lei
RSD:
display_name: 'Serbian dinar'
symbol: 'дин.'
RUB:
display_name: 'Russian ruble'
symbol: '₽'
RWF:
display_name: 'Rwandan franc'
symbol: Fr
SAR:
display_name: 'Saudi riyal'
symbol: 'ر.س'
SBD:
display_name: 'Solomon Islands dollar'
symbol: '$'
SCR:
display_name: 'Seychellois rupee'
symbol: '₨'
SDG:
display_name: 'Sudanese pound'
symbol: 'ج.س.'
SEK:
display_name: 'Swedish krona'
symbol: 'kr'
SGD:
display_name: 'Singapore dollar'
symbol: '$'
SHP:
display_name: 'Saint Helena pound'
symbol: '£'
SLL:
display_name: 'Sierra Leonean leone'
symbol: Le
SOS:
display_name: 'Somali shilling'
symbol: Sh
SRD:
display_name: 'Surinamese dollar'
symbol: '$'
SSP:
display_name: 'South Sudanese pound'
symbol: '£'
STN:
display_name: 'São Tomé and Príncipe dobra'
symbol: Db
SYP:
display_name: 'Syrian pound'
symbol: 'ل.س'
SZL:
display_name: 'Swazi lilangeni'
symbol: L
THB:
display_name: 'Thai baht'
symbol: '฿'
TJS:
display_name: 'Tajikistani somoni'
symbol: 'ЅМ'
TMT:
display_name: 'Turkmenistan manat'
symbol: m
TND:
display_name: 'Tunisian dinar'
symbol: 'د.ت'
TOP:
display_name: 'Tongan paʻanga'
symbol: 'T$'
TRY:
display_name: 'Turkish lira'
symbol: '₺'
TTD:
display_name: 'Trinidad and Tobago dollar'
symbol: '$'
TWD:
display_name: 'New Taiwan dollar'
symbol: 'NT$'
TZS:
display_name: 'Tanzanian shilling'
symbol: Sh
UAH:
display_name: 'Ukrainian hryvnia'
symbol: '₴'
UGX:
display_name: 'Ugandan shilling'
symbol: UGX
USD:
display_name: 'United States (US) dollar'
symbol: '$'
UYU:
display_name: 'Uruguayan peso'
symbol: '$'
UZS:
display_name: 'Uzbekistani som'
symbol: UZS
VEF:
display_name: 'Venezuelan bolívar'
symbol: 'Bs F'
VES:
display_name: 'Bolívar soberano'
symbol: Bs.S
VND:
display_name: 'Vietnamese đồng'
symbol: '₫'
VUV:
display_name: 'Vanuatu vatu'
symbol: Vt
WST:
display_name: 'Samoan tālā'
symbol: T
XAF:
display_name: 'Central African CFA franc'
symbol: CFA
XCD:
display_name: 'East Caribbean dollar'
symbol: '$'
XOF:
display_name: 'West African CFA franc'
symbol: CFA
XPF:
display_name: 'CFP franc'
symbol: Fr
YER:
display_name: 'Yemeni rial'
symbol: '﷼'
ZAR:
display_name: 'South African rand'
symbol: 'R'
ZMW:
display_name: 'Zambian kwacha'
symbol: ZK
properties:
AED:
type: object
properties:
display_name:
type: string
example: 'United Arab Emirates dirham'
symbol:
type: string
example: 'د.إ'
AFN:
type: object
properties:
display_name:
type: string
example: 'Afghan afghani'
symbol:
type: string
example: '؋'
ALL:
type: object
properties:
display_name:
type: string
example: 'Albanian lek'
symbol:
type: string
example: L
AMD:
type: object
properties:
display_name:
type: string
example: 'Armenian dram'
symbol:
type: string
example: AMD
ANG:
type: object
properties:
display_name:
type: string
example: 'Netherlands Antillean guilder'
symbol:
type: string
example: 'ƒ'
AOA:
type: object
properties:
display_name:
type: string
example: 'Angolan kwanza'
symbol:
type: string
example: Kz
ARS:
type: object
properties:
display_name:
type: string
example: 'Argentine peso'
symbol:
type: string
example: '$'
AUD:
type: object
properties:
display_name:
type: string
example: 'Australian dollar'
symbol:
type: string
example: '$'
AWG:
type: object
properties:
display_name:
type: string
example: 'Aruban florin'
symbol:
type: string
example: Afl.
AZN:
type: object
properties:
display_name:
type: string
example: 'Azerbaijani manat'
symbol:
type: string
example: AZN
BAM:
type: object
properties:
display_name:
type: string
example: 'Bosnia and Herzegovina convertible mark'
symbol:
type: string
example: KM
BBD:
type: object
properties:
display_name:
type: string
example: 'Barbadian dollar'
symbol:
type: string
example: '$'
BDT:
type: object
properties:
display_name:
type: string
example: 'Bangladeshi taka'
symbol:
type: string
example: '৳ '
BGN:
type: object
properties:
display_name:
type: string
example: 'Bulgarian lev'
symbol:
type: string
example: 'лв.'
BHD:
type: object
properties:
display_name:
type: string
example: 'Bahraini dinar'
symbol:
type: string
example: '.د.ب'
BIF:
type: object
properties:
display_name:
type: string
example: 'Burundian franc'
symbol:
type: string
example: Fr
BMD:
type: object
properties:
display_name:
type: string
example: 'Bermudian dollar'
symbol:
type: string
example: '$'
BND:
type: object
properties:
display_name:
type: string
example: 'Brunei dollar'
symbol:
type: string
example: '$'
BOB:
type: object
properties:
display_name:
type: string
example: 'Bolivian boliviano'
symbol:
type: string
example: Bs.
BRL:
type: object
properties:
display_name:
type: string
example: 'Brazilian real'
symbol:
type: string
example: 'R$'
BSD:
type: object
properties:
display_name:
type: string
example: 'Bahamian dollar'
symbol:
type: string
example: '$'
BTC:
type: object
properties:
display_name:
type: string
example: Bitcoin
symbol:
type: string
example: '฿'
BTN:
type: object
properties:
display_name:
type: string
example: 'Bhutanese ngultrum'
symbol:
type: string
example: Nu.
BWP:
type: object
properties:
display_name:
type: string
example: 'Botswana pula'
symbol:
type: string
example: P
BYR:
type: object
properties:
display_name:
type: string
example: 'Belarusian ruble (old)'
symbol:
type: string
example: Br
BYN:
type: object
properties:
display_name:
type: string
example: 'Belarusian ruble'
symbol:
type: string
example: Br
BZD:
type: object
properties:
display_name:
type: string
example: 'Belize dollar'
symbol:
type: string
example: '$'
CAD:
type: object
properties:
display_name:
type: string
example: 'Canadian dollar'
symbol:
type: string
example: '$'
CDF:
type: object
properties:
display_name:
type: string
example: 'Congolese franc'
symbol:
type: string
example: Fr
CHF:
type: object
properties:
display_name:
type: string
example: 'Swiss franc'
symbol:
type: string
example: 'CHF'
CLP:
type: object
properties:
display_name:
type: string
example: 'Chilean peso'
symbol:
type: string
example: '$'
CNY:
type: object
properties:
display_name:
type: string
example: 'Chinese yuan'
symbol:
type: string
example: '¥'
COP:
type: object
properties:
display_name:
type: string
example: 'Colombian peso'
symbol:
type: string
example: '$'
CRC:
type: object
properties:
display_name:
type: string
example: 'Costa Rican colón'
symbol:
type: string
example: '₡'
CUC:
type: object
properties:
display_name:
type: string
example: 'Cuban convertible peso'
symbol:
type: string
example: '$'
CUP:
type: object
properties:
display_name:
type: string
example: 'Cuban peso'
symbol:
type: string
example: '$'
CVE:
type: object
properties:
display_name:
type: string
example: 'Cape Verdean escudo'
symbol:
type: string
example: '$'
CZK:
type: object
properties:
display_name:
type: string
example: 'Czech koruna'
symbol:
type: string
example: 'Kč'
DJF:
type: object
properties:
display_name:
type: string
example: 'Djiboutian franc'
symbol:
type: string
example: Fr
DKK:
type: object
properties:
display_name:
type: string
example: 'Danish krone'
symbol:
type: string
example: DKK
DOP:
type: object
properties:
display_name:
type: string
example: 'Dominican peso'
symbol:
type: string
example: 'RD$'
DZD:
type: object
properties:
display_name:
type: string
example: 'Algerian dinar'
symbol:
type: string
example: 'د.ج'
EGP:
type: object
properties:
display_name:
type: string
example: 'Egyptian pound'
symbol:
type: string
example: EGP
ERN:
type: object
properties:
display_name:
type: string
example: 'Eritrean nakfa'
symbol:
type: string
example: Nfk
ETB:
type: object
properties:
display_name:
type: string
example: 'Ethiopian birr'
symbol:
type: string
example: Br
EUR:
type: object
properties:
display_name:
type: string
example: Euro
symbol:
type: string
example: '€'
FJD:
type: object
properties:
display_name:
type: string
example: 'Fijian dollar'
symbol:
type: string
example: '$'
FKP:
type: object
properties:
display_name:
type: string
example: 'Falkland Islands pound'
symbol:
type: string
example: '£'
GBP:
type: object
properties:
display_name:
type: string
example: 'Pound sterling'
symbol:
type: string
example: '£'
GEL:
type: object
properties:
display_name:
type: string
example: 'Georgian lari'
symbol:
type: string
example: '₾'
GGP:
type: object
properties:
display_name:
type: string
example: 'Guernsey pound'
symbol:
type: string
example: '£'
GHS:
type: object
properties:
display_name:
type: string
example: 'Ghana cedi'
symbol:
type: string
example: '₵'
GIP:
type: object
properties:
display_name:
type: string
example: 'Gibraltar pound'
symbol:
type: string
example: '£'
GMD:
type: object
properties:
display_name:
type: string
example: 'Gambian dalasi'
symbol:
type: string
example: D
GNF:
type: object
properties:
display_name:
type: string
example: 'Guinean franc'
symbol:
type: string
example: Fr
GTQ:
type: object
properties:
display_name:
type: string
example: 'Guatemalan quetzal'
symbol:
type: string
example: Q
GYD:
type: object
properties:
display_name:
type: string
example: 'Guyanese dollar'
symbol:
type: string
example: '$'
HKD:
type: object
properties:
display_name:
type: string
example: 'Hong Kong dollar'
symbol:
type: string
example: '$'
HNL:
type: object
properties:
display_name:
type: string
example: 'Honduran lempira'
symbol:
type: string
example: L
HRK:
type: object
properties:
display_name:
type: string
example: 'Croatian kuna'
symbol:
type: string
example: kn
HTG:
type: object
properties:
display_name:
type: string
example: 'Haitian gourde'
symbol:
type: string
example: G
HUF:
type: object
properties:
display_name:
type: string
example: 'Hungarian forint'
symbol:
type: string
example: 'Ft'
IDR:
type: object
properties:
display_name:
type: string
example: 'Indonesian rupiah'
symbol:
type: string
example: Rp
ILS:
type: object
properties:
display_name:
type: string
example: 'Israeli new shekel'
symbol:
type: string
example: '₪'
IMP:
type: object
properties:
display_name:
type: string
example: 'Manx pound'
symbol:
type: string
example: '£'
INR:
type: object
properties:
display_name:
type: string
example: 'Indian rupee'
symbol:
type: string
example: '₹'
IQD:
type: object
properties:
display_name:
type: string
example: 'Iraqi dinar'
symbol:
type: string
example: 'ع.د'
IRR:
type: object
properties:
display_name:
type: string
example: 'Iranian rial'
symbol:
type: string
example: '﷼'
IRT:
type: object
properties:
display_name:
type: string
example: 'Iranian toman'
symbol:
type: string
example: 'تومان'
ISK:
type: object
properties:
display_name:
type: string
example: 'Icelandic króna'
symbol:
type: string
example: kr.
JEP:
type: object
properties:
display_name:
type: string
example: 'Jersey pound'
symbol:
type: string
example: '£'
JMD:
type: object
properties:
display_name:
type: string
example: 'Jamaican dollar'
symbol:
type: string
example: '$'
JOD:
type: object
properties:
display_name:
type: string
example: 'Jordanian dinar'
symbol:
type: string
example: 'د.ا'
JPY:
type: object
properties:
display_name:
type: string
example: 'Japanese yen'
symbol:
type: string
example: '¥'
KES:
type: object
properties:
display_name:
type: string
example: 'Kenyan shilling'
symbol:
type: string
example: KSh
KGS:
type: object
properties:
display_name:
type: string
example: 'Kyrgyzstani som'
symbol:
type: string
example: 'сом'
KHR:
type: object
properties:
display_name:
type: string
example: 'Cambodian riel'
symbol:
type: string
example: '៛'
KMF:
type: object
properties:
display_name:
type: string
example: 'Comorian franc'
symbol:
type: string
example: Fr
KPW:
type: object
properties:
display_name:
type: string
example: 'North Korean won'
symbol:
type: string
example: '₩'
KRW:
type: object
properties:
display_name:
type: string
example: 'South Korean won'
symbol:
type: string
example: '₩'
KWD:
type: object
properties:
display_name:
type: string
example: 'Kuwaiti dinar'
symbol:
type: string
example: 'د.ك'
KYD:
type: object
properties:
display_name:
type: string
example: 'Cayman Islands dollar'
symbol:
type: string
example: '$'
KZT:
type: object
properties:
display_name:
type: string
example: 'Kazakhstani tenge'
symbol:
type: string
example: KZT
LAK:
type: object
properties:
display_name:
type: string
example: 'Lao kip'
symbol:
type: string
example: '₭'
LBP:
type: object
properties:
display_name:
type: string
example: 'Lebanese pound'
symbol:
type: string
example: 'ل.ل'
LKR:
type: object
properties:
display_name:
type: string
example: 'Sri Lankan rupee'
symbol:
type: string
example: 'රු'
LRD:
type: object
properties:
display_name:
type: string
example: 'Liberian dollar'
symbol:
type: string
example: '$'
LSL:
type: object
properties:
display_name:
type: string
example: 'Lesotho loti'
symbol:
type: string
example: L
LYD:
type: object
properties:
display_name:
type: string
example: 'Libyan dinar'
symbol:
type: string
example: 'ل.د'
MAD:
type: object
properties:
display_name:
type: string
example: 'Moroccan dirham'
symbol:
type: string
example: 'د.م.'
MDL:
type: object
properties:
display_name:
type: string
example: 'Moldovan leu'
symbol:
type: string
example: MDL
MGA:
type: object
properties:
display_name:
type: string
example: 'Malagasy ariary'
symbol:
type: string
example: Ar
MKD:
type: object
properties:
display_name:
type: string
example: 'Macedonian denar'
symbol:
type: string
example: 'ден'
MMK:
type: object
properties:
display_name:
type: string
example: 'Burmese kyat'
symbol:
type: string
example: Ks
MNT:
type: object
properties:
display_name:
type: string
example: 'Mongolian tögrög'
symbol:
type: string
example: '₮'
MOP:
type: object
properties:
display_name:
type: string
example: 'Macanese pataca'
symbol:
type: string
example: P
MRU:
type: object
properties:
display_name:
type: string
example: 'Mauritanian ouguiya'
symbol:
type: string
example: UM
MUR:
type: object
properties:
display_name:
type: string
example: 'Mauritian rupee'
symbol:
type: string
example: '₨'
MVR:
type: object
properties:
display_name:
type: string
example: 'Maldivian rufiyaa'
symbol:
type: string
example: '.ރ'
MWK:
type: object
properties:
display_name:
type: string
example: 'Malawian kwacha'
symbol:
type: string
example: MK
MXN:
type: object
properties:
display_name:
type: string
example: 'Mexican peso'
symbol:
type: string
example: '$'
MYR:
type: object
properties:
display_name:
type: string
example: 'Malaysian ringgit'
symbol:
type: string
example: 'RM'
MZN:
type: object
properties:
display_name:
type: string
example: 'Mozambican metical'
symbol:
type: string
example: MT
NAD:
type: object
properties:
display_name:
type: string
example: 'Namibian dollar'
symbol:
type: string
example: 'N$'
NGN:
type: object
properties:
display_name:
type: string
example: 'Nigerian naira'
symbol:
type: string
example: '₦'
NIO:
type: object
properties:
display_name:
type: string
example: 'Nicaraguan córdoba'
symbol:
type: string
example: 'C$'
NOK:
type: object
properties:
display_name:
type: string
example: 'Norwegian krone'
symbol:
type: string
example: 'kr'
NPR:
type: object
properties:
display_name:
type: string
example: 'Nepalese rupee'
symbol:
type: string
example: '₨'
NZD:
type: object
properties:
display_name:
type: string
example: 'New Zealand dollar'
symbol:
type: string
example: '$'
OMR:
type: object
properties:
display_name:
type: string
example: 'Omani rial'
symbol:
type: string
example: 'ر.ع.'
PAB:
type: object
properties:
display_name:
type: string
example: 'Panamanian balboa'
symbol:
type: string
example: B/.
PEN:
type: object
properties:
display_name:
type: string
example: Sol
symbol:
type: string
example: S/
PGK:
type: object
properties:
display_name:
type: string
example: 'Papua New Guinean kina'
symbol:
type: string
example: K
PHP:
type: object
properties:
display_name:
type: string
example: 'Philippine peso'
symbol:
type: string
example: '₱'
PKR:
type: object
properties:
display_name:
type: string
example: 'Pakistani rupee'
symbol:
type: string
example: '₨'
PLN:
type: object
properties:
display_name:
type: string
example: 'Polish złoty'
symbol:
type: string
example: 'zł'
PRB:
type: object
properties:
display_name:
type: string
example: 'Transnistrian ruble'
symbol:
type: string
example: 'р.'
PYG:
type: object
properties:
display_name:
type: string
example: 'Paraguayan guaraní'
symbol:
type: string
example: '₲'
QAR:
type: object
properties:
display_name:
type: string
example: 'Qatari riyal'
symbol:
type: string
example: 'ر.ق'
RON:
type: object
properties:
display_name:
type: string
example: 'Romanian leu'
symbol:
type: string
example: lei
RSD:
type: object
properties:
display_name:
type: string
example: 'Serbian dinar'
symbol:
type: string
example: 'дин.'
RUB:
type: object
properties:
display_name:
type: string
example: 'Russian ruble'
symbol:
type: string
example: '₽'
RWF:
type: object
properties:
display_name:
type: string
example: 'Rwandan franc'
symbol:
type: string
example: Fr
SAR:
type: object
properties:
display_name:
type: string
example: 'Saudi riyal'
symbol:
type: string
example: 'ر.س'
SBD:
type: object
properties:
display_name:
type: string
example: 'Solomon Islands dollar'
symbol:
type: string
example: '$'
SCR:
type: object
properties:
display_name:
type: string
example: 'Seychellois rupee'
symbol:
type: string
example: '₨'
SDG:
type: object
properties:
display_name:
type: string
example: 'Sudanese pound'
symbol:
type: string
example: 'ج.س.'
SEK:
type: object
properties:
display_name:
type: string
example: 'Swedish krona'
symbol:
type: string
example: 'kr'
SGD:
type: object
properties:
display_name:
type: string
example: 'Singapore dollar'
symbol:
type: string
example: '$'
SHP:
type: object
properties:
display_name:
type: string
example: 'Saint Helena pound'
symbol:
type: string
example: '£'
SLL:
type: object
properties:
display_name:
type: string
example: 'Sierra Leonean leone'
symbol:
type: string
example: Le
SOS:
type: object
properties:
display_name:
type: string
example: 'Somali shilling'
symbol:
type: string
example: Sh
SRD:
type: object
properties:
display_name:
type: string
example: 'Surinamese dollar'
symbol:
type: string
example: '$'
SSP:
type: object
properties:
display_name:
type: string
example: 'South Sudanese pound'
symbol:
type: string
example: '£'
STN:
type: object
properties:
display_name:
type: string
example: 'São Tomé and Príncipe dobra'
symbol:
type: string
example: Db
SYP:
type: object
properties:
display_name:
type: string
example: 'Syrian pound'
symbol:
type: string
example: 'ل.س'
SZL:
type: object
properties:
display_name:
type: string
example: 'Swazi lilangeni'
symbol:
type: string
example: L
THB:
type: object
properties:
display_name:
type: string
example: 'Thai baht'
symbol:
type: string
example: '฿'
TJS:
type: object
properties:
display_name:
type: string
example: 'Tajikistani somoni'
symbol:
type: string
example: 'ЅМ'
TMT:
type: object
properties:
display_name:
type: string
example: 'Turkmenistan manat'
symbol:
type: string
example: m
TND:
type: object
properties:
display_name:
type: string
example: 'Tunisian dinar'
symbol:
type: string
example: 'د.ت'
TOP:
type: object
properties:
display_name:
type: string
example: 'Tongan paʻanga'
symbol:
type: string
example: 'T$'
TRY:
type: object
properties:
display_name:
type: string
example: 'Turkish lira'
symbol:
type: string
example: '₺'
TTD:
type: object
properties:
display_name:
type: string
example: 'Trinidad and Tobago dollar'
symbol:
type: string
example: '$'
TWD:
type: object
properties:
display_name:
type: string
example: 'New Taiwan dollar'
symbol:
type: string
example: 'NT$'
TZS:
type: object
properties:
display_name:
type: string
example: 'Tanzanian shilling'
symbol:
type: string
example: Sh
UAH:
type: object
properties:
display_name:
type: string
example: 'Ukrainian hryvnia'
symbol:
type: string
example: '₴'
UGX:
type: object
properties:
display_name:
type: string
example: 'Ugandan shilling'
symbol:
type: string
example: UGX
USD:
type: object
properties:
display_name:
type: string
example: 'United States (US) dollar'
symbol:
type: string
example: '$'
UYU:
type: object
properties:
display_name:
type: string
example: 'Uruguayan peso'
symbol:
type: string
example: '$'
UZS:
type: object
properties:
display_name:
type: string
example: 'Uzbekistani som'
symbol:
type: string
example: UZS
VEF:
type: object
properties:
display_name:
type: string
example: 'Venezuelan bolívar'
symbol:
type: string
example: 'Bs F'
VES:
type: object
properties:
display_name:
type: string
example: 'Bolívar soberano'
symbol:
type: string
example: Bs.S
VND:
type: object
properties:
display_name:
type: string
example: 'Vietnamese đồng'
symbol:
type: string
example: '₫'
VUV:
type: object
properties:
display_name:
type: string
example: 'Vanuatu vatu'
symbol:
type: string
example: Vt
WST:
type: object
properties:
display_name:
type: string
example: 'Samoan tālā'
symbol:
type: string
example: T
XAF:
type: object
properties:
display_name:
type: string
example: 'Central African CFA franc'
symbol:
type: string
example: CFA
XCD:
type: object
properties:
display_name:
type: string
example: 'East Caribbean dollar'
symbol:
type: string
example: '$'
XOF:
type: object
properties:
display_name:
type: string
example: 'West African CFA franc'
symbol:
type: string
example: CFA
XPF:
type: object
properties:
display_name:
type: string
example: 'CFP franc'
symbol:
type: string
example: Fr
YER:
type: object
properties:
display_name:
type: string
example: 'Yemeni rial'
symbol:
type: string
example: '﷼'
ZAR:
type: object
properties:
display_name:
type: string
example: 'South African rand'
symbol:
type: string
example: 'R'
ZMW:
type: object
properties:
display_name:
type: string
example: 'Zambian kwacha'
symbol:
type: string
example: ZK
tags:
- ECommerce
security: []
/api/settings/ecommerce/general:
get:
summary: 'Retrieve General Ecommerce Settings'
operationId: retrieveGeneralEcommerceSettings
description: 'Retrieves the details of the general ecommerce settings. Helps in fetching items of the ecommerce settings, like country, city, address, location, etc(See Response)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
addressLine1: '1234 Lorem Ipsum Drive'
addressLine2: ''
country: US
state: ''
city: 'New Jersey'
zipcode: '08053'
selling_location: all_countries
some_countries_excluded: ''
some_countries: ''
enableTaxes: 'no'
enableCoupons: 'no'
currency: USD
properties:
addressLine1:
type: string
example: '1234 Lorem Ipsum Drive'
addressLine2:
type: string
example: ''
country:
type: string
example: US
state:
type: string
example: ''
city:
type: string
example: 'New Jersey'
zipcode:
type: string
example: '08053'
selling_location:
type: string
example: all_countries
some_countries_excluded:
type: string
example: ''
some_countries:
type: string
example: ''
enableTaxes:
type: string
example: 'no'
enableCoupons:
type: string
example: 'no'
currency:
type: string
example: USD
tags:
- ECommerce
security: []
put:
summary: 'Set General Ecommerce Settings'
operationId: setGeneralEcommerceSettings
description: 'To save the general Ecommerce settings with updated values, you need to use this request. (See parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Settings Updated'
properties:
message:
type: string
example: 'Settings Updated'
tags:
- ECommerce
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
addressLine1:
type: string
description: 'Address line1 of user.'
example: '1234 Lorem Ipsum Drive'
addressLine2:
type: string
description: 'Address line2 of user. Example:'
example: vel
city:
type: string
description: 'City of the user.'
example: 'New Jersey'
state:
type: string
description: 'State of the user. Example:'
example: quisquam
country:
type: string
description: 'Country of the user.'
example: country
currency:
type: string
description: "Currency of the user's country."
example: USD
enableCoupons:
type: string
description: 'If yes, coupons gets enabled for users.'
example: 'no'
enableTaxes:
type: string
description: 'If yes, taxes gets enabled for users.'
example: 'no'
zipcode:
type: string
description: 'Zipcode of the location of users.'
example: '08053'
selling_location:
type: string
description: 'Selling location.'
example: all_countries
required:
- addressLine1
- city
- state
- country
- currency
- enableCoupons
- enableTaxes
- zipcode
security: []
/api/get-shop-base-currency:
get:
summary: 'Retrieves Shop Base Currency'
operationId: retrievesShopBaseCurrency
description: 'Retrieves the currency set in the Ecommerce settings.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
display_name: 'United States (US) dollar'
symbol: '$'
properties:
display_name:
type: string
example: 'United States (US) dollar'
symbol:
type: string
example: '$'
tags:
- ECommerce
security: []
/api/orders/tabularlist:
get:
summary: 'Order Tabular List'
operationId: orderTabularList
description: "Returns all the orders in a tabular list format in paginated mode.\nYou can apply filter using search_param via user(purchased by) and status(status of the order)."
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '50'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '50'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
-
in: query
name: search_param
description: 'for searching items based on field names.'
example: '{"user":[],"status":[]}'
required: false
schema:
type: string
description: 'for searching items based on field names.'
example: '{"user":[],"status":[]}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 1
recordsFiltered: 1
currencySymbol: '$'
records:
-
id: 1
status: PENDING_PAYMENT
total: '3001.00'
isTestOrder: false
customer: 'Demo Student'
created_at: 'Aug 25, 2020 12:00 AM'
properties:
recordsTotal:
type: integer
example: 1
recordsFiltered:
type: integer
example: 1
currencySymbol:
type: string
example: '$'
records:
type: array
example:
-
id: 1
status: PENDING_PAYMENT
total: '3001.00'
isTestOrder: false
customer: 'Demo Student'
created_at: 'Aug 25, 2020 12:00 AM'
items:
type: object
properties:
id:
type: integer
example: 1
status:
type: string
example: PENDING_PAYMENT
total:
type: string
example: '3001.00'
isTestOrder:
type: boolean
example: false
customer:
type: string
example: 'Demo Student'
created_at:
type: string
example: 'Aug 25, 2020 12:00 AM'
tags:
- 'ECommerce Orders'
security: []
/api/order/download:
get:
summary: 'Retrieve/Download Order Invoice'
operationId: retrieveDownloadOrderInvoice
description: 'Retrieves the details of a specified order and returns as downloaded pdf file.'
parameters:
-
in: query
name: orderId
description: 'Order Id for which you need Invoice.'
example: '1'
required: true
schema:
type: string
description: 'Order Id for which you need Invoice.'
example: '1'
responses:
200:
description: ''
content:
application/json:
schema:
type: string
example: 'pdf file'
tags:
- 'ECommerce Orders'
security: []
/api/order/export:
get:
summary: 'Export Order'
operationId: exportOrder
description: "Retrieves all the orders made till date and exports it to excel format for letting users download it as excel file.\nYou can use the response for plotting graphs"
parameters:
-
in: query
name: filters
description: 'All the filters after which you need order details in a excel file (filters like date-range, product, customer name, payment status, coupon used, etc).'
example: '{"dateRange":["2020-07-31T18:30:00.000Z","2020-08-30T18:30:00.000Z"],"users":[3],"coupons":[],"products":[1],"status":["PENDING_PAYMENT"]}'
required: true
schema:
type: string
description: 'All the filters after which you need order details in a excel file (filters like date-range, product, customer name, payment status, coupon used, etc).'
example: '{"dateRange":["2020-07-31T18:30:00.000Z","2020-08-30T18:30:00.000Z"],"users":[3],"coupons":[],"products":[1],"status":["PENDING_PAYMENT"]}'
responses:
200:
description: ''
content:
application/json:
schema:
type: string
example: orders-text.xlsx
tags:
- 'ECommerce Orders'
security: []
/api/order/reports/yearsales:
get:
summary: 'Retrieve Yearly Sales'
operationId: retrieveYearlySales
description: "Retrieves the details of yearly based order sales made from students and returns in tabular form.\nYou can use the response for plotting graphs"
parameters:
-
in: query
name: year
description: 'Year for which you need sales information.'
example: '2019'
required: true
schema:
type: string
description: 'Year for which you need sales information.'
example: '2019'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
labels:
- Jan
- Feb
- Mar
- Apr
- May
- Jun
- Jul
- Aug
- Sep
- Oct
- Nov
- Dec
totalIncome:
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
totalOrders:
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
currency:
display_name: 'United States (US) dollar'
symbol: '$'
sumIncome: 0
sumTotalOrder: 0
properties:
labels:
type: array
example:
- Jan
- Feb
- Mar
- Apr
- May
- Jun
- Jul
- Aug
- Sep
- Oct
- Nov
- Dec
items:
type: string
totalIncome:
type: array
example:
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
items:
type: integer
totalOrders:
type: array
example:
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
items:
type: integer
currency:
type: object
properties:
display_name:
type: string
example: 'United States (US) dollar'
symbol:
type: string
example: '$'
sumIncome:
type: integer
example: 0
sumTotalOrder:
type: integer
example: 0
tags:
- 'ECommerce Orders'
security: []
/api/order/reports/monthlysales:
get:
summary: 'Retrieve Monthly Sales'
operationId: retrieveMonthlySales
description: "Retrieves the details of monthly based order sales for this year made from students and returns in tabular form.\nYou can use the response for plotting graphs"
parameters:
-
in: query
name: selectedMonth
description: 'Month for which you need sales information(month_number-year).'
example: 8-2020
required: true
schema:
type: string
description: 'Month for which you need sales information(month_number-year).'
example: 8-2020
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
labels:
- Aug-01
- Aug-02
- Aug-03
- Aug-04
- Aug-05
- Aug-06
- Aug-07
- Aug-08
- Aug-09
- Aug-10
- Aug-11
- Aug-12
- Aug-13
- Aug-14
- Aug-15
- Aug-16
- Aug-17
- Aug-18
- Aug-19
- Aug-20
- Aug-21
- Aug-22
- Aug-23
- Aug-24
- Aug-25
- Aug-26
- Aug-27
- Aug-28
- Aug-29
- Aug-30
- Aug-31
totalIncome:
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
totalOrders:
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
currency:
display_name: 'United States (US) dollar'
symbol: '$'
sumIncome: 0
sumTotalOrder: 0
properties:
labels:
type: array
example:
- Aug-01
- Aug-02
- Aug-03
- Aug-04
- Aug-05
- Aug-06
- Aug-07
- Aug-08
- Aug-09
- Aug-10
- Aug-11
- Aug-12
- Aug-13
- Aug-14
- Aug-15
- Aug-16
- Aug-17
- Aug-18
- Aug-19
- Aug-20
- Aug-21
- Aug-22
- Aug-23
- Aug-24
- Aug-25
- Aug-26
- Aug-27
- Aug-28
- Aug-29
- Aug-30
- Aug-31
items:
type: string
totalIncome:
type: array
example:
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
items:
type: integer
totalOrders:
type: array
example:
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
items:
type: integer
currency:
type: object
properties:
display_name:
type: string
example: 'United States (US) dollar'
symbol:
type: string
example: '$'
sumIncome:
type: integer
example: 0
sumTotalOrder:
type: integer
example: 0
tags:
- 'ECommerce Orders'
security: []
/api/order/reports/productbreakdown:
get:
summary: 'Retrieve Product Breakdown Sales'
operationId: retrieveProductBreakdownSales
description: "Retrieves the details of product break-down based order sales for this year made from students and returns in tabular form.\nYou can use the response for plotting graphs"
parameters:
-
in: query
name: selectedDateRange
description: 'Date Range for which you need sales information(year-month-date).'
example: '2022-08-21'
required: true
schema:
type: string
description: 'Date Range for which you need sales information(year-month-date).'
example: '2022-08-21'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
labels:
- Product-1
totalIncome:
- 0
totalOrders:
- 0
currency:
display_name: 'United States (US) dollar'
symbol: '$'
sumIncome: 0
sumTotalOrder: 0
properties:
labels:
type: array
example:
- Product-1
items:
type: string
totalIncome:
type: array
example:
- 0
items:
type: integer
totalOrders:
type: array
example:
- 0
items:
type: integer
currency:
type: object
properties:
display_name:
type: string
example: 'United States (US) dollar'
symbol:
type: string
example: '$'
sumIncome:
type: integer
example: 0
sumTotalOrder:
type: integer
example: 0
tags:
- 'ECommerce Orders'
security: []
/api/order/status/lookup:
get:
summary: 'Order Status Lookup'
operationId: orderStatusLookup
description: "Retrieves all the statuses of the order the platform offers completed, cancelled, failed, etc.\nHelps showing options in form elements like dropdowns."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
db_value: PENDING_PAYMENT
display_value: 'Payment Pending'
-
db_value: COMPLETED
display_value: Completed
-
db_value: CANCELLED
display_value: Cancelled
-
db_value: REFUNDED
display_value: Refunded
-
db_value: FAILED
display_value: Failed
tags:
- 'ECommerce Orders'
security: []
/api/order/delete:
post:
summary: 'Delete Order'
operationId: deleteOrder
description: "To delete a order, you need to use this request.\nReturns number of orders deleted. (See Response)"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: '2 order(s) deleted'
properties:
message:
type: string
example: '2 order(s) deleted'
tags:
- 'ECommerce Orders'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
delete_ids:
type: array
description: 'All order IDs which needs to be deleted.'
example:
- 1
- 5
items:
type: string
required:
- delete_ids
security: []
/api/order/create:
post:
summary: 'Create Order'
operationId: createOrder
description: "To create a order, you need to use this request. (See parameters)\nCreated order can be used as purchasing product by students.\n\nReturns : id of the order created and successfull message"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
message: 'Order created successfully'
properties:
id:
type: integer
example: 1
message:
type: string
example: 'Order created successfully'
tags:
- 'ECommerce Orders'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
orderDate:
type: date
description: 'Ordering date.'
example: '2020-08-25 0:00:00'
status:
type: string
description: 'Different status for the orders like pending, completed, failed, etc. Status options: PENDING_PAYMENT, COMPLETED, CANCELLED, REFUNDED or FAILED.'
example: PENDING_PAYMENT
customerId:
type: integer
description: 'Ordered by this user Id.'
example: 3
billingAddressId:
type: integer
description: 'Billing address Id.'
example: 3500
orderItems:
type: array
description: 'All added item for this order purchased together.'
example:
- reprehenderit
items:
type: string
orderNotes:
type: array
description: 'Notes either public or private while creating course(to remeber something, like normal note).'
example:
- fugiat
items:
type: string
taxAmount:
type: numeric
description: 'Tax amount.'
example: 'null'
otherFee:
type: numeric
description: 'Other extra fees.'
example: 'null'
required:
- orderDate
- status
- customerId
- orderItems
security: []
'/api/order/{id}':
get:
summary: 'Retrieve Order'
operationId: retrieveOrder
description: 'Retrieves the details of the specified order. Helps in fetching order using its ID. (See Parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
orderDate: 'Aug 25, 2020 12:00 AM'
status: PENDING_PAYMENT
customerId: 3
billingAddressId: null
taxAmount: '0.00'
otherFee: '0.00'
isTestOrder: false
total: '3001.00'
sub_total: '3001.00'
currency:
display_name: 'United States (US) dollar'
symbol: '$'
shopAddress:
shop_address_1: '1234 Lorem Ipsum Drive'
shop_address_2: ''
shop_city: 'New Jersey'
shop_country: US
shop_state: ''
shop_zipcode: '08053'
shop_name: 'Academy of mine'
shop_logo: 'http://localhost:8000/images/aom-logo.svg'
billingAddress:
id: -1
isDefault: false
fullName: ''
addressLine1: ''
addressLine2: ''
zipcode: ''
city: ''
state: ''
country: ''
orderNotes:
-
id: 1
data: note-1
type: PRIVATE
created_on: 'Aug 11, 2020 05:36 PM'
orderItems:
-
product_id: 1
product_title: Product-1
price: '3001.00'
quantity: 1
total: '3001.00'
properties:
orderDate:
type: string
example: 'Aug 25, 2020 12:00 AM'
status:
type: string
example: PENDING_PAYMENT
customerId:
type: integer
example: 3
billingAddressId:
type: string
example: null
taxAmount:
type: string
example: '0.00'
otherFee:
type: string
example: '0.00'
isTestOrder:
type: boolean
example: false
total:
type: string
example: '3001.00'
sub_total:
type: string
example: '3001.00'
currency:
type: object
properties:
display_name:
type: string
example: 'United States (US) dollar'
symbol:
type: string
example: '$'
shopAddress:
type: object
properties:
shop_address_1:
type: string
example: '1234 Lorem Ipsum Drive'
shop_address_2:
type: string
example: ''
shop_city:
type: string
example: 'New Jersey'
shop_country:
type: string
example: US
shop_state:
type: string
example: ''
shop_zipcode:
type: string
example: '08053'
shop_name:
type: string
example: 'Academy of mine'
shop_logo:
type: string
example: 'http://localhost:8000/images/aom-logo.svg'
billingAddress:
type: object
properties:
id:
type: integer
example: -1
isDefault:
type: boolean
example: false
fullName:
type: string
example: ''
addressLine1:
type: string
example: ''
addressLine2:
type: string
example: ''
zipcode:
type: string
example: ''
city:
type: string
example: ''
state:
type: string
example: ''
country:
type: string
example: ''
orderNotes:
type: array
example:
-
id: 1
data: note-1
type: PRIVATE
created_on: 'Aug 11, 2020 05:36 PM'
items:
type: object
properties:
id:
type: integer
example: 1
data:
type: string
example: note-1
type:
type: string
example: PRIVATE
created_on:
type: string
example: 'Aug 11, 2020 05:36 PM'
orderItems:
type: array
example:
-
product_id: 1
product_title: Product-1
price: '3001.00'
quantity: 1
total: '3001.00'
items:
type: object
properties:
product_id:
type: integer
example: 1
product_title:
type: string
example: Product-1
price:
type: string
example: '3001.00'
quantity:
type: integer
example: 1
total:
type: string
example: '3001.00'
tags:
- 'ECommerce Orders'
security: []
put:
summary: 'Update Order'
operationId: updateOrder
description: "Updates the details of a specified order. (See parameters)\nOrders can be used as purchasing products by students."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Order updated successfully'
properties:
message:
type: string
example: 'Order updated successfully'
tags:
- 'ECommerce Orders'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
orderDate:
type: date
description: 'Ordering date.'
example: '2020-08-25 0:00:00'
status:
type: string
description: 'Different status for the orders like pending, completed, failed, etc. Status options: PENDING_PAYMENT, COMPLETED, CANCELLED, REFUNDED or FAILED.'
example: COMPLETED
customerId:
type: integer
description: 'Ordered by this user Id.'
example: 3
billingAddressId:
type: integer
description: 'Billing address Id.'
example: 3500
orderItems:
type: array
description: 'All added item for this order purchased together.'
example:
- reiciendis
items:
type: string
orderNotes:
type: array
description: 'Notes either public or private while creating course(to remeber something, like normal note).'
example:
- illo
items:
type: string
taxAmount:
type: numeric
description: 'Tax amount.'
example: 'null'
otherFee:
type: numeric
description: 'Other extra fees.'
example: 'null'
required:
- orderDate
- status
- customerId
- orderItems
security: []
parameters:
-
in: path
name: id
description: 'ID of the order you want to fetch the details of.'
example: '1'
required: true
schema:
type: string
'/api/order/{id}/status':
put:
summary: 'Update Status of Order'
operationId: updateStatusOfOrder
description: "Updates the status of a specified order. (See parameters)\nOrders can be used as purchasing products by students."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Order updated successfully'
properties:
message:
type: string
example: 'Order updated successfully'
tags:
- 'ECommerce Orders'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: 'Different status for the orders like pending, completed, failed, etc. Status options: PENDING_PAYMENT, COMPLETED, CANCELLED, REFUNDED or FAILED.'
example: COMPLETED
required:
- status
security: []
parameters:
-
in: path
name: id
description: 'ID of the order.'
example: '1'
required: true
schema:
type: string
/api/order-note/create:
post:
summary: 'Create Order Notes'
operationId: createOrderNotes
description: "To create a order note, you need to use this request. (See parameters)\nCreated order notes can be used as remebering assets for Instructor while creating/editing order.\n\nReturns : id, type and data of the order notes created. (See Response)"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
id: 1
data: note-1
type: PRIVATE
created_on: 'Aug 11, 2020 05:36 PM'
-
id: 2
data: 'New notes'
type: PRIVATE
created_on: 'Aug 11, 2020 06:04 PM'
tags:
- 'ECommerce Orders'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
data:
type: string
description: 'Actual content of the note.'
example: 'This order is just for testing purpose'
orderId:
type: integer
description: 'ID of the order in which this note is being created.'
example: 1
type:
type: string
description: 'Type of the note. Type options: Public or Private.'
example: PRIVATE
required:
- data
- orderId
- type
security: []
'/api/order-note/delete/{id}':
put:
summary: 'Delete Order Note'
operationId: deleteOrderNote
description: "To delete a order note, you need to use this request.\nReturns all order notes left after this note gets deleted. (See Response)"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
id: 1
data: note-1
type: PRIVATE
created_on: 'Aug 11, 2020 05:36 PM'
tags:
- 'ECommerce Orders'
security: []
parameters:
-
in: path
name: id
description: 'Order Note ID which needs to be deleted.'
example: '2'
required: true
schema:
type: string
/api/order/refund/lookup:
get:
summary: ''
operationId: getApiOrderRefundLookup
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'ECommerce Orders'
security: []
/api/order/note/type/lookup:
get:
summary: ''
operationId: getApiOrderNoteTypeLookup
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'ECommerce Orders'
security: []
/api/order/refund/type/lookup:
get:
summary: ''
operationId: getApiOrderRefundTypeLookup
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'ECommerce Orders'
security: []
/api/order/refund:
post:
summary: ''
operationId: postApiOrderRefund
description: ''
parameters: []
responses: { }
tags:
- 'ECommerce Orders'
security: []
'/api/order/refund/{id}':
get:
summary: ''
operationId: getApiOrderRefundId
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'ECommerce Orders'
security: []
/api/settings/payment-gateway:
get:
summary: 'Retrieve Payment gateways'
operationId: retrievePaymentGateways
description: 'Retrieves all payment gateways details supported by the platform. (See Parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
records:
-
id: 1
name: Stripe
logo_url: /images/stripe-logo.svg
is_enabled: true
support_recurring_payments: false
-
id: 2
name: 'Authorize .NET CIM'
logo_url: /images/anet-logo.svg
is_enabled: false
support_recurring_payments: false
properties:
records:
type: array
example:
-
id: 1
name: Stripe
logo_url: /images/stripe-logo.svg
is_enabled: true
support_recurring_payments: false
-
id: 2
name: 'Authorize .NET CIM'
logo_url: /images/anet-logo.svg
is_enabled: false
support_recurring_payments: false
items:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: Stripe
logo_url:
type: string
example: /images/stripe-logo.svg
is_enabled:
type: boolean
example: true
support_recurring_payments:
type: boolean
example: false
tags:
- 'ECommerce Payments'
security: []
/api/paymentmethod/updateStatus:
put:
summary: 'Update Gateway Status'
operationId: updateGatewayStatus
description: 'Updates the payment gateway status(enabled or disabled) to receive payment from students/users.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Settings Updated'
properties:
message:
type: string
example: 'Settings Updated'
tags:
- 'ECommerce Payments'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: integer
description: 'ID of the Payement Gateway.'
example: 1
status:
type: boolean
description: 'Whether this payment gateway is enabled or not.'
example: false
required:
- id
- status
security: []
/api/settings/stripe:
put:
summary: 'Update Stripe Settings'
operationId: updateStripeSettings
description: 'Updates the settings for Stripe payment gateway. Setting needs to be updated is mentioned in parameter. (See Parameter)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Settings Updated'
properties:
message:
type: string
example: 'Settings Updated'
tags:
- 'ECommerce Payments'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
gatewayEnabled:
type: boolean
description: 'Enable status of stripe gateway.'
example: true
paymentTitle:
type: string
description: 'Payment title for the payments.'
example: 'Pay by Credit or Debit Card'
livePublishableKey:
type: string
description: 'Live publishable key value. Example:'
example: est
liveSecretKey:
type: string
description: 'Live secret key value. Example:'
example: consequatur
required:
- gatewayEnabled
security: []
get:
summary: 'Retrieve Stripe Settings'
operationId: retrieveStripeSettings
description: 'Retrieves all the settings for Stripe payment gateway. Helps in mainting the data and enable status of the stripe settings.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
gatewayEnabled: false
paymentTitle: 'Pay by Credit or Debit Card'
livePublishableKey: ''
liveSecretKey: ''
properties:
gatewayEnabled:
type: boolean
example: false
paymentTitle:
type: string
example: 'Pay by Credit or Debit Card'
livePublishableKey:
type: string
example: ''
liveSecretKey:
type: string
example: ''
tags:
- 'ECommerce Payments'
security: []
/api/settings/authorizenet:
put:
summary: 'Update AuthorizeNet Settings'
operationId: updateAuthorizeNetSettings
description: 'Updates the settings for AuthorizeNet payment gateway. Setting needs to be updated is mentioned in parameter. (See Parameter)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Settings Updated'
properties:
message:
type: string
example: 'Settings Updated'
tags:
- 'ECommerce Payments'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
gatewayEnabled:
type: boolean
description: 'Enable status of AuthorizeNet gateway.'
example: true
paymentTitle:
type: string
description: 'Payment title for the payments.'
example: 'Pay via Authorize.NET'
transactionKey:
type: string
description: 'Transaction key value.'
example: 'no'
loginId:
type: string
description: 'Login Id from AuthorizeNet. Example:'
example: est
clientId:
type: string
description: 'Client Id from AuthorizeNet. Example:'
example: neque
required:
- gatewayEnabled
security: []
get:
summary: 'Retrieve AuthorizeNet Settings'
operationId: retrieveAuthorizeNetSettings
description: 'Retrieves all the settings for AuthorizeNet payment gateway. Helps in maintaining the data and enable status of the AuthorizeNet settings.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
gatewayEnabled: false
paymentTitle: 'Pay via Authorize.NET'
loginId: ''
transactionKey: 'no'
clientId: ''
properties:
gatewayEnabled:
type: boolean
example: false
paymentTitle:
type: string
example: 'Pay via Authorize.NET'
loginId:
type: string
example: ''
transactionKey:
type: string
example: 'no'
clientId:
type: string
example: ''
tags:
- 'ECommerce Payments'
security: []
/api/settings/braintree:
put:
summary: 'Update BrainTree Settings'
operationId: updateBrainTreeSettings
description: 'Updates the settings for BrainTree payment gateway. Setting needs to be updated is mentioned in parameter. (See Parameter)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Settings Updated'
properties:
message:
type: string
example: 'Settings Updated'
tags:
- 'ECommerce Payments'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
gatewayEnabled:
type: boolean
description: 'Enable status of stripe gateway.'
example: true
paymentTitle:
type: string
description: 'Payment title for the payments.'
example: 'Pay by Credit or Debit Card'
merchantId:
type: string
description: 'Merchant Id value. Example:'
example: modi
publicKey:
type: string
description: 'Public Key value. Example:'
example: corporis
privateKey:
type: string
description: 'Private key value. Example:'
example: odio
required:
- gatewayEnabled
security: []
get:
summary: 'Retrieve Braintree Settings'
operationId: retrieveBraintreeSettings
description: 'Retrieves all the settings for Braintree payment gateway. Helps in mainting the data and enable status of the Braintree settings.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
gatewayEnabled: false
paymentTitle: 'Pay by Credit or Debit Card'
merchantId: ''
publicKey: ''
privateKey: ''
properties:
gatewayEnabled:
type: boolean
example: false
paymentTitle:
type: string
example: 'Pay by Credit or Debit Card'
merchantId:
type: string
example: ''
publicKey:
type: string
example: ''
privateKey:
type: string
example: ''
tags:
- 'ECommerce Payments'
security: []
/api/settings/paypal:
get:
summary: 'Retrieve Paypal Settings'
operationId: retrievePaypalSettings
description: 'Retrieves all the settings for Paypal payment gateway. Helps in mainting the data and enable status of the PAypal settings.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
gatewayEnabled: false
paymentTitle: 'Pay by PayPal'
notificationUrl: 'https://staging.aomlms.com/api/webhook/paypal'
clientId: ''
secretKey: ''
properties:
gatewayEnabled:
type: boolean
example: false
paymentTitle:
type: string
example: 'Pay by PayPal'
notificationUrl:
type: string
example: 'https://staging.aomlms.com/api/webhook/paypal'
clientId:
type: string
example: ''
secretKey:
type: string
example: ''
tags:
- 'ECommerce Payments'
security: []
put:
summary: 'Update Paypal'
operationId: updatePaypal
description: 'Updates the settings for Paypal payment gateway. Setting needs to be updated is mentioned in parameter. (See Parameter)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Settings Updated'
properties:
message:
type: string
example: 'Settings Updated'
tags:
- 'ECommerce Payments'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
clientId:
type: string
description: 'The Client ID of the paypal.'
example: abc1234
gatewayEnabled:
type: boolean
description: .
example: false
notificationUrl:
type: string
description: 'Notification Url.'
example: 'https://staging.aomlms.com/api/webhook/paypal'
paymentTitle:
type: string
description: 'The title of the payment gateway. This controls the title which user sees during checkout.'
example: '3500'
secretKey:
type: string
description: 'API key. Get your API key using your Paypal account.'
example: abc123
required:
- clientId
- gatewayEnabled
- paymentTitle
- secretKey
security: []
/api/settings/invoice:
put:
summary: 'Update Invoice Settings'
operationId: updateInvoiceSettings
description: 'Updates the settings for Invoice payment gateway.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Settings Updated'
properties:
message:
type: string
example: 'Settings Updated'
tags:
- 'ECommerce Payments'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
gatewayEnabled:
type: boolean
description: 'Enable status of Invoice gateway.'
example: true
paymentTitle:
type: string
description: 'Payment title for the payments.'
example: 'Pay by Invoice'
paymentInstuctions:
type: string
description: 'Payment instructions for the payments. Accepts HTML.'
example: 'We will invoice you.'
paymentRestrictToGroups:
type: boolean
description: 'Allow all users to use payment method or restrict to groups only.'
example: true
required:
- gatewayEnabled
security: []
get:
summary: 'Retrieve Invoice Settings'
operationId: retrieveInvoiceSettings
description: 'Retrieves all the settings for Invoice payment gateway. Helps in maintaining the data and enable status of the invoice settings.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
gatewayEnabled: false
paymentTitle: 'Pay by Invoice'
paymentInstructions: 'We will send an invoice.'
paymentRestrictToGroups: true
properties:
gatewayEnabled:
type: boolean
example: false
paymentTitle:
type: string
example: 'Pay by Invoice'
paymentInstructions:
type: string
example: 'We will send an invoice.'
paymentRestrictToGroups:
type: boolean
example: true
tags:
- 'ECommerce Payments'
security: []
/api/products/catalog:
get:
summary: 'Retrieve Product Catalog'
operationId: retrieveProductCatalog
description: "Retrieves the details for the product catalogs in paginated form to show this to students as course catalog so that they can purchase the product hence course. (See Parameters)\nYou can apply filter using search_param via title(product title) and categories."
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '50'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '50'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
-
in: query
name: search_param
description: 'For searching items based on field names.'
example: '{"title":"","categories":[]}'
required: false
schema:
type: string
description: 'For searching items based on field names.'
example: '{"title":"","categories":[]}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 1
recordsFiltered: 1
records:
-
id: 1
title: Product-1
slug: product-1
featuredImage: null
displayPrice: '$3500 $3001'
status: IN-STOCK
label: SALE
canBePurchased: true
seo_description: null
properties:
recordsTotal:
type: integer
example: 1
recordsFiltered:
type: integer
example: 1
records:
type: array
example:
-
id: 1
title: Product-1
slug: product-1
featuredImage: null
displayPrice: '$3500 $3001'
status: IN-STOCK
label: SALE
canBePurchased: true
seo_description: null
items:
type: object
properties:
id:
type: integer
example: 1
title:
type: string
example: Product-1
slug:
type: string
example: product-1
featuredImage:
type: string
example: null
displayPrice:
type: string
example: '$3500 $3001'
status:
type: string
example: IN-STOCK
label:
type: string
example: SALE
canBePurchased:
type: boolean
example: true
seo_description:
type: string
example: null
tags:
- 'ECommerce Products'
security: []
/api/products/calendar-catalog:
get:
summary: 'Product Calender'
operationId: productCalender
description: 'Retrieve classes with specified search parameters.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
records:
-
id: 11
courseId: 9
classId: 3
courseName: 'Test ILT course'
location: 'Cherry Hill'
locationId: 2
start: '2024-01-03 08:00:14'
end: '2024-01-03 10:00:19'
instructor: 'Test Staff'
class: blue
price: 12
displayPrice: '$12'
canBePurchased: true
status: IN-STOCK
subscription_price: null
price_frequency: MONTHLY
label: ''
display_label: ''
title: 'Test LTI Course'
properties:
records:
type: array
example:
-
id: 11
courseId: 9
classId: 3
courseName: 'Test ILT course'
location: 'Cherry Hill'
locationId: 2
start: '2024-01-03 08:00:14'
end: '2024-01-03 10:00:19'
instructor: 'Test Staff'
class: blue
price: 12
displayPrice: '$12'
canBePurchased: true
status: IN-STOCK
subscription_price: null
price_frequency: MONTHLY
label: ''
display_label: ''
title: 'Test LTI Course'
items:
type: object
properties:
id:
type: integer
example: 11
courseId:
type: integer
example: 9
classId:
type: integer
example: 3
courseName:
type: string
example: 'Test ILT course'
location:
type: string
example: 'Cherry Hill'
locationId:
type: integer
example: 2
start:
type: string
example: '2024-01-03 08:00:14'
end:
type: string
example: '2024-01-03 10:00:19'
instructor:
type: string
example: 'Test Staff'
class:
type: string
example: blue
price:
type: integer
example: 12
displayPrice:
type: string
example: '$12'
canBePurchased:
type: boolean
example: true
status:
type: string
example: IN-STOCK
subscription_price:
type: string
example: null
price_frequency:
type: string
example: MONTHLY
label:
type: string
example: ''
display_label:
type: string
example: ''
title:
type: string
example: 'Test LTI Course'
tags:
- 'ECommerce Products'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
startDate:
type: string
description: 'The start date of the class.'
example: '"2023-12-31T18:30:00.000Z"'
endDate:
type: string
description: 'The end date of the class.'
example: '"2024-01-30T18:30:00.000Z"'
search_param:
type: string
description: 'JSON-encoded string containing various search parameters.'
example: reprehenderit
'search_param[title]':
type: string
description: 'The title of the classes to search for.'
example: '"Professional Development"'
'search_param[ids]':
type: array|null
description: 'An array of event IDs to filter by.'
example: eum
'search_param[selectedPrice]':
type: array
description: 'An array of selected price options.'
example:
- et
items:
type: string
'search_param[productCategories]':
type: array
description: 'An array of product categories to filter classes by.'
example:
- eius
items:
type: string
'search_param[selectedProductCategories]':
type: string
description: 'The strategy for including/excluding product categories.'
example: '"include"'
'search_param[layout]':
type: string
description: 'The layout type for displaying classes.'
example: '"card"'
'search_param[sort_order]':
type: string
description: 'The sort order for classes.'
example: '"created_at"'
'search_param[sort_direction]':
type: string
description: 'The sort direction for classes.'
example: '"desc"'
'search_param[categoriesName]':
type: string
description: 'The name of categories to filter classes by.'
example: '"Category Name"'
'search_param[location]':
type: string
description: 'The location to filter classes by.'
example: '"Cherry Hill"'
'search_param[date]':
type: string
description: 'The date to filter classes by.'
example: '"2024-01-15"'
'search_param[position]':
type: string
description: 'The position for displaying classes.'
example: '"top"'
'search_param[selectedProducts]':
type: string
description: 'The strategy for including/excluding selected products.'
example: '"include"'
'search_param[showFilter]':
type: string
description: 'Whether to show filters.'
example: '"yes"'
'search_param[showFilterType]':
type: array
description: 'An array of filter types to show.'
example:
- Price
- Name
- Category
items:
type: string
security: []
'/api/product/{id}':
get:
summary: 'Retrieve Product'
operationId: retrieveProduct
description: 'Retrieves the details of the specified product. Helps in fetching product using its ID. (See Parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
title: Product-1
slug: product-1
description: 'Course 1 product'
featuredImageUrl: null
regular_price: 3500
type: SIMPLE
sale_price: 3001
saleStartDate: null
saleEndDate: null
status: IN-STOCK
expiry: '2020-10-29'
taxIncluded: false
taxBasedOn: CUSTOMER-BILLING-ADDR
seo_title: null
seo_description: null
displayPrice: '$3500 $3001'
canBePurchased: true
label: SALE
categories: []
courses:
-
value: 1
label: 'course 1'
courseCategories: []
properties:
title:
type: string
example: Product-1
slug:
type: string
example: product-1
description:
type: string
example: 'Course 1 product'
featuredImageUrl:
type: string
example: null
regular_price:
type: integer
example: 3500
type:
type: string
example: SIMPLE
sale_price:
type: integer
example: 3001
saleStartDate:
type: string
example: null
saleEndDate:
type: string
example: null
status:
type: string
example: IN-STOCK
expiry:
type: string
example: '2020-10-29'
taxIncluded:
type: boolean
example: false
taxBasedOn:
type: string
example: CUSTOMER-BILLING-ADDR
seo_title:
type: string
example: null
seo_description:
type: string
example: null
displayPrice:
type: string
example: '$3500 $3001'
canBePurchased:
type: boolean
example: true
label:
type: string
example: SALE
categories:
type: array
example: []
courses:
type: array
example:
-
value: 1
label: 'course 1'
items:
type: object
properties:
value:
type: integer
example: 1
label:
type: string
example: 'course 1'
courseCategories:
type: array
example: []
tags:
- 'ECommerce Products'
security: []
put:
summary: 'Update Product'
operationId: updateProduct
description: "Updates the details of a specified product. (See parameters)\nProduct can be used while attaching course to product so that you can sell the course to students."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Product updated successfully'
properties:
message:
type: string
example: 'Product updated successfully'
tags:
- 'ECommerce Products'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
title:
type: string
description: 'Name of the product.'
example: Product-1
description:
type: string
description: 'Description for the product.'
example: 'Course 1 product'
featuredImageUrl:
type: string
description: 'Featured Image for the product.'
example: 'https://www.aom-images.com/product.jpeg'
regular_price:
type: numeric
description: 'Regular price for the Simple product.'
example: '3500'
type:
type: string
description: 'Type of the product. Type options: SIMPLE or SUBSCRIPTION.'
example: SIMPLE
sale_price:
type: numeric
description: 'Selling price for the product.'
example: '3001'
saleStartDate:
type: date
description: 'Sale start date for the product.'
example: 'null'
saleEndDate:
type: date
description: 'Sale end date for the product.'
example: 'null'
status:
type: string
description: 'Status for the product. Status options: COMING-SOON, IN-STOCK or OUT-OF-STOCK.'
example: IN-STOCK
expiry:
type: date
description: 'On this date this product will get expired.'
example: '2020-10-29 0:00:00'
categories:
type: array
description: 'Category for this product.'
example: []
items:
type: string
courses:
type: array
description: 'Courses that you want to attach to this product.'
example:
- qui
items:
type: string
courseCategories:
type: array
description: 'This category related courses will be attached to this product.'
example: []
items:
type: string
seo_title:
type: string
description: 'SEO title for the product.'
example: awesome-product
seo_description:
type: string
description: 'SEO description for the product.'
example: 'includes many good courses'
subscription_price:
type: numeric
description: 'Subscription price for the product for the product type Subscription.'
example: '3500'
price_frequency:
type: string
description: 'Price Frequency to be charged for Subscription product. Price Frequency Options: DAILY, WEEKLY, MONTHLY or YEARLY.'
example: WEEKLY
free_trial_value:
type: numeric
description: 'Free Trail for the Subscription product.'
example: '5'
free_trial_frequency:
type: string
description: 'Free Trail Frequency for the subscription product in which the product will be available for free. Free Trail Frequency Options: DAYS, WEEKS, MONTHS, YEARS.'
example: Months
catalog_rank:
type: numeric
description: 'The order in which you want to display the product in product catalog. 1 is the highest rank.'
example: '5'
subscription_expire_after:
type: date
description: 'On this date this subscription product will get expired.'
example: 'null'
required:
- title
- description
- regular_price
- type
- status
- subscription_price
- price_frequency
security: []
parameters:
-
in: path
name: id
description: 'ID of the product you want to fetch the details of.'
example: '1'
required: true
schema:
type: string
/api/products/get-class-dates:
get:
summary: 'Retrieve Class Dates'
operationId: retrieveClassDates
description: 'Retrieves the details of a specified product. Helps in fetching a dates using its loaction ID and product ID. (See Parameters)'
parameters:
-
in: query
name: location_id
description: 'The number of the items you want for a page.'
example: 1
required: false
schema:
type: integer
description: 'The number of the items you want for a page.'
example: 1
-
in: query
name: product_id
description: 'The ID of the product.'
example: '1'
required: false
schema:
type: string
description: 'The ID of the product.'
example: '1'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
dates:
-
id: 57
courseId: 34
locationName: 'Cherry Hill'
locationId: 2
startDate: '2024-01-12T04:00:00.000000Z'
startDateTime: '2024-01-12T04:00:00.000000Z'
enddDateTime: '2024-01-31T11:00:00.000000Z'
dates: '11-Jan-2024 - 31-Jan-2024 (09:00 PM - 04:00 AM)'
-
id: 58
courseId: 34
locationName: 'Cherry Hill'
locationId: 2
startDate: '2024-01-31T09:00:00.000000Z'
startDateTime: '2024-01-31T09:00:00.000000Z'
enddDateTime: '2024-02-07T18:09:00.000000Z'
dates: '31-Jan-2024 - 07-Feb-2024 (02:00 AM - 11:09 AM)'
properties:
dates:
type: array
example:
-
id: 57
courseId: 34
locationName: 'Cherry Hill'
locationId: 2
startDate: '2024-01-12T04:00:00.000000Z'
startDateTime: '2024-01-12T04:00:00.000000Z'
enddDateTime: '2024-01-31T11:00:00.000000Z'
dates: '11-Jan-2024 - 31-Jan-2024 (09:00 PM - 04:00 AM)'
-
id: 58
courseId: 34
locationName: 'Cherry Hill'
locationId: 2
startDate: '2024-01-31T09:00:00.000000Z'
startDateTime: '2024-01-31T09:00:00.000000Z'
enddDateTime: '2024-02-07T18:09:00.000000Z'
dates: '31-Jan-2024 - 07-Feb-2024 (02:00 AM - 11:09 AM)'
items:
type: object
properties:
id:
type: integer
example: 57
courseId:
type: integer
example: 34
locationName:
type: string
example: 'Cherry Hill'
locationId:
type: integer
example: 2
startDate:
type: string
example: '2024-01-12T04:00:00.000000Z'
startDateTime:
type: string
example: '2024-01-12T04:00:00.000000Z'
enddDateTime:
type: string
example: '2024-01-31T11:00:00.000000Z'
dates:
type: string
example: '11-Jan-2024 - 31-Jan-2024 (09:00 PM - 04:00 AM)'
tags:
- 'ECommerce Products'
security: []
/api/products:
get:
summary: 'Retrieve Products'
operationId: retrieveProducts
description: 'Retrieves the details of all products. Helps in fetching entire products in the account. (See Response)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
id: 1
title: Product-1
slug: product-1
description: 'Course 1 product'
featured_image_url: null
regular_price: 3500
sale_price: 3001
sale_price_from: null
sale_price_to: null
status: IN-STOCK
type: SIMPLE
price_frequency: null
site-wide-membership: null
expired_at: '2020-10-29 00:00:00'
price_includes_tax: false
tax_rate_based_on: CUSTOMER-BILLING-ADDR
seo_title: null
seo_description: null
created_by: 1
updated_by: null
deleted_by: null
created_at: '2020-08-11 14:12:27'
updated_at: '2020-08-11 14:12:27'
deleted_at: null
tags:
- 'ECommerce Products'
security: []
/api/product/type/lookup:
get:
summary: 'Product Types Lookup'
operationId: productTypesLookup
description: "Retrieves all the types of the product the platform offers.\nHelps showing options in form elements like dropdowns."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
db_value: SIMPLE
display_value: Simple
-
db_value: SUBSCRIPTION
display_value: Subscription
tags:
- 'ECommerce Products'
security: []
'/api/products/update-slug/{id}':
put:
summary: 'Update Slug'
operationId: updateSlug
description: "Updates the slug of the product.\nExample - old-awesome-product to new-awesome-product"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: string
example: new-product-1
tags:
- 'ECommerce Products'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
slug:
type: required
description: 'New slug for the product.'
example: new-product-1
security: []
parameters:
-
in: path
name: id
description: 'The ID of the product.'
example: '1'
required: true
schema:
type: string
/api/product/status/lookup:
get:
summary: 'Product Status Lookup'
operationId: productStatusLookup
description: "Retrieves all the statuses of the product the platform offers like in-stock, out-of-stock, coming-soon.\nHelps showing options in form elements like dropdowns."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
db_value: COMING-SOON
display_value: 'Coming Soon'
-
db_value: IN-STOCK
display_value: 'In Stock'
-
db_value: OUT-OF-STOCK
display_value: 'Out of Stock'
tags:
- 'ECommerce Products'
security: []
/api/products/tabularlist:
get:
summary: 'Product Tabular List'
operationId: productTabularList
description: "Returns all the products in a tabular list format in paginated mode.\nYou can apply filter using search_param via title, productStatus(in-stock, out-of-stock, etc) and productCategoryIds."
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '50'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '50'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
-
in: query
name: search_param
description: 'Searching items based on field names.'
example: '{"title":"","productStatus":[],"productCategoryIds":[]}'
required: false
schema:
type: string
description: 'Searching items based on field names.'
example: '{"title":"","productStatus":[],"productCategoryIds":[]}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 1
recordsFiltered: 1
records:
-
id: 1
title: Product-1
regular_price: 3500
type: SIMPLE
status: IN-STOCK
created_at: 'Aug 11, 2020 02:12 PM'
properties:
recordsTotal:
type: integer
example: 1
recordsFiltered:
type: integer
example: 1
records:
type: array
example:
-
id: 1
title: Product-1
regular_price: 3500
type: SIMPLE
status: IN-STOCK
created_at: 'Aug 11, 2020 02:12 PM'
items:
type: object
properties:
id:
type: integer
example: 1
title:
type: string
example: Product-1
regular_price:
type: integer
example: 3500
type:
type: string
example: SIMPLE
status:
type: string
example: IN-STOCK
created_at:
type: string
example: 'Aug 11, 2020 02:12 PM'
tags:
- 'ECommerce Products'
security: []
/api/products/lookup:
get:
summary: 'Product Lookup'
operationId: productLookup
description: "Retrieves all the products in list format. Helps while showing products in form elements like dropdown.\nYou can apply filters using search_term parameter. (See Parameter)"
parameters:
-
in: query
name: search_term
description: 'You need to provide products title or substring of the products title to search.'
example: cum
required: true
schema:
type: string
description: 'You need to provide products title or substring of the products title to search.'
example: cum
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
id: 1
title: Product-1
tags:
- 'ECommerce Products'
security: []
/api/product/create:
post:
summary: 'Create Product'
operationId: createProduct
description: "To create a product, you need to use this request. (See parameters)\nCreated product can be used while attaching course to product so that you can sell the course to students.\n\nReturns : id of the product created and successfull message"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
message: 'Product created successfully'
properties:
id:
type: integer
example: 1
message:
type: string
example: 'Product created successfully'
tags:
- 'ECommerce Products'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
title:
type: string
description: 'Name of the product.'
example: Product-1
description:
type: string
description: 'Description for the product.'
example: 'Course 1 product'
featuredImageUrl:
type: string
description: 'Featured Image for the product.'
example: 'https://www.aom-images.com/product.jpeg'
regular_price:
type: numeric
description: 'Regular price for the Simple product.'
example: '3500'
type:
type: string
description: 'Type of the product. Type options: SIMPLE or SUBSCRIPTION.'
example: SIMPLE
sale_price:
type: numeric
description: 'Selling price for the product.'
example: '3001'
saleStartDate:
type: date
description: 'Sale start date for the product.'
example: 'null'
saleEndDate:
type: date
description: 'Sale end date for the product.'
example: 'null'
status:
type: string
description: 'Status for the product. Status options: COMING-SOON, IN-STOCK or OUT-OF-STOCK.'
example: IN-STOCK
expiry_date:
type: date
description: 'On this date this product will get expired.'
example: '2020-10-29 0:00:00'
categories:
type: array
description: 'Category for this product.'
example: []
items:
type: string
courses:
type: array
description: 'Courses that you want to attach to this product.'
example:
- et
items:
type: string
courseCategories:
type: array
description: 'This category related courses will be attached to this product.'
example: []
items:
type: string
seo_title:
type: string
description: 'SEO title for the product.'
example: awesome-product
seo_description:
type: string
description: 'SEO description for the product.'
example: 'includes many good courses'
subscription_price:
type: numeric
description: 'Subscription price for the product for the product type Subscription.'
example: '3500'
price_frequency:
type: string
description: 'Price Frequency to be charged for Subscription product. Price Frequency Options: DAILY, WEEKLY, MONTHLY or YEARLY.'
example: WEEKLY
free_trial_value:
type: numeric
description: 'Free Trail for the Subscription product.'
example: '5'
free_trial_frequency:
type: string
description: 'Free Trail Frequency for the subscription product in which the product will be available for free. Free Trail Frequency Options: DAYS, WEEKS, MONTHS, YEARS.'
example: Months
catalog_rank:
type: numeric
description: 'The order in which you want to display the product in product catalog. 1 is the highest rank.'
example: '5'
subscription_expire_after:
type: date
description: 'On this date this subscription product will get expired.'
example: 'null'
required:
- title
- description
- regular_price
- type
- status
- subscription_price
- price_frequency
security: []
/api/product/delete:
post:
summary: 'Delete Product'
operationId: deleteProduct
description: "To delete a product, you need to use this request.\nReturns number of products deleted. (See Response)"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: '2 product(s) deleted'
properties:
message:
type: string
example: '2 product(s) deleted'
tags:
- 'ECommerce Products'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
delete_ids:
type: array
description: 'All product IDs which needs to be deleted.'
example:
- 1
- 5
items:
type: string
required:
- delete_ids
security: []
'/api/product/price/{id}':
get:
summary: 'Retrieve Product Price'
operationId: retrieveProductPrice
description: 'Retrieves the price of the specified product. Helps in fetching product price using its ID. (See Parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
price: 3001
properties:
price:
type: integer
example: 3001
tags:
- 'ECommerce Products'
security: []
parameters:
-
in: path
name: id
description: 'ID of the product you want to fetch the price of.'
example: '1'
required: true
schema:
type: string
/api/product/quickEdit:
post:
summary: 'Quick Edit'
operationId: quickEdit
description: 'Updates the details in bulk for a specified product. Parameters is provided which needs to be updated. (See Parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Questions updated Successfully'
properties:
message:
type: string
example: 'Questions updated Successfully'
tags:
- 'ECommerce Products'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
product_ids:
type: array
description: 'All product IDs which needs to be updated.'
example:
- 3
- 2
items:
type: string
outofstock:
type: boolean
description: 'If true, it updates the status of the course as out-of-stock.'
example: true
required:
- product_ids
security: []
/api/product/freeTrial/lookup:
get:
summary: 'Product Free Trial Interval Lookup For Products'
operationId: productFreeTrialIntervalLookupForProducts
description: "Retrieves how often the amount will be deducted in subscription of the product, the platform offers.\nHelps showing options in form elements like dropdowns."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
db_value: DAYS
display_value: Days
-
db_value: WEEKS
display_value: Weeks
-
db_value: MONTHS
display_value: Months
-
db_value: YEARS
display_value: Years
tags:
- 'ECommerce Products'
security: []
/api/product/subscription-price-frequency/lookup:
get:
summary: 'Product Price Frequency Lookup for Subscriptions'
operationId: productPriceFrequencyLookupForSubscriptions
description: "Retrieves how often the amount will be deducted in subscription of the product, the platform offers.\nHelps showing options in form elements like dropdowns."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
db_value: DAILY
display_value: 'Per day'
-
db_value: WEEKLY
display_value: 'Per week'
-
db_value: MONTHLY
display_value: 'Per month'
-
db_value: YEARLY
display_value: 'Per year'
tags:
- 'ECommerce Products'
security: []
/api/modules/flashcards:
get:
summary: 'Flash Cards Modules Tabular List'
operationId: flashCardsModulesTabularList
description: "Returns all the Flash Cards modules in a tabular list format in paginated mode.\nYou can apply filter using search_param via associatedCourse(modules used in course) and moduleName."
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '50'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '50'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
-
in: query
name: search_param
description: 'for searching items based on field names.'
example: '{"associatedCourse":"","moduleName":""}'
required: false
schema:
type: string
description: 'for searching items based on field names.'
example: '{"associatedCourse":"","moduleName":""}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 1
recordsFiltered: 1
records:
-
id: 1
name: test
slug: test
type: text
icon: ''
author: 'Aom Staff'
created_at: 'Aug 03, 2020 09:56 AM'
properties:
recordsTotal:
type: integer
example: 1
recordsFiltered:
type: integer
example: 1
records:
type: array
example:
-
id: 1
name: test
slug: test
type: text
icon: ''
author: 'Aom Staff'
created_at: 'Aug 03, 2020 09:56 AM'
items:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: test
slug:
type: string
example: test
type:
type: string
example: text
icon:
type: string
example: ''
author:
type: string
example: 'Aom Staff'
created_at:
type: string
example: 'Aug 03, 2020 09:56 AM'
tags:
- 'Flash Cards Modules'
security: []
post:
summary: 'Create FlashCard Module'
operationId: createFlashCardModule
description: "To create a FlashCard module, you need to use this request. (See parameters)\nCreated FlashCard modules can be used in the course as course content/lesson.\n\nReturns : id of the FlashCard module created and successfull message"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 5
message: 'Module saved successfully'
properties:
id:
type: integer
example: 5
message:
type: string
example: 'Module saved successfully'
tags:
- 'Flash Cards Modules'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Name of the FlashCard module.'
example: 'The Fundamentals of LMS'
content:
type: string
description: 'Content for the FlashCard modules that students will see.'
example: 'This is the short content here
'
trackCompletion:
type: boolean
description: 'If true, the module is being tracked(whether its finished or not) in course player.'
example: true
required:
- name
- content
- trackCompletion
security: []
'/api/modules/flashcards/{id}':
get:
summary: 'Retrieve FlashCards Module'
operationId: retrieveFlashCardsModule
description: 'Retrieves the details of the specified FlashCards module. Helps in fetching FlashCards module using its ID. (See Parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
name: test
slug: test
content: 'Content of the text lesson
'
trackCompletion: true
properties:
name:
type: string
example: test
slug:
type: string
example: test
content:
type: string
example: 'Content of the text lesson
'
trackCompletion:
type: boolean
example: true
tags:
- 'Flash Cards Modules'
security: []
put:
summary: 'Update FlashCard Module'
operationId: updateFlashCardModule
description: "Updates the details of a specified FlashCard modules. (See parameters)\nFlashCard modules can be used in the course as course content/lesson."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Module updated successfully'
properties:
message:
type: string
example: 'Module updated successfully'
tags:
- 'Flash Cards Modules'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Name of the FlashCard module.'
example: 'The Fundamentals of LMS'
content:
type: string
description: 'Content for the FlashCard modules that students will see.'
example: 'This is the updated short content here
'
trackCompletion:
type: boolean
description: 'If true, the module is being tracked(whether its finished or not) in course player.'
example: true
required:
- name
- content
- trackCompletion
security: []
parameters:
-
in: path
name: id
description: 'ID of the text module you want to fetch the details of.'
example: '67'
required: true
schema:
type: string
/api/module/flashcards/details:
get:
summary: 'Retrieve Detailed FlashCard Module Info'
operationId: retrieveDetailedFlashCardModuleInfo
description: "Retrieves details of FlashCard module in depth as well as different modules details that are being used as course content for the same course the current text module is attached to.\nReturns related fields value. (See Response)"
parameters:
-
in: query
name: registrationId
description: 'ID of the course Registration for which this module is attached to.'
example: '1'
required: true
schema:
type: string
description: 'ID of the course Registration for which this module is attached to.'
example: '1'
-
in: query
name: moduleId
description: 'ID of the text module.'
example: '1'
required: true
schema:
type: string
description: 'ID of the text module.'
example: '1'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
name: test
slug: test
content: 'afegrshtdh
'
courseName: 'course 1'
courseSlug: 'http://localhost:8000/course/course-1'
trackCompletion: true
min_time_spent: 0
otherModules:
-
module_id: 1
name: test
slug: test
type: text
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: false
status_row_id: 1
status: Completed
started_on: '2020-08-03T10:02:33.000000Z'
completed_on: '2020-08-03T10:02:41.000000Z'
last_accessed_on: '1 week ago'
total_time_spent:
hours: 0
minutes: 0
seconds: 6
totalSeconds: 6
completion_percentage: 100
no_of_times_accessed: 1
-
module_id: 4
name: assign
slug: assign
type: assignment
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: true
status_row_id: -1
status: 'Not Started'
started_on: ''
completed_on: ''
last_accessed_on: Never
total_time_spent: ''
points_awarded: ''
completion_percentage: 0
no_of_times_accessed: 0
launchCheck:
canbeLaunched: true
errTitle: ''
errDesc: ''
prevSlug: ''
nextSlug: assign
status: Completed
timeSpent: 6
statusRowId: 1
properties:
name:
type: string
example: test
slug:
type: string
example: test
content:
type: string
example: 'afegrshtdh
'
courseName:
type: string
example: 'course 1'
courseSlug:
type: string
example: 'http://localhost:8000/course/course-1'
trackCompletion:
type: boolean
example: true
min_time_spent:
type: integer
example: 0
otherModules:
type: array
example:
-
module_id: 1
name: test
slug: test
type: text
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: false
status_row_id: 1
status: Completed
started_on: '2020-08-03T10:02:33.000000Z'
completed_on: '2020-08-03T10:02:41.000000Z'
last_accessed_on: '1 week ago'
total_time_spent:
hours: 0
minutes: 0
seconds: 6
totalSeconds: 6
completion_percentage: 100
no_of_times_accessed: 1
-
module_id: 4
name: assign
slug: assign
type: assignment
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: true
status_row_id: -1
status: 'Not Started'
started_on: ''
completed_on: ''
last_accessed_on: Never
total_time_spent: ''
points_awarded: ''
completion_percentage: 0
no_of_times_accessed: 0
items:
type: object
properties:
module_id:
type: integer
example: 1
name:
type: string
example: test
slug:
type: string
example: test
type:
type: string
example: text
icon:
type: string
example: ''
is_locked:
type: boolean
example: false
lock_reason:
type: string
example: ''
is_dripped:
type: boolean
example: false
drip_message:
type: string
example: ''
is_current:
type: boolean
example: false
status_row_id:
type: integer
example: 1
status:
type: string
example: Completed
started_on:
type: string
example: '2020-08-03T10:02:33.000000Z'
completed_on:
type: string
example: '2020-08-03T10:02:41.000000Z'
last_accessed_on:
type: string
example: '1 week ago'
total_time_spent:
type: object
properties:
hours:
type: integer
example: 0
minutes:
type: integer
example: 0
seconds:
type: integer
example: 6
totalSeconds:
type: integer
example: 6
completion_percentage:
type: integer
example: 100
no_of_times_accessed:
type: integer
example: 1
launchCheck:
type: object
properties:
canbeLaunched:
type: boolean
example: true
errTitle:
type: string
example: ''
errDesc:
type: string
example: ''
prevSlug:
type: string
example: ''
nextSlug:
type: string
example: assign
status:
type: string
example: Completed
timeSpent:
type: integer
example: 6
statusRowId:
type: integer
example: 1
tags:
- 'Flash Cards Modules'
security: []
/api/module/flashcards/content-details:
get:
summary: 'Retrieve Detailed FlashCard module Info as Membership content'
operationId: retrieveDetailedFlashCardModuleInfoAsMembershipContent
description: "Retrieves details of FlashCard module in depth for the same membership the current FlashCard module is attached to.\nReturns related fields value. (See Response)"
parameters:
-
in: query
name: moduleId
description: 'ID of the pdf module.'
example: '6'
required: true
schema:
type: string
description: 'ID of the pdf module.'
example: '6'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
name: test
slug: test
content: 'afegrshtdh
'
trackCompletion: true
min_time_spent: 0
timeSpent: 6
properties:
name:
type: string
example: test
slug:
type: string
example: test
content:
type: string
example: 'afegrshtdh
'
trackCompletion:
type: boolean
example: true
min_time_spent:
type: integer
example: 0
timeSpent:
type: integer
example: 6
tags:
- 'Flash Cards Modules'
security: []
/api/integrations/webhook/eventLookup:
get:
summary: 'Webhook Actions Lookup'
operationId: webhookActionsLookup
description: "Retrieves all the events for the webhook actions.\nHelps showing options in dropdowns elements"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
db_value: new_account_created
display_value: 'New Account Created'
-
db_value: course_enrolled
display_value: 'Enrolled in a course'
-
db_value: quiz_submission
display_value: 'Submitted a Quiz'
-
db_value: assigment_submission
display_value: 'Submitted an assignment'
-
db_value: assigment_evaluation
display_value: 'Evaluated an assignment'
-
db_value: assigment_rejection
display_value: 'Rejected an assignment'
-
db_value: discussion_submission
display_value: 'Submitted a discussion'
-
db_value: new_order
display_value: 'New Order Placed'
-
db_value: failed_order
display_value: 'Order Failed'
-
db_value: refunded_order
display_value: 'Order Refunded'
-
db_value: pending_payment
display_value: 'Payment Pending'
-
db_value: new_announcement
display_value: 'New Announcement'
-
db_value: course_completed
display_value: 'Course Completed'
tags:
- 'Front End Webhook API'
security: []
/api/webhook/create:
post:
summary: 'Create Webhook'
operationId: createWebhook
description: 'To create a Webhook, you need to use this request. Provide url and select event and it will be created. (See parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: '2'
message: 'Webhook saved successfully'
properties:
id:
type: string
example: '2'
message:
type: string
example: 'Webhook saved successfully'
tags:
- 'Front End Webhook API'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
url:
type: string
description: 'Endpoint to send the data.'
example: 'https://example.aom'
description:
type: string
description: 'Description of the event that is being created.'
example: 'It will use to collect new user data.'
eventList:
type: string
description: 'Event from the option list. Event options: new_account_created, course_enrolled, quiz_submission, assigment_submission, assigment_evaluation, assigment_rejection, discussion_submission, new_order, failed_order, refunded_order, pending_payment, new_announcement or course_completed.'
example: 'New Account Created'
required:
- url
- eventList
security: []
/api/webhooks:
get:
summary: 'Webhook Actions Tabular List'
operationId: webhookActionsTabularList
description: "Returns all the Webhook created in a tabular list format.\nYou can apply filter using search_param."
parameters:
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
-
in: query
name: search_param
description: 'For searching items based on Events.'
example: 0
required: false
schema:
type: integer
description: 'For searching items based on Events.'
example: 0
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 4
recordsFiltered: 3
records:
-
id: 3
url: 'https://example.aom.com'
events: 'New Account Created'
description: 'User new account created'
author: 'Client Admin'
created_at: 'Aug 10, 2020 12:43 PM'
-
id: 4
url: 'https://example.aom.com'
events: 'Enrolled in a course'
description: 'User enrolled in a course'
author: 'Client Admin'
created_at: 'Aug 10, 2020 12:43 PM'
properties:
recordsTotal:
type: integer
example: 4
recordsFiltered:
type: integer
example: 3
records:
type: array
example:
-
id: 3
url: 'https://example.aom.com'
events: 'New Account Created'
description: 'User new account created'
author: 'Client Admin'
created_at: 'Aug 10, 2020 12:43 PM'
-
id: 4
url: 'https://example.aom.com'
events: 'Enrolled in a course'
description: 'User enrolled in a course'
author: 'Client Admin'
created_at: 'Aug 10, 2020 12:43 PM'
items:
type: object
properties:
id:
type: integer
example: 3
url:
type: string
example: 'https://example.aom.com'
events:
type: string
example: 'New Account Created'
description:
type: string
example: 'User new account created'
author:
type: string
example: 'Client Admin'
created_at:
type: string
example: 'Aug 10, 2020 12:43 PM'
tags:
- 'Front End Webhook API'
security: []
'/api/webhook/{id}':
put:
summary: 'Update Webhook'
operationId: updateWebhook
description: "Updates a webhook using parameters mentioned. (See parameters)\nUpdates the webhook details using webhook ID."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: '4'
message: 'Webhook updated successfully'
properties:
id:
type: string
example: '4'
message:
type: string
example: 'Webhook updated successfully'
tags:
- 'Front End Webhook API'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
url:
type: string
description: 'Endpoint to send the data.'
example: 'https://example.aom'
description:
type: string
description: 'Description of the event that is being created.'
example: 'It will use to collect new user data.'
eventList:
type: string
description: 'Event from the option list. Event options: new_account_created, course_enrolled, quiz_submission, assigment_submission, assigment_evaluation, assigment_rejection, discussion_submission, new_order, failed_order, refunded_order, pending_payment, new_announcement or course_completed.'
example: 'New Account Created'
required:
- url
- eventList
security: []
parameters:
-
in: path
name: id
description: 'ID of the webhook.'
example: '3'
required: true
schema:
type: string
'/api/webhook/delete/{id}':
delete:
summary: 'Delete Webhook'
operationId: deleteWebhook
description: 'To delete a webhook, you need to use this request.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Webhook deleted successfully'
properties:
message:
type: string
example: 'Webhook deleted successfully'
tags:
- 'Front End Webhook API'
security: []
parameters:
-
in: path
name: id
description: 'Webhook ID which needs to be deleted.'
example: '[1]'
required: true
schema:
type: string
'/api/webhook/logs/{id}':
get:
summary: 'Webhook log Tabular List'
operationId: webhookLogTabularList
description: 'Returns all the webhook log in a tabular list format in paginated mode.'
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '9'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '9'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 4
recordsFiltered: 1
records:
-
id: 4
event: 'New Account Created'
status: success
created_at: 'Aug 10, 2020 01:58 PM'
properties:
recordsTotal:
type: integer
example: 4
recordsFiltered:
type: integer
example: 1
records:
type: array
example:
-
id: 4
event: 'New Account Created'
status: success
created_at: 'Aug 10, 2020 01:58 PM'
items:
type: object
properties:
id:
type: integer
example: 4
event:
type: string
example: 'New Account Created'
status:
type: string
example: success
created_at:
type: string
example: 'Aug 10, 2020 01:58 PM'
tags:
- 'Front End Webhook API'
security: []
/api/gamification_events/tabularlist:
get:
summary: 'Tabular List'
operationId: tabularList
description: 'Returns all the gamification events.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 1
records:
-
id: 1
name: test
triggerValue: 2
badgeTitle: '1'
type: total_money_spent
display_type: 'Total money spent'
properties:
recordsTotal:
type: integer
example: 1
records:
type: array
example:
-
id: 1
name: test
triggerValue: 2
badgeTitle: '1'
type: total_money_spent
display_type: 'Total money spent'
items:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: test
triggerValue:
type: integer
example: 2
badgeTitle:
type: string
example: '1'
type:
type: string
example: total_money_spent
display_type:
type: string
example: 'Total money spent'
tags:
- Gamification
security: []
/api/gamification_events/eventTypeLookUp:
get:
summary: 'Event Type Lookup'
operationId: eventTypeLookup
description: 'Retrieves Event types.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
db_value: total_money_spent
display_value: 'Total money spent'
-
db_value: total_time_spent
display_value: 'Total time spent learning(in hrs)'
-
db_value: total_module_completed
display_value: 'No. of modules completed'
-
db_value: total_course_completed
display_value: 'No. of courses completed'
tags:
- Gamification
security: []
/api/gamification_event/create:
post:
summary: 'Create Event'
operationId: createEvent
description: ''
parameters:
-
in: query
name: name
description: 'string The name of the Event.'
example: '"Event 1"'
required: true
schema:
type: string
description: 'string The name of the Event.'
example: '"Event 1"'
-
in: query
name: eventType
description: 'string The type of the Event.'
example: '"total_module_completed"'
required: true
schema:
type: string
description: 'string The type of the Event.'
example: '"total_module_completed"'
-
in: query
name: selectedBadgeId
description: 'The ID of the selected badge.'
example: '123'
required: true
schema:
type: string
description: 'The ID of the selected badge.'
example: '123'
-
in: query
name: triggerValue
description: 'interger The trigger value for the event.'
example: '5.6'
required: true
schema:
type: string
description: 'interger The trigger value for the event.'
example: '5.6'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 2
message: 'Event created successfully'
properties:
id:
type: integer
example: 2
message:
type: string
example: 'Event created successfully'
tags:
- Gamification
security: []
'/api/gamification_event/{id}':
get:
summary: 'Retrieve Event'
operationId: retrieveEvent
description: 'Retrieves all the event details.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
name: test
eventType: total_money_spent
selectedBadgeId: 1
triggerValue: 2
properties:
id:
type: integer
example: 1
name:
type: string
example: test
eventType:
type: string
example: total_money_spent
selectedBadgeId:
type: integer
example: 1
triggerValue:
type: integer
example: 2
tags:
- Gamification
security: []
put:
summary: 'Update Event'
operationId: updateEvent
description: ''
parameters:
-
in: query
name: name
description: 'string The name of the Event.'
example: '"Event 1"'
required: true
schema:
type: string
description: 'string The name of the Event.'
example: '"Event 1"'
-
in: query
name: eventType
description: 'string The type of the Event.'
example: '"total_module_completed"'
required: true
schema:
type: string
description: 'string The type of the Event.'
example: '"total_module_completed"'
-
in: query
name: selectedBadgeId
description: 'The ID of the selected badge.'
example: '123'
required: true
schema:
type: string
description: 'The ID of the selected badge.'
example: '123'
-
in: query
name: triggerValue
description: 'interger The trigger value for the event.'
example: '5.6'
required: true
schema:
type: string
description: 'interger The trigger value for the event.'
example: '5.6'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
message: 'Event updated successfully'
properties:
id:
type: integer
example: 1
message:
type: string
example: 'Event updated successfully'
tags:
- Gamification
security: []
parameters:
-
in: path
name: id
description: 'ID of the gamification event.'
example: '1'
required: true
schema:
type: string
'/api/gamification_event/delete/{id}':
post:
summary: 'Delete event'
operationId: deleteEvent
description: 'Delete a event by ID.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Event deleted Succesfullly.'
properties:
message:
type: string
example: 'Event deleted Succesfullly.'
tags:
- Gamification
security: []
parameters:
-
in: path
name: id
description: 'The ID of the event to be deleted.'
example: 1
required: true
schema:
type: integer
/api/settings/emails/general:
get:
summary: 'Retrieve General Email Settings'
operationId: retrieveGeneralEmailSettings
description: 'Retrieves the details of the general email items. Helps in fetching items of the email settings, items like header, sender name, sender email, etc(See Response)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
fromName: 'Academy of Mine'
fromEmail: dev@academyofmine.com
replyToEmail: no-reply@academyofmine.com
templateDesign: default
headerLogo: Default
customHeaderLogoURL: ''
headerBgColor: '#6b15b6'
bgColor: '#ffffff'
bodyBgColor: '#f6f9fc'
bodyTextColor: '#1b1e24'
properties:
fromName:
type: string
example: 'Academy of Mine'
fromEmail:
type: string
example: dev@academyofmine.com
replyToEmail:
type: string
example: no-reply@academyofmine.com
templateDesign:
type: string
example: default
headerLogo:
type: string
example: Default
customHeaderLogoURL:
type: string
example: ''
headerBgColor:
type: string
example: '#6b15b6'
bgColor:
type: string
example: '#ffffff'
bodyBgColor:
type: string
example: '#f6f9fc'
bodyTextColor:
type: string
example: '#1b1e24'
tags:
- 'General Settings'
security: []
put:
summary: 'Set General Email Settings'
operationId: setGeneralEmailSettings
description: 'To save the general email settings with updated values, you need to use this request. (See parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Settings Updated'
properties:
message:
type: string
example: 'Settings Updated'
tags:
- 'General Settings'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
fromName:
type: string
description: 'Sender name of the email.'
example: 'Academy of Mine'
fromEmail:
type: string
description: 'Sender email.'
example: dev@academyofmine.com
replyToEmail:
type: string
description: 'Reply email for emails.'
example: no-reply@academyofmine.com
templateDesign:
type: string
description: 'Template design.'
example: default
headerLogo:
type: string
description: 'Header logo of the email.'
example: Default
customHeaderLogoURL:
type: string
description: 'Custom header logo.'
example: 'null'
headerBgColor:
type: string
description: 'Header background color of the email(in hex form).'
example: '#6b15b6'
bgColor:
type: string
description: 'Background color of the email.'
example: '#ffffff'
bodyBgColor:
type: string
description: 'Body background color of the email.'
example: '#f6f9fc'
bodyTextColor:
type: string
description: 'Text color of email body.'
example: '#1b1e24'
required:
- fromName
- fromEmail
- replyToEmail
- templateDesign
- headerLogo
- headerBgColor
- bgColor
- bodyBgColor
- bodyTextColor
security: []
/api/settings/edit-template:
put:
summary: 'Set General Email Settings'
operationId: setGeneralEmailSettings
description: 'To save the general email settings with updated values, you need to use this request. (See parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Template Updated Successfully'
properties:
message:
type: string
example: 'Template Updated Successfully'
tags:
- 'General Settings'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
content:
type: string
description: 'Content of the email(body).'
example: 'Hi This email is from AOM.'
enabled:
type: boolean
description: 'If true, this email format is enabled to sent email on events.'
example: true
subject:
type: string
description: 'Subject for email.'
example: 'This is subject'
recipients:
type: string
description: 'Email recipients.'
example: 'null'
heading:
type: string
description: 'Heading of the email.'
example: 'New Account Created'
type:
type: string
description: 'Which email format is about to get sent.'
example: new_account_creation
required:
- enabled
- subject
- recipients
- heading
- type
security: []
/api/settings/get-template:
get:
summary: 'Retrieve General Email Format'
operationId: retrieveGeneralEmailFormat
description: 'Retrieves the details of the general email formats. Helps in fetching different types of the email format based on type of the email(See Response)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
area: account
type: new_account_creation_others
subject: 'A new account has been created on your site : [site_name]'
recipients: null
heading: 'New Account'
content: 'A new account has been created on your site : [site_name]'
enabled: false
tags:
- 'General Settings'
security: []
parameters:
-
in: path
name: required
description: 'Optional parameter. Type of the email format type(new_account_creation_others, pwd_reset_request, course_enrollment, etc) you want to fetch the details of.'
required: true
schema:
type: integer
examples:
omitted:
summary: 'When the value is omitted'
value: ''
present:
summary: 'When the value is present'
value: 0
/api/settings/general:
get:
summary: 'Retrieve General Settings'
operationId: retrieveGeneralSettings
description: 'Retrieves the details of the general items. Helps in fetching items of the settings, items like site title, admin email, date and time format(See Response)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
siteTitle: 'Academy of mine'
adminEmail: dev@academyofmine.com
siteLanguage: en
timeZone: '0'
dateFormat: 'M d, Y'
timeFormat: 'h:i A'
privateSite: 'no'
customTimeZone: ''
homePage: '1'
productCatalogPage: '2'
cartPage: '5'
checkoutPage: '4'
termConditionPage: '2'
termConditionText: 'I have read and agree to the website.'
privacyPolicyPage: '3'
privacyPolicyText: 'Your personal data will be used to process your order, support your experience throughout this website, and for other purposes described in our privacy policy.'
properties:
siteTitle:
type: string
example: 'Academy of mine'
adminEmail:
type: string
example: dev@academyofmine.com
siteLanguage:
type: string
example: en
timeZone:
type: string
example: '0'
dateFormat:
type: string
example: 'M d, Y'
timeFormat:
type: string
example: 'h:i A'
privateSite:
type: string
example: 'no'
customTimeZone:
type: string
example: ''
homePage:
type: string
example: '1'
productCatalogPage:
type: string
example: '2'
cartPage:
type: string
example: '5'
checkoutPage:
type: string
example: '4'
termConditionPage:
type: string
example: '2'
termConditionText:
type: string
example: 'I have read and agree to the website.'
privacyPolicyPage:
type: string
example: '3'
privacyPolicyText:
type: string
example: 'Your personal data will be used to process your order, support your experience throughout this website, and for other purposes described in our privacy policy.'
tags:
- 'General Settings'
security: []
post:
summary: 'Update General Settings'
operationId: updateGeneralSettings
description: 'To update the general settings with updated values, you need to use this request. (See parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Settings Updated'
properties:
message:
type: string
example: 'Settings Updated'
tags:
- 'General Settings'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
siteTitle:
type: string
description: 'Title of the site.'
example: 'Academy of mine'
adminEmail:
type: string
description: 'Email of the admin.'
example: dev@academyofmine.com
siteLanguage:
type: string
description: 'Language of the site.'
example: en
timeZone:
type: string
description: 'Timezone of the site.'
example: 'null'
dateFormat:
type: string
description: 'Format of the date for site.'
example: 'M d, Y'
timeFormat:
type: string
description: 'Format of the time for site.'
example: 'h:i A'
privateSite:
type: string
description: 'Is the site private or not.'
example: 'no'
customTimeZone:
type: string
description: 'Custom timezone for site. Example:'
example: America/Jamaica
homePage:
type: string
description: 'int Homepage for site(page Id).'
example: '1'
productCatalogPage:
type: integer
description: 'Product catalog page for site(page Id).'
example: 2
cartPage:
type: integer
description: 'Cart page for site(page Id).'
example: 5
checkoutPage:
type: string
description: 'Checkout page for site(page Id).'
example: '4'
termConditionPage:
type: integer
description: 'Term and Condition page for the site(page Id).'
example: 3
termConditionText:
type: string
description: 'Term and Condition Text of the site.'
example: 'I have read and agree to the website term.'
privacyPolicyPage:
type: integer
description: 'Privacy Policy page for the site(page Id).'
example: 2
privacyPolicyText:
type: string
description: 'Privacy Policy Text of the site.'
example: 'Your personal data will be used to process your order, support your experience throughout this website, and for other purposes described in our privacy policy.'
required:
- siteTitle
- adminEmail
- siteLanguage
- timeZone
- dateFormat
- timeFormat
- privateSite
- customTimeZone
- productCatalogPage
- cartPage
- checkoutPage
- termConditionPage
- termConditionText
- privacyPolicyPage
- privacyPolicyText
security: []
/api/settings/customTimezone:
get:
summary: 'Retrieve List of Custom Time Zones'
operationId: retrieveListOfCustomTimeZones
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
'0': Africa/Abidjan
'1': Africa/Accra
'2': Africa/Addis_Ababa
properties:
-
type: string
example: Africa/Abidjan
-
type: string
example: Africa/Accra
-
type: string
example: Africa/Addis_Ababa
tags:
- 'General Settings'
security: []
/api/settings/branding:
get:
summary: 'Retrieve Branding Settings'
operationId: retrieveBrandingSettings
description: 'Retrieves the details of the brand settings. Helps in fetching items of the brand settings, items like primary color, body color, logo footer text(See Response)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
brandColors:
primaryColor: '#6b15b6'
bodyBgColor: '#f6f9fc'
bodyColor: '#1b1e24'
logo: ''
logoMini: ''
topBarEmail: info@your-company.com
topBarPhone: +1-202-555-0189
footerText: 'Copyright © Your Company Name - All rights reserved.'
properties:
brandColors:
type: object
properties:
primaryColor:
type: string
example: '#6b15b6'
bodyBgColor:
type: string
example: '#f6f9fc'
bodyColor:
type: string
example: '#1b1e24'
logo:
type: string
example: ''
logoMini:
type: string
example: ''
topBarEmail:
type: string
example: info@your-company.com
topBarPhone:
type: string
example: +1-202-555-0189
footerText:
type: string
example: 'Copyright © Your Company Name - All rights reserved.'
tags:
- 'General Settings'
security: []
put:
summary: 'Update Branding Settings'
operationId: updateBrandingSettings
description: 'To update the branding settings with updated values, you need to use this request. (See parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Branding Settings Updated'
properties:
message:
type: string
example: 'Branding Settings Updated'
tags:
- 'General Settings'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
brandColors:
type: array
description: 'Brand colors for the site(body, background, primary colors).'
example:
- distinctio
items:
type: string
footerText:
type: string
description: 'Footer text for the site.'
example: 'Copyright © Your Company Name - All rights reserved.'
logo:
type: string
description: 'Logo for the site. Example:'
example: dolorem
logoMini:
type: string
description: 'Mini Logo for the site. Example:'
example: mollitia
shouldCompileTheme:
type: boolean
description: 'Should the theme be compiled.'
example: false
topBarEmail:
type: string
description: 'Topbar email for site.'
example: info@your-company.com
topBarPhone:
type: string
description: 'Topbar phone number for site.'
example: '1234567890'
required:
- brandColors
- footerText
- shouldCompileTheme
- topBarEmail
- topBarPhone
security: []
/api/settings/customstyle:
get:
summary: 'Retrieve Custom Stylings'
operationId: retrieveCustomStylings
description: 'Retrieves the details of the custom styles being added in the platform.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
custom_css: ''
properties:
custom_css:
type: string
example: ''
tags:
- 'General Settings'
security: []
put:
summary: 'Set Custom Stylings'
operationId: setCustomStylings
description: 'To set or update the custom stylings with updated values, you need to use this request. (See parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Custom Styling Saved Successfully'
properties:
message:
type: string
example: 'Custom Styling Saved Successfully'
tags:
- 'General Settings'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
custom_css:
type: string
description: 'Custom styling CSS code snippets.'
example: 'body: {color: red;}'
security: []
/api/settings/update-state:
put:
summary: 'Update Email Status'
operationId: updateEmailStatus
description: "Updates the status of the email if the selected area of the email format as enabled or not.\nIf disabled, the students will not get any email from this platform for selected email format area(account, lms, ecommerce, etc) and type (account creation, enrollments, etc)"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example: { }
properties: { }
tags:
- 'General Settings'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
area:
type: string
description: 'Which email format is going to get enabled or disabled.'
example: account
isEnabled:
type: boolean
description: 'If true, the select email format area will get enabled otherwise disabled.'
example: false
type:
type: string
description: 'Which type of email format will get disabled or enabled.'
example: new_account_creation
required:
- area
- isEnabled
- type
security: []
/api/generic-search:
post:
summary: 'Retrieve Course| Product| Users'
operationId: retrieveCourseProductUsers
description: "Search bar in home page to show profession hint,industry hint and state hint as well.\nRetrieves all details regarding courses, product and users for homepage."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
label: Courses
options:
-
label: 'Manage - course 1'
value: /dashboard/course/manage/1
-
label: 'Manage - Awesome Course'
value: /dashboard/course/manage/2
-
label: 'Manage - course 1_copy'
value: /dashboard/course/manage/3
-
label: Users
options:
-
label: 'Aom Staff(dev@academyofmine.com)'
value: /dashboard/user/edit/1
-
label: 'Client Admin(client@app.com)'
value: /dashboard/user/edit/2
-
label: 'Demo Student(student@app.com)'
value: /dashboard/user/edit/3
-
label: 'John Doe(john@academyofmine.com)'
value: /dashboard/user/edit/12
-
label: 'Fake FName Fake LName(fakeemail@aom.com)'
value: /dashboard/user/edit/13
-
label: 'Fake FName 2 Fake LName 2(fakeemail2@aom.com)'
value: /dashboard/user/edit/14
-
label: Courses
options:
-
label: 'Edit - course 1'
value: /dashboard/course/edit/1
-
label: 'Edit - Awesome Course'
value: /dashboard/course/edit/2
-
label: 'Edit - course 1_copy'
value: /dashboard/course/edit/3
-
label: Products
options:
-
label: Product-1
value: /dashboard/product/edit/1
-
label: Modules
options:
-
label: test
value: /dashboard/modules/edit/1
-
label: 'assignment 1'
value: /dashboard/modules/edit/2
-
label: 'Video Module Name'
value: /dashboard/modules/edit/3
-
label: assign
value: /dashboard/modules/edit/4
-
label: 'The Fundamentals of LMS'
value: /dashboard/modules/edit/5
-
label: 'Getting Started'
value: /dashboard/modules/edit/6
-
label: First-quiz
value: /dashboard/modules/edit/7
-
label: Quiz-2
value: /dashboard/modules/edit/8
-
label: My-video-lesson
value: /dashboard/modules/edit/9
-
label: 'Essay on LMS'
value: /dashboard/modules/edit/10
-
label: File-based-Assignment
value: /dashboard/modules/edit/11
-
label: New-Webinar
value: /dashboard/modules/edit/12
-
label: First-discussion
value: /dashboard/modules/edit/13
-
label: Lesson-1
value: /dashboard/modules/edit/14
-
label: Feedback
value: /dashboard/modules/edit/15
tags:
- 'General Settings'
security: []
/api/settings/gamification:
get:
summary: 'Retrieve Gamification Settings'
operationId: retrieveGamificationSettings
description: ''
parameters: []
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: '{"is_enable: true"}'
tags:
- 'General Settings'
security: []
put:
summary: 'Update Gamification Settings'
operationId: updateGamificationSettings
description: 'To Update the gamification settings'
parameters: []
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: '{"Settings Updated"}'
tags:
- 'General Settings'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
is_enabled:
type: boolean
description: 'To enable or disable gamification. Example true'
example: false
security: []
/api/groups/tabularlist:
get:
summary: 'Group Tabular List'
operationId: groupTabularList
description: "Returns all the groups in a tabular list format in paginated mode.\nYou can apply filter using search_param via adminNameorEmail and groupName."
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '50'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '50'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
-
in: query
name: search_param
description: 'for searching items based on field names.'
example: '{"adminNameorEmail":"","groupName":""}'
required: false
schema:
type: string
description: 'for searching items based on field names.'
example: '{"adminNameorEmail":"","groupName":""}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 1
recordsFiltered: 1
records:
-
id: 1
name: New-group
referralCode: ref-code123
createdBy: 'Aom Staff'
createdAt: 'Aug 11, 2020'
admins: 'John Doe'
totalStudents: 0
properties:
recordsTotal:
type: integer
example: 1
recordsFiltered:
type: integer
example: 1
records:
type: array
example:
-
id: 1
name: New-group
referralCode: ref-code123
createdBy: 'Aom Staff'
createdAt: 'Aug 11, 2020'
admins: 'John Doe'
totalStudents: 0
items:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: New-group
referralCode:
type: string
example: ref-code123
createdBy:
type: string
example: 'Aom Staff'
createdAt:
type: string
example: 'Aug 11, 2020'
admins:
type: string
example: 'John Doe'
totalStudents:
type: integer
example: 0
tags:
- Groups
security: []
/api/groups/lookup:
get:
summary: 'Group Lookup'
operationId: groupLookup
description: 'Retrieves all the groups in list format. Helps while showing groups in form elements like dropdown.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
id: 1
name: New-group
tags:
- Groups
security: []
'/api/group/students/{id}':
get:
summary: 'Retrieve Group Students List'
operationId: retrieveGroupStudentsList
description: "Returns all the students related to this group in a tabular list format in paginated mode.\nYou can apply filter using search_param via nameOrEmail."
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '50'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '50'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
-
in: query
name: search_param
description: 'For searching items based on field names.'
example: '{"nameOrEmail":""}'
required: false
schema:
type: string
description: 'For searching items based on field names.'
example: '{"nameOrEmail":""}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
groupName: New-group
recordsTotal: 2
recordsFiltered: 2
records:
-
id: 13
first_name: 'Fake FName'
last_name: 'Fake LName'
email: fakeemail@aom.com
avatar: ''
stats:
notStarted: 1
inProgress: 0
completed: 0
total: 1
last_login: Never
-
id: 14
first_name: 'Fake FName 2'
last_name: 'Fake LName 2'
email: fakeemail2@aom.com
avatar: ''
stats:
notStarted: 1
inProgress: 0
completed: 0
total: 1
last_login: Never
properties:
groupName:
type: string
example: New-group
recordsTotal:
type: integer
example: 2
recordsFiltered:
type: integer
example: 2
records:
type: array
example:
-
id: 13
first_name: 'Fake FName'
last_name: 'Fake LName'
email: fakeemail@aom.com
avatar: ''
stats:
notStarted: 1
inProgress: 0
completed: 0
total: 1
last_login: Never
-
id: 14
first_name: 'Fake FName 2'
last_name: 'Fake LName 2'
email: fakeemail2@aom.com
avatar: ''
stats:
notStarted: 1
inProgress: 0
completed: 0
total: 1
last_login: Never
items:
type: object
properties:
id:
type: integer
example: 13
first_name:
type: string
example: 'Fake FName'
last_name:
type: string
example: 'Fake LName'
email:
type: string
example: fakeemail@aom.com
avatar:
type: string
example: ''
stats:
type: object
properties:
notStarted:
type: integer
example: 1
inProgress:
type: integer
example: 0
completed:
type: integer
example: 0
total:
type: integer
example: 1
last_login:
type: string
example: Never
tags:
- Groups
security: []
parameters:
-
in: path
name: id
description: 'ID of the group.'
example: '1'
required: true
schema:
type: string
'/api/group/courses/{id}':
get:
summary: 'Retrieve Group Course List'
operationId: retrieveGroupCourseList
description: "Returns all the courses related to this group in a tabular list format in paginated mode.\nYou can apply filter using search_param via name(course name)."
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '50'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '50'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
-
in: query
name: search_param
description: 'For searching items based on field names.'
example: '{"nameOrEmail":""}'
required: false
schema:
type: string
description: 'For searching items based on field names.'
example: '{"nameOrEmail":""}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
groupName: New-group
recordsTotal: 1
recordsFiltered: 1
records: []
properties:
groupName:
type: string
example: New-group
recordsTotal:
type: integer
example: 1
recordsFiltered:
type: integer
example: 1
records:
type: array
example: []
tags:
- Groups
security: []
parameters:
-
in: path
name: id
description: 'ID of the group.'
example: '1'
required: true
schema:
type: string
/api/group/create:
post:
summary: 'Create Group'
operationId: createGroup
description: "To create a group, you need to use this request. (See parameters)\nCreated group is being used as to couple course to students with limited seats.\n\nReturns : id of the group created and successfull message"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
message: 'Group created successfully'
properties:
id:
type: integer
example: 1
message:
type: string
example: 'Group created successfully'
tags:
- Groups
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Name of the group.'
example: New-group
referralCode:
type: string
description: 'Referral code for the course.'
example: ref-code123
brandColor:
type: string
description: 'Brand color for the group.'
example: 'null'
logoUrl:
type: string
description: 'Logo URL for the group images.'
example: 'null'
userAddChoice:
type: string
description: 'Type of user adding option(newUser or existingUser).'
example: newUser
firstName:
type: string
description: 'First Name of the user, if userAddChoice is newUser.'
example: John
lastName:
type: string
description: 'Last Name of the user, if userAddChoice is newUser.'
example: Doe
email:
type: string
description: 'Email of the user, if userAddChoice is newUser.'
example: john@aom.com
password:
type: string
description: 'Password for the user, if userAddChoice is newUser.'
example: somePassword
existingUserId:
type: integer
description: 'Existing user Id.'
example: 0
courseSeats:
type: array
description: 'The courses which are being added to this group and how many seats for each course.'
example:
-
id: 1
classId: null
name: 'Professional Development and Training'
seats: 120
items:
type: string
membershipSeat:
type: array
description: 'which membership is being added to this group and how many seats for the membership.'
example:
-
id: 1
name: 'membership-plan 1'
seats: 120
items:
type: string
permissions:
type: array
description: 'which permission is being given to the group admin.'
example:
- can_view_course_activities
- can_bulk_enroll_students
- can_enroll_student_in_a_course
- can_view_student_progress
- can_enroll_student
items:
type: string
required:
- name
- referralCode
- userAddChoice
- firstName
- email
- password
security: []
'/api/group/{id}':
get:
summary: 'Retrieve Group'
operationId: retrieveGroup
description: 'Retrieves the details of the specified group. Helps in fetching group using its ID. (See Parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
name: New-group
referralCode: ref-code123
brandColor: null
logoUrl: null
admins:
-
id: 12
fullName: 'John Doe'
email: john@academyofmine.com
avatar: ''
courseSeats:
-
id: 1
courseId: 1
courseName: 'course 1'
totalSeats: 120
usedSeats: 0
catalogUrl: /course-catalog
properties:
name:
type: string
example: New-group
referralCode:
type: string
example: ref-code123
brandColor:
type: string
example: null
logoUrl:
type: string
example: null
admins:
type: array
example:
-
id: 12
fullName: 'John Doe'
email: john@academyofmine.com
avatar: ''
items:
type: object
properties:
id:
type: integer
example: 12
fullName:
type: string
example: 'John Doe'
email:
type: string
example: john@academyofmine.com
avatar:
type: string
example: ''
courseSeats:
type: array
example:
-
id: 1
courseId: 1
courseName: 'course 1'
totalSeats: 120
usedSeats: 0
items:
type: object
properties:
id:
type: integer
example: 1
courseId:
type: integer
example: 1
courseName:
type: string
example: 'course 1'
totalSeats:
type: integer
example: 120
usedSeats:
type: integer
example: 0
catalogUrl:
type: string
example: /course-catalog
tags:
- Groups
security: []
put:
summary: 'Update Group'
operationId: updateGroup
description: "Updates the details of a specified group. (See parameters)\nGroup is being used as to couple course to students with limited seats."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
message: 'Group created successfully'
properties:
id:
type: integer
example: 1
message:
type: string
example: 'Group created successfully'
tags:
- Groups
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: required
description: 'ID of the group.'
example: '1'
name:
type: string
description: 'Name of the group.'
example: New-group
referralCode:
type: string
description: 'Referral code for the course.'
example: ref-code123
brandColor:
type: string
description: 'Brand color for the group.'
example: 'null'
logoUrl:
type: string
description: 'Logo URL for the group images.'
example: 'null'
admins:
type: array
description: 'The array of admin with values, id , fullname, email. If new admin is added then following parameters are required id, tag, firstName, lastName, email, fullName, password.'
example:
-
id: -1
tag: createUser
firstName: John
lastname: Deo
email: student@app.com
fullname: 'John Deo'
password: Qwerty@1234
items:
type: string
courseSeats:
type: array
description: 'The courses which are being added to this group and how many seats for each course.'
example:
-
id: 1
classId: null
name: 'Professional Development and Training'
seats: 120
items:
type: string
membershipSeat:
type: array
description: 'which membership is being added to this group and how many seats for the membership.'
example:
-
id: 1
name: 'membership-plan 1'
seats: 120
items:
type: string
required:
- name
- referralCode
- admins
security: []
parameters:
-
in: path
name: id
description: 'ID of the group you want to fetch the details of.'
example: '1'
required: true
schema:
type: string
'/api/group/update-slug/{id}':
put:
summary: 'Update Group Registration And Login Slug'
operationId: updateGroupRegistrationAndLoginSlug
description: 'Updates the slug using parameters mentioned. (See parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Slug updated successfully'
properties:
message:
type: string
example: 'Slug updated successfully'
tags:
- Groups
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
area:
type: string
description: 'Login or Registration.'
example: login
slug:
type: string
description: 'Login or Registrattion slug of the group.'
example: group-login
required:
- area
- slug
security: []
parameters:
-
in: path
name: id
description: 'ID of the group.'
example: '3'
required: true
schema:
type: string
/api/group-permissions:
get:
summary: 'Group Admin Permissions Lookup'
operationId: groupAdminPermissionsLookup
description: 'Retrieves all the operations a group admin can perform in list format. Helps while creating group to set permissions for group admins.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
db_value: manage_course_enrollments
display_value: 'Can Manage Course Enrollments'
-
db_value: manage_user
display_value: 'Can Manage Users'
-
db_value: bulk_upload_users
display_value: 'Can Bulk Upload Users'
-
db_value: delete_user
display_value: 'Can Delete Users'
-
db_value: manage_user_announcement
display_value: 'Can Manage User Announcements'
-
db_value: manage_site_settings
display_value: 'Can Manage Group Settings'
-
db_value: manage_site_audit_logs
display_value: 'Can Manage Site Audit Logs'
-
db_value: view_lms_reports
display_value: 'Can View LMS Reports'
tags:
- Groups
security: []
/api/get/group-permissions:
get:
summary: 'Group Admin Permissions'
operationId: groupAdminPermissions
description: 'Retrieves all the operations a group admin can perform as set by admin.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
db_value: manage_course_enrollments
display_value: 'Can Manage Course Enrollments'
-
db_value: manage_user
display_value: 'Can Manage Users'
-
db_value: bulk_upload_users
display_value: 'Can Bulk Upload Users'
-
db_value: delete_user
display_value: 'Can Delete Users'
-
db_value: manage_user_announcement
display_value: 'Can Manage User Announcements'
-
db_value: manage_site_settings
display_value: 'Can Manage Group Settings'
-
db_value: manage_site_audit_logs
display_value: 'Can Manage Site Audit Logs'
-
db_value: view_lms_reports
display_value: 'Can View LMS Reports'
tags:
- Groups
security: []
/api/group-permission/update:
put:
summary: 'Update Group Admin Permissions'
operationId: updateGroupAdminPermissions
description: 'Updates a Group Admin Permissions using parameters mentioned.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Group Permission Updated Successfully.'
properties:
message:
type: string
example: 'Group Permission Updated Successfully.'
tags:
- Groups
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
permissions:
type: array
description: 'Send Group Permission in array format .'
example:
- harum
items:
type: string
required:
- permissions
security: []
'/api/group/membership/courses/{id}':
get:
summary: 'Group Membership Course Tabular List'
operationId: groupMembershipCourseTabularList
description: 'Returns all the courses of a membership in a group.'
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '50'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '50'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
-
in: query
name: search_param
description: 'For searching items based on field names.'
example: '{"nameOrEmail":""}'
required: false
schema:
type: string
description: 'For searching items based on field names.'
example: '{"nameOrEmail":""}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
groupName: 'Group One'
membership:
id: 1
name: Membership
recordsTotal: 4
recordsFiltered: 4
records:
-
id: 1
name: 'Professional Development and Training'
total_seats: 2
used_seats: 0
stats:
notStarted: 0
inProgress: 0
completed: 0
total: 0
last24hCount: 0
membershipId: 1
-
id: 2
name: 'Advanced Professional Development'
total_seats: 2
used_seats: 0
stats:
notStarted: 0
inProgress: 0
completed: 0
total: 0
last24hCount: 0
membershipId: 1
-
id: 3
name: 'Introduction to Continuing Education'
total_seats: 2
used_seats: 0
stats:
notStarted: 0
inProgress: 0
completed: 0
total: 0
last24hCount: 0
membershipId: 1
-
id: 4
name: 'Training your Employees for the modern world'
total_seats: 2
used_seats: 0
stats:
notStarted: 0
inProgress: 0
completed: 0
total: 0
last24hCount: 0
membershipId: 1
properties:
groupName:
type: string
example: 'Group One'
membership:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: Membership
recordsTotal:
type: integer
example: 4
recordsFiltered:
type: integer
example: 4
records:
type: array
example:
-
id: 1
name: 'Professional Development and Training'
total_seats: 2
used_seats: 0
stats:
notStarted: 0
inProgress: 0
completed: 0
total: 0
last24hCount: 0
membershipId: 1
-
id: 2
name: 'Advanced Professional Development'
total_seats: 2
used_seats: 0
stats:
notStarted: 0
inProgress: 0
completed: 0
total: 0
last24hCount: 0
membershipId: 1
-
id: 3
name: 'Introduction to Continuing Education'
total_seats: 2
used_seats: 0
stats:
notStarted: 0
inProgress: 0
completed: 0
total: 0
last24hCount: 0
membershipId: 1
-
id: 4
name: 'Training your Employees for the modern world'
total_seats: 2
used_seats: 0
stats:
notStarted: 0
inProgress: 0
completed: 0
total: 0
last24hCount: 0
membershipId: 1
items:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: 'Professional Development and Training'
total_seats:
type: integer
example: 2
used_seats:
type: integer
example: 0
stats:
type: object
properties:
notStarted:
type: integer
example: 0
inProgress:
type: integer
example: 0
completed:
type: integer
example: 0
total:
type: integer
example: 0
last24hCount:
type: integer
example: 0
membershipId:
type: integer
example: 1
tags:
- Groups
security: []
parameters:
-
in: path
name: id
description: 'ID of the group.'
example: '1'
required: true
schema:
type: string
'/api/group/membership/modules/{id}':
get:
summary: 'Group Membership Module Tabular List'
operationId: groupMembershipModuleTabularList
description: 'Returns all the modules of a membership in a group.'
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '50'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '50'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
-
in: query
name: search_param
description: 'For searching items based on field names.'
example: '{"nameOrEmail":""}'
required: false
schema:
type: string
description: 'For searching items based on field names.'
example: '{"nameOrEmail":""}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
groupName: 'Group One'
membership:
id: 1
name: Membership
recordsTotal: 1
recordsFiltered: 1
records:
-
id: 1
name: 'Introduction Text Module'
type: text
properties:
groupName:
type: string
example: 'Group One'
membership:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: Membership
recordsTotal:
type: integer
example: 1
recordsFiltered:
type: integer
example: 1
records:
type: array
example:
-
id: 1
name: 'Introduction Text Module'
type: text
items:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: 'Introduction Text Module'
type:
type: string
example: text
tags:
- Groups
security: []
parameters:
-
in: path
name: id
description: 'ID of the group.'
example: '1'
required: true
schema:
type: string
/api/integrations/hubspot/eventLookup:
get:
summary: 'Hubspot Event Lookup'
operationId: hubspotEventLookup
description: "Retrieves all the events for the hubspot actions.\nHelps showing options in dropdowns elements"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
db_value: new_account_created
display_value: 'New Account Created'
crud_op: Create
hubspot_crud: "[{'db_value' => 'hubspot_contact'},{'display_value'=> 'HubSpot Contact'}]"
-
db_value: 'Account Updated'
display_value: 'Account Updated'
crud_op: Update
hubspot_crud: "[['db_value' => 'hubspot_contact', 'display_value'=> 'HubSpot Contact']]"
-
db_value: course_enrolled
display_value: 'Enrolled in a course'
crud_op: Update
hubspot_crud: "[['db_value' => 'hubspot_contact', 'display_value'=> 'HubSpot Contact']]"
-
db_value: course_completed
display_value: 'Course Completed'
crud_op: Update
hubspot_crud: "[['db_value' => 'hubspot_contact', 'display_value'=> 'HubSpot Contact']]"
-
db_value: course_started
display_value: 'Course Started'
crud_op: Update
hubspot_crud: "[['db_value' => 'hubspot_contact', 'display_value'=> 'HubSpot Contact']]"
-
db_value: course_progress
display_value: 'Course Progress Tracking'
crud_op: Update
hubspot_crud: "[['db_value' => 'hubspot_deal', 'display_value'=> 'HubSpot Deal']]"
tags:
- 'Hubspot Integration'
security: []
/api/integrations/hubspot/fieldLookup:
get:
summary: 'Hubspot Field Lookup'
operationId: hubspotFieldLookup
description: "Retrieves all the fields for the hubspot.\nHelps showing options in dropdowns elements"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
lms_fields:
-
db_value: email
-
db_value: last_name
-
db_value: first_name
-
db_value: last_login_ip
-
db_value: is_disabled
-
hubspot_fields:
-
db_value: email
-
db_value: last_name
-
db_value: first_name
-
courses: []
tags:
- 'Hubspot Integration'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
type:
type: string
description: 'Type to get the data, it can either be contact or deal.'
example: contact
required:
- type
security: []
/api/hubspot/action/create:
post:
summary: 'Create Hubspot Action'
operationId: createHubspotAction
description: 'To create a Hubspot Action, you need to use this request. Provide event,action and object and it will be created. (See parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Action created Successfully'
properties:
message:
type: string
example: 'Action created Successfully'
tags:
- 'Hubspot Integration'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
event:
type: string
description: 'Event in which you want to send data.'
example: 'New Account Created'
action:
type: string
description: 'Action will be create of the event by default.'
example: create.
object:
type: string
description: 'Select the object from the dropdown list from either Hubspot Deal or Hubspot Contact.'
example: 'Hubspot Deal'
required:
- event
- action
- object
security: []
/api/hubspot/mapping/save:
post:
summary: 'Save Hubspot Mapping'
operationId: saveHubspotMapping
description: 'To save a Hubspot Mapping, you need to use this request. Provide type and it will be created. (See parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
is_success: true
message: 'Mapping saved Successfully'
properties:
is_success:
type: boolean
example: true
message:
type: string
example: 'Mapping saved Successfully'
tags:
- 'Hubspot Integration'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
type:
type: string
description: 'Type for which you want to save mapping.'
example: hubspot_contact
required:
- type
security: []
/api/hubspot/mappings:
get:
summary: 'Retrieve Hubspot Mapping'
operationId: retrieveHubspotMapping
description: 'Retrieves the details of the hubspot mapping. Helps in fetching hubspot mapping using its type. (See Parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
type: hubspot_contact
userFieldProperties: []
courseFieldProperties: []
properties:
type:
type: string
example: hubspot_contact
userFieldProperties:
type: array
example: []
courseFieldProperties:
type: array
example: []
tags:
- 'Hubspot Integration'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
type:
type: required
description: 'Type of the hupspot mapping you want to fetch the details of.'
example: hubspot_contact
security: []
/api/hubspots:
get:
summary: 'Hubspot Tabular List'
operationId: hubspotTabularList
description: "Returns all the hubspot details in a tabular list.\nYou can apply filter using search_param via events."
parameters:
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
-
in: query
name: search_param
description: 'For searching items based on field names.'
example: '{"name":"","scormTypes":[]}'
required: false
schema:
type: string
description: 'For searching items based on field names.'
example: '{"name":"","scormTypes":[]}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 1
recordsFiltered: 1
records:
-
id: 1
event: 'New Account Created'
object: ''
action: ''
event_display_value: ''
author: 'Aom Staff'
created_at: 'Aug 03, 2020 11:03 AM'
properties:
recordsTotal:
type: integer
example: 1
recordsFiltered:
type: integer
example: 1
records:
type: array
example:
-
id: 1
event: 'New Account Created'
object: ''
action: ''
event_display_value: ''
author: 'Aom Staff'
created_at: 'Aug 03, 2020 11:03 AM'
items:
type: object
properties:
id:
type: integer
example: 1
event:
type: string
example: 'New Account Created'
object:
type: string
example: ''
action:
type: string
example: ''
event_display_value:
type: string
example: ''
author:
type: string
example: 'Aom Staff'
created_at:
type: string
example: 'Aug 03, 2020 11:03 AM'
tags:
- 'Hubspot Integration'
security: []
'/api/hubspot/{id}':
put:
summary: 'Update Hubspot Action'
operationId: updateHubspotAction
description: 'To update a Hubspot Action, you need to use this request. Provide id, event, action and object and it will be updated. (See parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
message: 'Hubspot updated successfully'
properties:
id:
type: integer
example: 1
message:
type: string
example: 'Hubspot updated successfully'
tags:
- 'Hubspot Integration'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
event:
type: string
description: 'Event in which you want to send data.'
example: 'New Account Created'
action:
type: string
description: 'Action will be create of the event by default.'
example: create.
object:
type: string
description: 'Select the object from the dropdown list from either Hubspot Deal or Hubspot Contact.'
example: 'Hubspot Deal'
required:
- event
- action
- object
security: []
parameters:
-
in: path
name: id
description: 'ID of the hubspot action.'
example: '3'
required: true
schema:
type: string
'/api/hubspot/action/delete/{id}':
post:
summary: 'Delete Hubspot'
operationId: deleteHubspot
description: 'To delete a Hubspot, you need to use this request.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Hubspot deleted successfully'
properties:
message:
type: string
example: 'Hubspot deleted successfully'
tags:
- 'Hubspot Integration'
security: []
parameters:
-
in: path
name: id
description: 'Hubspot ID which needs to be deleted.'
example: '[1]'
required: true
schema:
type: string
'/api/hubspot/logs/{id}':
get:
summary: 'Hubspot Log Tabular List'
operationId: hubspotLogTabularList
description: 'Returns all the Hubspot log in a tabular list format in paginated mode.'
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '50'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '50'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 1
recordsFiltered: 1
records:
-
id: 1
event: new_account_created
data: []
status: success
errorMessage: ''
created_at: 'Aug 03, 2020 09:56 AM'
showData: false
properties:
recordsTotal:
type: integer
example: 1
recordsFiltered:
type: integer
example: 1
records:
type: array
example:
-
id: 1
event: new_account_created
data: []
status: success
errorMessage: ''
created_at: 'Aug 03, 2020 09:56 AM'
showData: false
items:
type: object
properties:
id:
type: integer
example: 1
event:
type: string
example: new_account_created
data:
type: array
example: []
status:
type: string
example: success
errorMessage:
type: string
example: ''
created_at:
type: string
example: 'Aug 03, 2020 09:56 AM'
showData:
type: boolean
example: false
tags:
- 'Hubspot Integration'
security: []
parameters:
-
in: path
name: id
description: 'ID of the Hubspot action.'
example: '50'
required: true
schema:
type: string
/api/hubspot/conditionLookup:
get:
summary: 'Conditions Lookup'
operationId: conditionsLookup
description: 'Retrieves all the conditions for Hubspot.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
db_value: equal_to
display_value: '='
-
db_value: not_equal_to
display_value: '!='
-
db_value: greater_than
display_value: '>'
-
db_value: less_than
display_value: '<'
tags:
- 'Hubspot Integration'
security: []
/api/hubspot/operatorsLookup:
get:
summary: 'Operators Lookup'
operationId: operatorsLookup
description: 'Retrieves all the operators for Hubspot.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
db_value: and
display_value: And
-
db_value: or
display_value: Or
tags:
- 'Hubspot Integration'
security: []
/api/hubspot/import-user/status:
get:
summary: 'Hubspot Import User Status'
operationId: hubspotImportUserStatus
description: ''
parameters:
-
in: query
name: importId
description: 'The Import ID. Example:'
example: cumque
required: true
schema:
type: string
description: 'The Import ID. Example:'
example: cumque
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
lastImportedDate: '07-Jan-2024 10:08 AM'
status: queue
properties:
lastImportedDate:
type: string
example: '07-Jan-2024 10:08 AM'
status:
type: string
example: queue
tags:
- 'Hubspot Integration'
security: []
'/api/hubspot/importUserlogs/{id}':
get:
summary: 'Hubspot Import User Logs'
operationId: hubspotImportUserLogs
description: 'Returns all the Hubspot log in a tabular list format in paginated mode.'
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '50'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '50'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 0
recordsFiltered: 0
records: []
properties:
recordsTotal:
type: integer
example: 0
recordsFiltered:
type: integer
example: 0
records:
type: array
example: []
tags:
- 'Hubspot Integration'
security: []
/api/integrations/listing:
get:
summary: 'System Integration Listing'
operationId: systemIntegrationListing
description: 'Retrieves all the integrations in list format. Helps while showing integrations in tab formats.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
id: 1
name: 'Google Analytics'
identifier: google-analytics
description: 'The tracking code area that google suit needs to collect data on page sessions and view.'
logo_url: /images/google-analytics.svg
is_enabled: false
implementer_class: null
created_by: 1
updated_by: 1
created_at: null
updated_at: null
-
id: 2
name: 'Facebook Pixel'
identifier: fb-pixel
description: 'The pixel code area provided in your Facebook Developer account meant for tracking the page view.'
logo_url: /images/Facebook.svg
is_enabled: false
implementer_class: null
created_by: 1
updated_by: 1
created_at: null
updated_at: null
-
id: 3
name: 'Custom JavaScript'
identifier: custom-js
description: 'The code area for some putting some tiny little piece of code for external applications.'
logo_url: /images/javascript.svg
is_enabled: false
implementer_class: null
created_by: 1
updated_by: 1
created_at: null
updated_at: null
-
id: 4
name: 'Google Single Sign On'
identifier: google-sso
description: 'Single sign-on (SSO) lets users sign in using their managed Google account credentials.'
logo_url: /images/google-logo.svg
is_enabled: false
implementer_class: null
created_by: 1
updated_by: 1
created_at: null
updated_at: null
-
id: 5
name: 'Zoom Meetings'
identifier: zoom-meetings
description: 'Zoom is a web-based video conferencing tool. Set the API details to use it in your webinars.'
logo_url: /images/zoom-logo.svg
is_enabled: false
implementer_class: null
created_by: 1
updated_by: 1
created_at: null
updated_at: null
-
id: 6
name: Webhooks
identifier: webhook
description: 'Send automated notifications to external system when something happens.'
logo_url: /images/webhooks.svg
is_enabled: false
implementer_class: null
created_by: 1
updated_by: 1
created_at: null
updated_at: null
-
id: 7
name: 'REST API Access'
identifier: rest-api-access
description: 'Now you can leverage REST-Full services. Enable this feature to work with different apps.'
logo_url: /images/api.svg
is_enabled: true
implementer_class: null
created_by: 1
updated_by: 1
created_at: null
updated_at: '2022-05-09T08:32:34.000000Z'
-
id: 8
name: GoToWebinar
identifier: goto-webinars
description: 'GoTo is a web-based video conferencing tool. Set the API details to use it in your webinars.'
logo_url: /images/goto-webinar.svg
is_enabled: false
implementer_class: null
created_by: 1
updated_by: 1
created_at: null
updated_at: null
-
id: 9
name: GoToTraining
identifier: goto-trainings
description: 'GoTo is a web-based video conferencing tool. Set the API details to use it in your webinars.'
logo_url: /images/goto-training.svg
is_enabled: false
implementer_class: null
created_by: 1
updated_by: 1
created_at: null
updated_at: null
-
id: 10
name: 'Single Sign On (OAuth 2.0)'
identifier: generic-sso-oauth
description: 'Single sign-on (SSO OAuth 2.0) is an authentication scheme that allows a user to log in with a single ID and password.'
logo_url: /images/sso-oauth.svg
is_enabled: false
implementer_class: null
created_by: 1
updated_by: 1
created_at: null
updated_at: null
-
id: 11
name: 'Single Sign On (SAML 2.0)'
identifier: generic-sso-saml
description: 'Single sign-on (SSO SAML 2.0) is an authentication scheme that allows a user to log in with a single ID and password.'
logo_url: /images/saml-logo.svg
is_enabled: false
implementer_class: null
created_by: 1
updated_by: 1
created_at: null
updated_at: null
-
id: 12
name: HubSpot
identifier: hubspot
description: 'HubSpot is an inbound marketing and sales service. Use this integration to sync your hubspot with your LMS platform.'
logo_url: /images/hubspot.svg
is_enabled: false
implementer_class: null
created_by: 1
updated_by: 1
created_at: null
updated_at: null
-
id: 13
name: 'MS Teams Meetings'
identifier: ms-team-meet
description: 'Microsoft Teams is a collaboration app that helps your team stay organized and have conversations—all in one place.'
logo_url: /images/microsoft-teams.svg
is_enabled: false
implementer_class: null
created_by: 1
updated_by: 1
created_at: null
updated_at: null
-
id: 14
name: Shopify
identifier: shopify
description: 'Shopify is used to hosts your online store. Use this integration to sync your LMS courses with your shopify products.'
logo_url: /images/shopify.svg
is_enabled: false
implementer_class: null
created_by: 1
updated_by: 1
created_at: null
updated_at: null
-
id: 15
name: Salesforce
identifier: salesforce
description: 'Salesforce provides customer relationship management service. Use this integration to sync your salesforce with your LMS platform.'
logo_url: /images/salesforce.svg
is_enabled: false
implementer_class: null
created_by: 1
updated_by: 1
created_at: null
updated_at: null
-
id: 16
name: Accredible
identifier: accredible
description: 'Accredible is one of the only platforms available that is a full service digital credentialing solution.'
logo_url: /images/accredible.svg
is_enabled: false
implementer_class: null
created_by: 1
updated_by: 1
created_at: null
updated_at: null
tags:
- Integrations
security: []
'/api/integrations/settings/{id}':
put:
summary: 'Update Integration Settings'
operationId: updateIntegrationSettings
description: 'Updates the integration settings for a specified integration. Setting needs to be updated is mentioned in parameter. (See Parameter)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Settings Updated'
properties:
message:
type: string
example: 'Settings Updated'
tags:
- Integrations
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
is_enabled:
type: boolean
description: 'Whether this integration is enabled or not.'
example: true
settings:
type: array
description: 'All the setting for this integration(ga_code, zoom).'
example:
- ut
items:
type: string
required:
- is_enabled
security: []
get:
summary: 'Retrieve Integration Settings'
operationId: retrieveIntegrationSettings
description: 'Retrieves all the integration settings for a specified integration. Helps in mainting the data and enable status of the integration.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
name: 'Google Analytics'
identifier: google-analytics
is_enabled: false
settings:
ga_code: ''
properties:
name:
type: string
example: 'Google Analytics'
identifier:
type: string
example: google-analytics
is_enabled:
type: boolean
example: false
settings:
type: object
properties:
ga_code:
type: string
example: ''
tags:
- Integrations
security: []
parameters:
-
in: path
name: id
description: 'ID of the integration.'
example: '1'
required: true
schema:
type: string
/api/integrations/updateStatus:
put:
summary: 'Update Integration Status'
operationId: updateIntegrationStatus
description: 'Updates the integration status(enabled or disabled) for a specified integration.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Settings Updated'
properties:
message:
type: string
example: 'Settings Updated'
tags:
- Integrations
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: integer
description: 'ID of the integration.'
example: 4
status:
type: boolean
description: 'Whether this integration is enabled or not.'
example: true
required:
- id
- status
security: []
/api/shopify/product/lookup:
post:
summary: 'Retrieve Shopify Product List'
operationId: retrieveShopifyProductList
description: 'Return all the Shopify Product, you need to use this request.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
id: 1
title: 'Introduction to Continuing Education'
-
id: 2
title: 'Professional Training And Education'
tags:
- Integrations
security: []
/api/shopify/product/create:
post:
summary: 'Create Shopify Product'
operationId: createShopifyProduct
description: 'To create a Shopify Product, you need to use this request. (See parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
success: true
message: 'Product created successfully'
product_id: 1
product_title: 'Professional Training And Education'
tags:
- Integrations
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
title:
type: string
description: 'Title of the product.'
example: 'Professional Training And Education'
price:
type: string
description: 'Price of the product.'
example: '3000'
required:
- title
security: []
/api/shopify/webhook/subscribe:
post:
summary: 'Subscribe Shopify Webhook'
operationId: subscribeShopifyWebhook
description: 'To subscribe a Shopify Webhook, you need to use this request.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
success: true
message: 'Webhook Subscription is successful'
tags:
- Integrations
security: []
/api/leaderboard/tabularlist:
get:
summary: 'Retrieve List of Leaderboard Tiers'
operationId: retrieveListOfLeaderboardTiers
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 1
records:
-
id: 1
name: test
lowerLimit: 1
upperLimit: 2
properties:
recordsTotal:
type: integer
example: 1
records:
type: array
example:
-
id: 1
name: test
lowerLimit: 1
upperLimit: 2
items:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: test
lowerLimit:
type: integer
example: 1
upperLimit:
type: integer
example: 2
tags:
- Leaderboard
security: []
/api/leaderboard/create:
post:
summary: 'Create Leaderboard Tier'
operationId: createLeaderboardTier
description: ''
parameters:
-
in: query
name: name
description: 'string The name of the LeaderboardTier.'
example: '"Level 1"'
required: true
schema:
type: string
description: 'string The name of the LeaderboardTier.'
example: '"Level 1"'
-
in: query
name: lowerLimit
description: 'The lower limit for the LeaderboardTier.'
example: '10'
required: true
schema:
type: string
description: 'The lower limit for the LeaderboardTier.'
example: '10'
-
in: query
name: upperLimit
description: 'numeric The upper limit for the LeaderboardTier.'
example: '100.5'
required: true
schema:
type: string
description: 'numeric The upper limit for the LeaderboardTier.'
example: '100.5'
responses: { }
tags:
- Leaderboard
security: []
'/api/leaderboard/{id}':
get:
summary: 'Retrieve Leaderboard Tiers'
operationId: retrieveLeaderboardTiers
description: 'Retrieves the details of the specified Leadership Tier. Helps in fetching Leaderboard Tiers using ID. (See Parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
name: 'Level 1'
lowerLimit: 1
upperLimit: 2
properties:
id:
type: integer
example: 1
name:
type: string
example: 'Level 1'
lowerLimit:
type: integer
example: 1
upperLimit:
type: integer
example: 2
tags:
- Leaderboard
security: []
put:
summary: 'Update Leaderboard Tier'
operationId: updateLeaderboardTier
description: ''
parameters:
-
in: query
name: name
description: 'string The name of the LeaderboardTier.'
example: '"Level 1"'
required: true
schema:
type: string
description: 'string The name of the LeaderboardTier.'
example: '"Level 1"'
-
in: query
name: lowerLimit
description: 'The lower limit for the LeaderboardTier.'
example: '10'
required: true
schema:
type: string
description: 'The lower limit for the LeaderboardTier.'
example: '10'
-
in: query
name: upperLimit
description: 'numeric The upper limit for the LeaderboardTier.'
example: '100.5'
required: true
schema:
type: string
description: 'numeric The upper limit for the LeaderboardTier.'
example: '100.5'
responses: { }
tags:
- Leaderboard
security: []
parameters:
-
in: path
name: id
description: 'ID of the Leaderboard Tier you want to fetch the details of.'
example: '1'
required: true
schema:
type: string
'/api/leaderboard/delete/{id}':
post:
summary: 'Delete Leadership Tier'
operationId: deleteLeadershipTier
description: 'Delete a Leadership tier by ID.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Tier deleted Succesfully.'
success: true
properties:
message:
type: string
example: 'Tier deleted Succesfully.'
success:
type: boolean
example: true
tags:
- Leaderboard
security: []
parameters:
-
in: path
name: id
description: 'The ID of the leaderboard tier to be deleted.'
example: 1
required: true
schema:
type: integer
/api/locations/lookup:
post:
summary: 'Location Lookup'
operationId: locationLookup
description: 'Retrieve List of Location'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
value: 2
label: 'Cherry Hill'
tags:
- Location
security: []
/api/location/create:
post:
summary: 'Create Location'
operationId: createLocation
description: 'To create location, you need to use this request. (See parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Location Created Successfully'
properties:
message:
type: string
example: 'Location Created Successfully'
tags:
- Location
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
address:
type: string
description: 'The address of the location.'
example: 'Cherry Hill'
city:
type: string
description: 'The city where the address is located.'
example: 'New Jersey'
country:
type: string
description: 'The country where the address is located. US'
example: eius
location_name:
type: string
description: 'The name of the location.'
example: 'Kings Hwy'
map_url:
type: string
description: 'The URL of a map associated with the location.'
example: 'https://example.com/maps/location123'
zipcode:
type: integer
description: 'The ZIP code of the location.'
example: 12345
required:
- address
- city
- country
- location_name
- zipcode
security: []
/api/location/tabularlist:
get:
summary: 'Retrieve List of Locations'
operationId: retrieveListOfLocations
description: ''
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '50'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '50'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}'
-
in: query
name: search_param
description: 'For searching items based on field names.'
example: '{"locationName":""}'
required: false
schema:
type: string
description: 'For searching items based on field names.'
example: '{"locationName":""}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 2
recordsFiltered: 2
records:
-
id: 2
name: 'Cherry Hill'
address: '1060 Kings Hwy N Ste 310'
city: 'New Jersey'
country: US
zipcode: '08034'
map_url: null
created_at: 'Dec 07, 2023 11:37 PM'
-
id: 1
name: Virtual
address: null
city: null
country: null
zipcode: null
map_url: null
created_at: 'Nov 29, 2023 08:07 AM'
properties:
recordsTotal:
type: integer
example: 2
recordsFiltered:
type: integer
example: 2
records:
type: array
example:
-
id: 2
name: 'Cherry Hill'
address: '1060 Kings Hwy N Ste 310'
city: 'New Jersey'
country: US
zipcode: '08034'
map_url: null
created_at: 'Dec 07, 2023 11:37 PM'
-
id: 1
name: Virtual
address: null
city: null
country: null
zipcode: null
map_url: null
created_at: 'Nov 29, 2023 08:07 AM'
items:
type: object
properties:
id:
type: integer
example: 2
name:
type: string
example: 'Cherry Hill'
address:
type: string
example: '1060 Kings Hwy N Ste 310'
city:
type: string
example: 'New Jersey'
country:
type: string
example: US
zipcode:
type: string
example: '08034'
map_url:
type: string
example: null
created_at:
type: string
example: 'Dec 07, 2023 11:37 PM'
tags:
- Location
security: []
'/api/location/{id}':
get:
summary: 'Get Location'
operationId: getLocation
description: 'Retrieves the location details based on the location ID specified.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 2
name: 'Cherry Hill'
address: '1060 Kings Hwy N Ste 310'
city: 'New Jersey'
country: US
zipcode: '08034'
map_url: null
created_by: 1
updated_by: null
deleted_by: null
created_at: '2023-12-08T06:37:54.000000Z'
updated_at: '2024-01-04T08:09:05.000000Z'
deleted_at: null
properties:
id:
type: integer
example: 2
name:
type: string
example: 'Cherry Hill'
address:
type: string
example: '1060 Kings Hwy N Ste 310'
city:
type: string
example: 'New Jersey'
country:
type: string
example: US
zipcode:
type: string
example: '08034'
map_url:
type: string
example: null
created_by:
type: integer
example: 1
updated_by:
type: string
example: null
deleted_by:
type: string
example: null
created_at:
type: string
example: '2023-12-08T06:37:54.000000Z'
updated_at:
type: string
example: '2024-01-04T08:09:05.000000Z'
deleted_at:
type: string
example: null
tags:
- Location
security: []
put:
summary: 'Update Location'
operationId: updateLocation
description: 'Updates the existing location.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Location Updated Successfully'
properties:
message:
type: string
example: 'Location Updated Successfully'
tags:
- Location
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
address:
type: string
description: 'The address of the location.'
example: 'Cherry Hill'
city:
type: string
description: 'The city where the address is located.'
example: 'New Jersey'
country:
type: string
description: 'The country where the address is located. US'
example: ad
location_name:
type: string
description: 'The name of the location.'
example: 'Kings Hwy'
map_url:
type: string
description: 'The URL of a map associated with the location.'
example: 'https://example.com/maps/location123'
zipcode:
type: integer
description: 'The ZIP code of the location.'
example: 12345
required:
- address
- city
- country
- location_name
- zipcode
security: []
parameters:
-
in: path
name: id
description: 'The ID of the location.'
example: '2'
required: true
schema:
type: string
/api/location/delete:
post:
summary: 'Delete Location'
operationId: deleteLocation
description: 'Returns success message on deleting location'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: '1 location(s) deleted.0 location(s) not deleted as it is used in class(s). Please remove the location from the class(s) and try again.'
deletedLocations: 1
notDeletedLocations: 0
usedInClass: []
properties:
message:
type: string
example: '1 location(s) deleted.0 location(s) not deleted as it is used in class(s). Please remove the location from the class(s) and try again.'
deletedLocations:
type: integer
example: 1
notDeletedLocations:
type: integer
example: 0
usedInClass:
type: array
example: []
tags:
- Location
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
delete_id:
type: array
description: 'The ID of location.'
example:
- 3
items:
type: string
security: []
/api/media:
post:
summary: 'Upload Media'
operationId: uploadMedia
description: "You can upload the files in the platform using this request.\nUploaded media files can be used while submission, image display in pages, etc."
parameters:
-
in: query
name: resumableChunkNumber
description: 'Chunk number for the media.'
example: '1'
required: true
schema:
type: string
description: 'Chunk number for the media.'
example: '1'
-
in: query
name: resumableChunkSize
description: 'Chunk size for the media in bits.'
example: '10485760'
required: true
schema:
type: string
description: 'Chunk size for the media in bits.'
example: '10485760'
-
in: query
name: resumableCurrentChunkSize
description: 'Current uploading chunk size for the media in bits.'
example: '79531'
required: true
schema:
type: string
description: 'Current uploading chunk size for the media in bits.'
example: '79531'
-
in: query
name: resumableTotalSize
description: 'Total chunk size for the media in bits.'
example: '79531'
required: true
schema:
type: string
description: 'Total chunk size for the media in bits.'
example: '79531'
-
in: query
name: resumableType
description: 'Type of the media in that is going to be uploaded.'
example: image/png
required: true
schema:
type: string
description: 'Type of the media in that is going to be uploaded.'
example: image/png
-
in: query
name: resumableIdentifier
description: 'Identifier for the media that is going to be uploaded.'
example: 79531-default-certificatepng
required: true
schema:
type: string
description: 'Identifier for the media that is going to be uploaded.'
example: 79531-default-certificatepng
-
in: query
name: resumableFilename
description: 'Name of the media that is going to be uploaded.'
example: default-certificate.png
required: true
schema:
type: string
description: 'Name of the media that is going to be uploaded.'
example: default-certificate.png
-
in: query
name: resumableRelativePath
description: 'Relative path of the media that is going to be uploaded.'
example: default-certificate.png
required: true
schema:
type: string
description: 'Relative path of the media that is going to be uploaded.'
example: default-certificate.png
-
in: query
name: resumableTotalChunks
description: 'Total chunks.'
example: '1'
required: true
schema:
type: string
description: 'Total chunks.'
example: '1'
-
in: query
name: file
description: 'Binary file.'
example: (binary)
required: true
schema:
type: string
description: 'Binary file.'
example: (binary)
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 1
recordsFiltered: 1
records:
-
id: 2
file_name: default-certificate-8741bc53eb39d4154c232925c0f13088.png
file_type: Images
status: Completed
s3_url: 'https://aom-uploads-test.s3.us-west-2.amazonaws.com/public/default-certificate-8741bc53eb39d4154c232925c0f13088.png'
mux_url: null
mime_type: image/png
uploaded_by: 'Aom Staff'
created_at: 'Aug 12, 2020 09:02 AM'
properties:
recordsTotal:
type: integer
example: 1
recordsFiltered:
type: integer
example: 1
records:
type: array
example:
-
id: 2
file_name: default-certificate-8741bc53eb39d4154c232925c0f13088.png
file_type: Images
status: Completed
s3_url: 'https://aom-uploads-test.s3.us-west-2.amazonaws.com/public/default-certificate-8741bc53eb39d4154c232925c0f13088.png'
mux_url: null
mime_type: image/png
uploaded_by: 'Aom Staff'
created_at: 'Aug 12, 2020 09:02 AM'
items:
type: object
properties:
id:
type: integer
example: 2
file_name:
type: string
example: default-certificate-8741bc53eb39d4154c232925c0f13088.png
file_type:
type: string
example: Images
status:
type: string
example: Completed
s3_url:
type: string
example: 'https://aom-uploads-test.s3.us-west-2.amazonaws.com/public/default-certificate-8741bc53eb39d4154c232925c0f13088.png'
mux_url:
type: string
example: null
mime_type:
type: string
example: image/png
uploaded_by:
type: string
example: 'Aom Staff'
created_at:
type: string
example: 'Aug 12, 2020 09:02 AM'
tags:
- Media
security: []
/api/media/tabularlist:
get:
summary: 'Media Tabular List'
operationId: mediaTabularList
description: "Returns all the media in a tabular list format in paginated mode.\nYou can apply filter using search_param via name(media name)."
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '50'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '50'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
-
in: query
name: search_param
description: 'For searching items based on field names.'
example: '{"name":""}'
required: false
schema:
type: string
description: 'For searching items based on field names.'
example: '{"name":""}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 1
recordsFiltered: 1
records:
-
id: 2
file_name: default-certificate-8741bc53eb39d4154c232925c0f13088.png
file_type: Images
status: Completed
s3_url: 'https://aom-uploads-test.s3.us-west-2.amazonaws.com/public/default-certificate-8741bc53eb39d4154c232925c0f13088.png'
mux_url: null
mime_type: image/png
uploaded_by: 'Aom Staff'
created_at: 'Aug 12, 2020 09:02 AM'
properties:
recordsTotal:
type: integer
example: 1
recordsFiltered:
type: integer
example: 1
records:
type: array
example:
-
id: 2
file_name: default-certificate-8741bc53eb39d4154c232925c0f13088.png
file_type: Images
status: Completed
s3_url: 'https://aom-uploads-test.s3.us-west-2.amazonaws.com/public/default-certificate-8741bc53eb39d4154c232925c0f13088.png'
mux_url: null
mime_type: image/png
uploaded_by: 'Aom Staff'
created_at: 'Aug 12, 2020 09:02 AM'
items:
type: object
properties:
id:
type: integer
example: 2
file_name:
type: string
example: default-certificate-8741bc53eb39d4154c232925c0f13088.png
file_type:
type: string
example: Images
status:
type: string
example: Completed
s3_url:
type: string
example: 'https://aom-uploads-test.s3.us-west-2.amazonaws.com/public/default-certificate-8741bc53eb39d4154c232925c0f13088.png'
mux_url:
type: string
example: null
mime_type:
type: string
example: image/png
uploaded_by:
type: string
example: 'Aom Staff'
created_at:
type: string
example: 'Aug 12, 2020 09:02 AM'
tags:
- Media
security: []
/api/media/delete:
post:
summary: 'Delete Media'
operationId: deleteMedia
description: "To delete a media, you need to use this request.\nReturns number of medias deleted. (See Response)"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: '1 media(s) deleted'
properties:
message:
type: string
example: '1 media(s) deleted'
tags:
- Media
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
delete_ids:
type: array
description: 'All media IDs which needs to be deleted.'
example:
- 3
items:
type: string
required:
- delete_ids
security: []
/api/media/status:
get:
summary: 'Get Media Status'
operationId: getMediaStatus
description: "To get media status, you need to use this request.\nReturns the status of the uploaded media. (See Response)"
parameters:
-
in: query
name: media_Id
description: 'Media ID which needs to see status of.'
example: '3'
required: true
schema:
type: string
description: 'Media ID which needs to see status of.'
example: '3'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
status: Completed
properties:
status:
type: string
example: Completed
tags:
- Media
security: []
/api/media/mux/download:
post:
summary: 'Download Video'
operationId: downloadVideo
description: 'To download a video, you need to use this request. (See parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
status: '2'
downloadUrl: ''
properties:
status:
type: string
example: '2'
downloadUrl:
type: string
example: ''
tags:
- Media
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
mux_id:
type: integer
description: 'ID of the video which needs to be downloaded.'
example: 10
required:
- mux_id
security: []
/api/memberships/lookup:
get:
summary: Lookup
operationId: lookup
description: 'Retrieves all the memberships. Helps in showing membership names in forms elements like dropdown.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
id: 1
name: Membership-plan-1
tags:
- Memberships
security: []
/api/memberships/tabularlist:
get:
summary: 'Tabular List'
operationId: tabularList
description: "Retrieves all the memberships in a tabular list format with pagination mode.\nYou can apply filter using search_param"
parameters:
-
in: query
name: page_size
description: 'The number of the memberships you want for a page.'
example: '10'
required: true
schema:
type: string
description: 'The number of the memberships you want for a page.'
example: '10'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at","direction":"desc"}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at","direction":"desc"}'
-
in: query
name: search_param
description: 'for searching items based on memberships name.'
example: '{"name":"My-First-Membership"}'
required: false
schema:
type: string
description: 'for searching items based on memberships name.'
example: '{"name":"My-First-Membership"}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 4
recordsFiltered: 4
records:
-
id: 4
name: My-First-Membership
expired_at: '2021-05-04 23:45:50'
properties:
recordsTotal:
type: integer
example: 4
recordsFiltered:
type: integer
example: 4
records:
type: array
example:
-
id: 4
name: My-First-Membership
expired_at: '2021-05-04 23:45:50'
items:
type: object
properties:
id:
type: integer
example: 4
name:
type: string
example: My-First-Membership
expired_at:
type: string
example: '2021-05-04 23:45:50'
tags:
- Memberships
security: []
'/api/membership/{id}':
get:
summary: 'Retrieve Membership'
operationId: retrieveMembership
description: 'Retrieves the details of the specified membership. Helps in fetching membership using its ID. (See Parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
name: Gold-plan
courseAccess: specific
moduleAccess: all
expired_at: null
courseAccessCategories:
- 1
- 2
moduleAccessCategories: []
properties:
name:
type: string
example: Gold-plan
courseAccess:
type: string
example: specific
moduleAccess:
type: string
example: all
expired_at:
type: string
example: null
courseAccessCategories:
type: array
example:
- 1
- 2
items:
type: integer
moduleAccessCategories:
type: array
example: []
tags:
- Memberships
security: []
put:
summary: 'Update Membership'
operationId: updateMembership
description: "Updates the details of a specified membership. (See parameters)\nMembership is being used as to couple courses and standalone modules for students to launch and view."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
message: 'Membership updated successfully'
properties:
id:
type: integer
example: 1
message:
type: string
example: 'Membership updated successfully'
tags:
- Memberships
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Name of the membership.'
example: Gold-membership
expired_at:
type: string
description: 'Expire date for the membership.'
example: "'2021-10-03 23:59:59'"
courseAccess:
type: string
description: 'Access option for courses. {all, no_access, specific} Only these values allowed.'
example: all
moduleAccess:
type: string
description: 'Access option for modules. {all, no_access, specific} Only these values allowed.'
example: all
courseAccessCategories:
type: array
description: 'Any course category IDs if you have selected specific in courseAccess parameter.'
example:
- 1
- 2
items:
type: string
moduleAccessCategories:
type: array
description: 'Any module category IDs if you have selected specific in moduleAccess parameter.'
example:
- 5
- 19
items:
type: string
required:
- name
security: []
parameters:
-
in: path
name: id
description: 'ID of the membership you want to fetch the details of.'
example: '1'
required: true
schema:
type: string
/api/membership:
post:
summary: 'Create Membership'
operationId: createMembership
description: "To create a membership, you need to use this request. (See parameters)\nCreated membership is being used as to couple course and standalone modules for students to launch and view.\n\nReturns : id of the membership created and successfull message"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
message: 'Membership created successfully'
properties:
id:
type: integer
example: 1
message:
type: string
example: 'Membership created successfully'
tags:
- Memberships
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Name of the membership.'
example: Gold-membership
expired_at:
type: string
description: 'Expire date for the membership.'
example: "'2021-10-03 23:59:59'"
courseAccess:
type: string
description: 'Access option for courses. {all, no_access, specific} Only these values allowed.'
example: all
moduleAccess:
type: string
description: 'Access option for modules. {all, no_access, specific} Only these values allowed.'
example: all
courseAccessCategories:
type: array
description: 'Any course category IDs if you have selected specific in courseAccess parameter.'
example:
- 1
- 2
items:
type: string
moduleAccessCategories:
type: array
description: 'Any module category IDs if you have selected specific in moduleAccess parameter.'
example:
- 5
- 19
items:
type: string
required:
- name
security: []
/api/membership/quickEdit:
post:
summary: 'Quick Edit'
operationId: quickEdit
description: 'Updates the details in bulk for a specified membership. Parameters is provided which needs to be updated. (See Parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Memberships updated Successfully'
properties:
message:
type: string
example: 'Memberships updated Successfully'
tags:
- Memberships
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
membership_ids:
type: array
description: 'All membership IDs which needs to be updated.'
example:
- 3
- 2
items:
type: string
expired_at:
type: datetime
description: 'It will change the expiry date for all selected memberships.'
example: '2021-01-11 23:45:00'
required:
- membership_ids
security: []
/api/menus/list:
get:
summary: 'Retrieve Menus'
operationId: retrieveMenus
description: "Retrieves all the menus in list format. Helps while showing menu in front end.\n(See Response)"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
id: 1
name: 'Main Menu'
items:
-
label: Home
type: page
custom_link: null
page_id: 1
display_order: 1
css_class: null
restrictions: null
open_in_new_tab: false
level: 1
isCollapsed: true
hyperlink: /
-
label: Courses
type: page
custom_link: null
page_id: 2
display_order: 2
css_class: null
restrictions: null
open_in_new_tab: false
level: 1
isCollapsed: true
hyperlink: 'http://localhost:8000/course-catalog'
-
label: 'Our Team'
type: page
custom_link: null
page_id: 3
display_order: 3
css_class: null
restrictions: null
open_in_new_tab: false
level: 1
isCollapsed: true
hyperlink: 'http://localhost:8000/about-us'
-
label: 'Contact Us'
type: page
custom_link: null
page_id: 6
display_order: 4
css_class: null
restrictions: null
open_in_new_tab: false
level: 1
isCollapsed: true
hyperlink: 'http://localhost:8000/contact-us'
-
id: 2
name: 'Top Bar Menu'
items:
-
label: Dashboard
type: custom_link
custom_link: /dashboard
page_id: null
display_order: 1
css_class: null
restrictions: null
open_in_new_tab: false
level: 1
isCollapsed: true
hyperlink: /dashboard
-
label: Cart
type: page
custom_link: null
page_id: 5
display_order: 2
css_class: null
restrictions: null
open_in_new_tab: false
level: 1
isCollapsed: true
hyperlink: 'http://localhost:8000/cart'
-
id: 3
name: 'Footer Menu'
items: []
-
id: 4
name: 'Learner Dashboard Sidebar'
items: []
tags:
- Menus
security: []
'/api/menus/items/{id}':
get:
summary: 'Retrieve Menu Items'
operationId: retrieveMenuItems
description: "Retrieves all the items of a specified menu. Helps while showing menu items in front end.\n(See Response)"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
label: Home
type: page
custom_link: null
page_id: 1
display_order: 1
css_class: null
restrictions: null
open_in_new_tab: false
level: 1
isCollapsed: true
hyperlink: /
-
label: Courses
type: page
custom_link: null
page_id: 2
display_order: 2
css_class: null
restrictions: null
open_in_new_tab: false
level: 1
isCollapsed: true
hyperlink: 'http://localhost:8000/course-catalog'
-
label: 'Our Team'
type: page
custom_link: null
page_id: 3
display_order: 3
css_class: null
restrictions: null
open_in_new_tab: false
level: 1
isCollapsed: true
hyperlink: 'http://localhost:8000/about-us'
-
label: 'Contact Us'
type: page
custom_link: null
page_id: 6
display_order: 4
css_class: null
restrictions: null
open_in_new_tab: false
level: 1
isCollapsed: true
hyperlink: 'http://localhost:8000/contact-us'
tags:
- Menus
security: []
parameters:
-
in: path
name: id
description: 'ID of the menu.'
example: '1'
required: true
schema:
type: string
/api/menus:
post:
summary: 'Save Menu'
operationId: saveMenu
description: "If admins want to add new menu , you can use this request to make one.\nAdds new items or updates existing items.\n(See Response)"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Menu updated successfully'
properties:
message:
type: string
example: 'Menu updated successfully'
tags:
- Menus
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
menuList:
type: array
description: 'Menu list which needs to saved in this menu.'
example:
-
id: 1
name: 'Main Menu'
items:
-
label: Home
type: page
custom_link: null
page_id: 1
display_order: 1
css_class: null
restrictions: null
open_in_new_tab: false
level: 1
isCollapsed: true
hyperlink: /
-
label: Courses
type: page
custom_link: null
page_id: 2
display_order: 2
css_class: null
restrictions: null
open_in_new_tab: false
level: 1
isCollapsed: true
hyperlink: 'http://localhost:8000/course-catalog'
-
label: 'Our Team'
type: page
custom_link: null
page_id: 3
display_order: 3
css_class: null
restrictions: null
open_in_new_tab: false
level: 1
isCollapsed: true
hyperlink: 'http://localhost:8000/about-us'
-
label: 'Contact Us'
type: page
custom_link: null
page_id: 6
display_order: 4
css_class: null
restrictions: null
open_in_new_tab: false
level: 1
isCollapsed: true
hyperlink: 'http://localhost:8000/contact-us'
-
id: 2
name: 'Top Bar Menu'
items:
-
label: Dashboard
type: custom_link
custom_link: /dashboard
page_id: null
display_order: 1
css_class: null
restrictions: null
open_in_new_tab: false
level: 1
isCollapsed: true
hyperlink: /dashboard
-
label: Cart
type: page
custom_link: null
page_id: 5
display_order: 2
css_class: null
restrictions: null
open_in_new_tab: false
level: 1
isCollapsed: true
hyperlink: 'http://localhost:8000/cart'
-
id: 3
name: 'Footer Menu'
items: []
items:
type: string
security: []
/api/modules/addBlank:
post:
summary: 'Create Blank Module'
operationId: createBlankModule
description: "To create a blank module, you need to use this request. (See parameters)\nCreated blank modules can be used while creating a course and adding different module in the same course. (See Parameters)\n\nReturns : id of the module created and icon to for the module(text, video, pdf, scorm, discussion, etc)"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 14
icon: ''
properties:
id:
type: integer
example: 14
icon:
type: string
example: ''
tags:
- Modules
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Name of the module that you want to create.'
example: Lesson-1
type:
type: string
description: 'Type of the module(whether its text, video, pdf, assignment etc).'
example: text
required:
- name
- type
security: []
/api/modules/lookup:
get:
summary: 'Modules Lookup'
operationId: modulesLookup
description: "Retrieves all the modules. Helps while showing modules names in form elements like dropdown.\nYou can apply filters using search_term parameter. (See Response)"
parameters:
-
in: query
name: search_term
description: 'You need to provide module name or substring of the module name to search for that module.'
example: magni
required: true
schema:
type: string
description: 'You need to provide module name or substring of the module name to search for that module.'
example: magni
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
id: 7
name: First-quiz
type: quiz
value: 7
label: First-quiz
icon: ''
-
id: 8
name: Quiz-2
type: quiz
value: 8
label: Quiz-2
icon: ''
tags:
- Modules
security: []
/api/modules/pendingsubmissions:
get:
summary: 'Retrieve Pending Submissions'
operationId: retrievePendingSubmissions
description: "This is for admin panel. Returns all the submissions done by the students and haven't evaluated by the instructor.\nReturns list including total pending count of submissions(assignment, discussion) and details of pending submissions."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
totalPending: 1
data:
-
id: 1
name: 'course 1'
featured_image_url: null
totalSubmission: 1
properties:
totalPending:
type: integer
example: 1
data:
type: array
example:
-
id: 1
name: 'course 1'
featured_image_url: null
totalSubmission: 1
items:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: 'course 1'
featured_image_url:
type: string
example: null
totalSubmission:
type: integer
example: 1
tags:
- Modules
security: []
/api/modules/type/lookup:
get:
summary: 'Modules Type Lookup'
operationId: modulesTypeLookup
description: "Retrieves all the type of the module that platform supports. Helps while showing module types in form elements like dropdown.\nReturns a list of all module types. (See Response)"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
db_value: text
display_value: Text
-
db_value: video
display_value: Video
-
db_value: pdf
display_value: PDF
-
db_value: webinar
display_value: Webinar
-
db_value: scorm
display_value: SCORM
-
db_value: quiz
display_value: Quiz
-
db_value: assignment
display_value: Assignment
-
db_value: discussion
display_value: Discussion
-
db_value: survey
display_value: Survey
tags:
- Modules
security: []
/api/modules/fieldtype/lookup:
get:
summary: 'FormField Types Lookup'
operationId: formFieldTypesLookup
description: "Retrieves all the type of the form fields that platform supports for Survey module. Helps while showing form fields types in form elements like dropdown while creating survey form.\nReturns a list of all form field types. (See Response)"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
db_value: text
display_value: Text
-
db_value: textarea
display_value: 'Text Area'
-
db_value: rating
display_value: Rating
-
db_value: radio
display_value: 'Single Select'
-
db_value: checkbox
display_value: 'Multiple Select'
-
db_value: dropdown
display_value: 'Drop Down'
tags:
- Modules
security: []
/api/modules/tabularlist:
get:
summary: 'Modules Tabular List'
operationId: modulesTabularList
description: "Returns all the modules in a tabular list format in paginated mode.\nYou can apply filter using search_param via moduleTypes(module type), associatedCourse(modules used in course) and moduleName."
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '50'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '50'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
-
in: query
name: search_param
description: 'for searching items based on field names.'
example: '{"moduleTypes": ["text"],associatedCourse":"","moduleName":""}'
required: false
schema:
type: string
description: 'for searching items based on field names.'
example: '{"moduleTypes": ["text"],associatedCourse":"","moduleName":""}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 14
recordsFiltered: 3
records:
-
id: 14
name: Lesson-1
slug: lesson-1
type: text
icon: ''
author: 'Aom Staff'
created_at: 'Aug 11, 2020 06:45 AM'
-
id: 5
name: 'The Fundamentals of LMS'
slug: the-fundamentals-of-lms
type: text
icon: ''
author: 'Aom Staff'
created_at: 'Aug 10, 2020 04:59 PM'
-
id: 1
name: test
slug: test
type: text
icon: ''
author: 'Aom Staff'
created_at: 'Aug 03, 2020 09:56 AM'
properties:
recordsTotal:
type: integer
example: 14
recordsFiltered:
type: integer
example: 3
records:
type: array
example:
-
id: 14
name: Lesson-1
slug: lesson-1
type: text
icon: ''
author: 'Aom Staff'
created_at: 'Aug 11, 2020 06:45 AM'
-
id: 5
name: 'The Fundamentals of LMS'
slug: the-fundamentals-of-lms
type: text
icon: ''
author: 'Aom Staff'
created_at: 'Aug 10, 2020 04:59 PM'
-
id: 1
name: test
slug: test
type: text
icon: ''
author: 'Aom Staff'
created_at: 'Aug 03, 2020 09:56 AM'
items:
type: object
properties:
id:
type: integer
example: 14
name:
type: string
example: Lesson-1
slug:
type: string
example: lesson-1
type:
type: string
example: text
icon:
type: string
example: ''
author:
type: string
example: 'Aom Staff'
created_at:
type: string
example: 'Aug 11, 2020 06:45 AM'
tags:
- Modules
security: []
'/api/modules/update-slug/{id}':
put:
summary: 'Update Slug'
operationId: updateSlug
description: "Updates the slug of the course.\nExample - old-awesome-course to new-awesome-course"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: string
example: lesson-1
tags:
- Modules
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
slug:
type: required
description: 'New slug for the module.'
example: new-lesson-1
security: []
parameters:
-
in: path
name: id
description: 'The ID of the module.'
example: '1'
required: true
schema:
type: string
/api/module/quickEdit:
post:
summary: 'Quick Edit'
operationId: quickEdit
description: 'Updates the details in bulk for a specified module. Parameters is provided which needs to be updated. (See Parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Modules updated Successfully'
properties:
message:
type: string
example: 'Modules updated Successfully'
tags:
- Modules
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
module_ids:
type: array
description: 'All module IDs which needs to be updated.'
example:
- 5
- 14
items:
type: string
author_id:
type: integer
description: 'Update the instructor/Author for the selected modules.'
example: 1
required:
- module_ids
security: []
/api/modules/delete:
post:
summary: 'Delete Module'
operationId: deleteModule
description: "To delete a module, you need to use this request.\nReturns number of module deleted(if multiple selected) and also not deleted. (See Response)"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: '2 modules(s) deleted 1 modules(s) not deleted as it is used in course(s). Please remove the modules from the course and try again.'
properties:
message:
type: string
example: '2 modules(s) deleted 1 modules(s) not deleted as it is used in course(s). Please remove the modules from the course and try again.'
tags:
- Modules
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
delete_ids:
type: array
description: 'All module IDs which needs to be deleted.'
example:
- 1
- 12
- 15
items:
type: string
required:
- delete_ids
security: []
/api/modules/clone:
post:
summary: Clone
operationId: clone
description: "To clone a module, you create a cloned object for a specific module.\nThe newly generated cloned module will help to let you change the content of the module with or without letting affect the real module."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'module Cloned Successfully'
properties:
message:
type: string
example: 'module Cloned Successfully'
tags:
- Modules
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
module_id:
type: integer
description: 'ID of the module to be cloned.'
example: 1
module_name:
type: string
description: 'Name of the module about to be cloned. Example: module 1 module.'
example: 'false'
required:
- module_id
- module_name
security: []
/api/quiz/lookup:
get:
summary: 'Quiz Lookup'
operationId: quizLookup
description: "Retrieves all the quizzes user has ever created.\nThis request helps in showing all the quizzes in form elements like dropdown, etc.\nReturns list of ID and name of the quizzes. (See Response)"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
value: 1
label: First-quiz
-
value: 2
label: Quiz-2
tags:
- Modules
security: []
/api/modules/pdf:
get:
summary: 'PDF Modules Tabular List'
operationId: pDFModulesTabularList
description: "Returns all the PDF modules in a tabular list format in paginated mode.\nYou can apply filter using search_param via associatedCourse(modules used in course) and moduleName."
parameters:
-
in: query
name: page_size
description: 'The number of the items you want for a page.'
example: '50'
required: true
schema:
type: string
description: 'The number of the items you want for a page.'
example: '50'
-
in: query
name: page_number
description: 'Current page number in pagination.'
example: '1'
required: true
schema:
type: string
description: 'Current page number in pagination.'
example: '1'
-
in: query
name: order_by
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
required: false
schema:
type: string
description: 'For ordering items based on columns provided in JSON format.'
example: '{"colName":"created_at", "direction": "desc"}}'
-
in: query
name: search_param
description: 'For searching items based on field names.'
example: '{"associatedCourse":"","moduleName":""}'
required: false
schema:
type: string
description: 'For searching items based on field names.'
example: '{"associatedCourse":"","moduleName":""}'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
recordsTotal: 1
recordsFiltered: 1
records:
-
id: 6
name: 'Getting Started'
slug: getting-started
type: pdf
icon: ''
author: 'Aom Staff'
created_at: 'Aug 10, 2020 05:55 PM'
properties:
recordsTotal:
type: integer
example: 1
recordsFiltered:
type: integer
example: 1
records:
type: array
example:
-
id: 6
name: 'Getting Started'
slug: getting-started
type: pdf
icon: ''
author: 'Aom Staff'
created_at: 'Aug 10, 2020 05:55 PM'
items:
type: object
properties:
id:
type: integer
example: 6
name:
type: string
example: 'Getting Started'
slug:
type: string
example: getting-started
type:
type: string
example: pdf
icon:
type: string
example: ''
author:
type: string
example: 'Aom Staff'
created_at:
type: string
example: 'Aug 10, 2020 05:55 PM'
tags:
- PDFs
security: []
post:
summary: 'Create PDF Module'
operationId: createPDFModule
description: "To create a pdf module, you need to use this request. (See parameters)\nCreated pdf modules can be used in the course as course content/lesson.\n\nReturns : id of the pdf module created and successfull message"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 6
message: 'Module saved successfully'
properties:
id:
type: integer
example: 6
message:
type: string
example: 'Module saved successfully'
tags:
- PDFs
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Name of the pdf module.'
example: 'Getting Started'
content:
type: string
description: 'Content for the pdf module that students will see. Example:'
example: possimus
instructions:
type: string
description: 'Description for the pdf module that students will see.'
example: 'This is the short description here
'
url:
type: string
description: 'URL or actual path of the pdf module that students will see.'
example: 'https://drive.google.com/file/d/0B5cbJMbHsJ1gc3RhcnRlcl9maWX2Rhc2hlclYw/view?usp=sharing'
trackCompletion:
type: boolean
description: 'If true, the module is being tracked(whether its finished or not) in course player.'
example: true
allowDownload:
type: boolean
description: 'If true, the pdf can be downloaded(by the students) otherwise not in course player.'
example: true
defaultZoom:
type: string
description: 'The pdf will open with the set zoom percentage in course player.'
example: 75%
showSidebar:
type: boolean
description: 'If true, the pdf will open with a sidebar in course player.'
example: true
required:
- name
- content
- instructions
- url
- trackCompletion
- allowDownload
- defaultZoom
security: []
'/api/modules/pdf/{id}':
get:
summary: 'Retrieve PDF module'
operationId: retrievePDFModule
description: 'Retrieves the details of the specified pdf module. Helps in fetching pdf module using module ID. (See Parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
name: 'Getting Started'
slug: getting-started
content: null
url: 'https://drive.google.com/file/d/0B5cbJMbHsJ1gc3RhcnRlcl9maWxlX2Rhc2hlclYw/view?usp=sharing'
allowDownload: false
trackCompletion: true
defaultZoom: page_width
showSidebar: true
properties:
name:
type: string
example: 'Getting Started'
slug:
type: string
example: getting-started
content:
type: string
example: null
url:
type: string
example: 'https://drive.google.com/file/d/0B5cbJMbHsJ1gc3RhcnRlcl9maWxlX2Rhc2hlclYw/view?usp=sharing'
allowDownload:
type: boolean
example: false
trackCompletion:
type: boolean
example: true
defaultZoom:
type: string
example: page_width
showSidebar:
type: boolean
example: true
tags:
- PDFs
security: []
put:
summary: 'Update PDF Module'
operationId: updatePDFModule
description: "Updates the details of a specified pdf module. (See parameters)\nPDF modules can be used in the course as course content/lesson."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Module updated successfully'
properties:
message:
type: string
example: 'Module updated successfully'
tags:
- PDFs
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Name of the pdf module.'
example: 'Getting Started'
content:
type: string
description: 'Content for the text modules that students will see.'
example: 'This is the updated short content here
'
url:
type: string
description: 'URL or actual path of the pdf module that students will see.'
example: 'https://drive.google.com/file/d/0B5cbJMbHsJ1gc3RhcnRlcl9ma2Rhc2hlclYw/view?usp=sharing'
trackCompletion:
type: boolean
description: 'If true, the module is being tracked(whether its finished or not) in course player.'
example: true
allowDownload:
type: boolean
description: 'If true, the pdf can be downloaded(by the students) otherwise not in course player.'
example: true
defaultZoom:
type: string
description: 'The pdf will open with the set zoom percentage in course player.'
example: 75%
showSidebar:
type: boolean
description: 'If true, the pdf will open with a sidebar in course player.'
example: true
required:
- name
- content
- url
- trackCompletion
- allowDownload
- defaultZoom
security: []
parameters:
-
in: path
name: id
description: 'ID of the pdf module you want to fetch the details of.'
example: '23'
required: true
schema:
type: string
/api/module/pdf/details:
get:
summary: 'Retrieve Detailed PDF Module Info'
operationId: retrieveDetailedPDFModuleInfo
description: "Retrieves details of pdf module in depth as well as different modules details that are being used as course content for the same course the current pdf module is attached to.\nReturns related fields value. (See Response)"
parameters:
-
in: query
name: registrationId
description: 'ID of the course Registration for which this module is attached to.'
example: '1'
required: true
schema:
type: string
description: 'ID of the course Registration for which this module is attached to.'
example: '1'
-
in: query
name: moduleId
description: 'ID of the pdf module.'
example: '6'
required: true
schema:
type: string
description: 'ID of the pdf module.'
example: '6'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
name: test
slug: test
content: 'afegrshtdh
'
courseName: 'course 1'
courseSlug: 'http://localhost:8000/course/course-1'
trackCompletion: true
min_time_spent: 0
otherModules:
-
module_id: 1
name: test
slug: test
type: text
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: false
status_row_id: 1
status: Completed
started_on: '2020-08-03T10:02:33.000000Z'
completed_on: '2020-08-03T10:02:41.000000Z'
last_accessed_on: '1 week ago'
total_time_spent:
hours: 0
minutes: 0
seconds: 6
totalSeconds: 6
completion_percentage: 100
no_of_times_accessed: 1
-
module_id: 4
name: assign
slug: assign
type: assignment
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: true
status_row_id: -1
status: 'Not Started'
started_on: ''
completed_on: ''
last_accessed_on: Never
total_time_spent: ''
points_awarded: ''
completion_percentage: 0
no_of_times_accessed: 0
launchCheck:
canbeLaunched: true
errTitle: ''
errDesc: ''
prevSlug: ''
nextSlug: assign
status: Completed
timeSpent: 6
statusRowId: 1
properties:
name:
type: string
example: test
slug:
type: string
example: test
content:
type: string
example: 'afegrshtdh
'
courseName:
type: string
example: 'course 1'
courseSlug:
type: string
example: 'http://localhost:8000/course/course-1'
trackCompletion:
type: boolean
example: true
min_time_spent:
type: integer
example: 0
otherModules:
type: array
example:
-
module_id: 1
name: test
slug: test
type: text
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: false
status_row_id: 1
status: Completed
started_on: '2020-08-03T10:02:33.000000Z'
completed_on: '2020-08-03T10:02:41.000000Z'
last_accessed_on: '1 week ago'
total_time_spent:
hours: 0
minutes: 0
seconds: 6
totalSeconds: 6
completion_percentage: 100
no_of_times_accessed: 1
-
module_id: 4
name: assign
slug: assign
type: assignment
icon: ''
is_locked: false
lock_reason: ''
is_dripped: false
drip_message: ''
is_current: true
status_row_id: -1
status: 'Not Started'
started_on: ''
completed_on: ''
last_accessed_on: Never
total_time_spent: ''
points_awarded: ''
completion_percentage: 0
no_of_times_accessed: 0
items:
type: object
properties:
module_id:
type: integer
example: 1
name:
type: string
example: test
slug:
type: string
example: test
type:
type: string
example: text
icon:
type: string
example: ''
is_locked:
type: boolean
example: false
lock_reason:
type: string
example: ''
is_dripped:
type: boolean
example: false
drip_message:
type: string
example: ''
is_current:
type: boolean
example: false
status_row_id:
type: integer
example: 1
status:
type: string
example: Completed
started_on:
type: string
example: '2020-08-03T10:02:33.000000Z'
completed_on:
type: string
example: '2020-08-03T10:02:41.000000Z'
last_accessed_on:
type: string
example: '1 week ago'
total_time_spent:
type: object
properties:
hours:
type: integer
example: 0
minutes:
type: integer
example: 0
seconds:
type: integer
example: 6
totalSeconds:
type: integer
example: 6
completion_percentage:
type: integer
example: 100
no_of_times_accessed:
type: integer
example: 1
launchCheck:
type: object
properties:
canbeLaunched:
type: boolean
example: true
errTitle:
type: string
example: ''
errDesc:
type: string
example: ''
prevSlug:
type: string
example: ''
nextSlug:
type: string
example: assign
status:
type: string
example: Completed
timeSpent:
type: integer
example: 6
statusRowId:
type: integer
example: 1
tags:
- PDFs
security: []
/api/module/pdf/content-details:
get:
summary: 'Retrieve Detailed PDF module Info as Membership content'
operationId: retrieveDetailedPDFModuleInfoAsMembershipContent
description: "Retrieves details of pdf module in depth for the same membership the current pdf module is attached to.\nReturns related fields value. (See Response)"
parameters:
-
in: query
name: moduleId
description: 'ID of the pdf module.'
example: '6'
required: true
schema:
type: string
description: 'ID of the pdf module.'
example: '6'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
name: test
slug: test
content: 'afegrshtdh
'
trackCompletion: true
min_time_spent: 0
timeSpent: 6
properties:
name:
type: string
example: test
slug:
type: string
example: test
content:
type: string
example: 'afegrshtdh
'
trackCompletion:
type: boolean
example: true
min_time_spent:
type: integer
example: 0
timeSpent:
type: integer
example: 6
tags:
- PDFs
security: []
/api/pages/layouts:
get:
summary: 'Load Layouts'
operationId: loadLayouts
description: 'To load layout, you need to use this request. (See parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: '2'
name: 'Landing Page'
thumbnail: /images/thumbnails/landing-thumbnail.jpg
type: saved
data: { }
properties:
id:
type: string
example: '2'
name:
type: string
example: 'Landing Page'
thumbnail:
type: string
example: /images/thumbnails/landing-thumbnail.jpg
type:
type: string
example: saved
data:
type: object
properties: { }
tags:
- Pages
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
context:
type: string
description: 'Load Layout of page,section,row and module type.'
example: page
required:
- context
security: []
post:
summary: 'Save Layouts'
operationId: saveLayouts
description: 'To save layout, you need to use this request. (See parameters)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: '2'
message: 'Layout saved successfully'
properties:
id:
type: string
example: '2'
message:
type: string
example: 'Layout saved successfully'
tags:
- Pages
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Name of the page.'
example: Homepage
context:
type: string
description: 'Save Layout of page,section,row and module type. Context options: page, section, row or module.'
example: page
data:
type: string
description: 'HTML content of the page.'
example: '