openapi: 3.0.3 info: title: 'Academy of mine APIs' description: 'List of all API endpoints' version: 1.0.0 servers: - url: 'https://demo.aomlms.com' paths: /api/users/customRegistrationFields: get: summary: 'Retrieve Custom User Fields that needs to be shown onthe Registration page' operationId: retrieveCustomUserFieldsThatNeedsToBeShownOntheRegistrationPage description: 'Retrieves the details of pre saved Custom User Fields.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: fields: - id: 1 type: text label: 'How you left' defaultValue: null isRequired: false optionLabel: [] isFieldOnRegistrationPage: false isFieldOnCertificate: true includeInReportExports: - export-users - export-orders - id: 2 type: textarea label: 'What is your home address' defaultValue: null isRequired: true optionLabel: [] isFieldOnRegistrationPage: true isFieldOnCertificate: false includeInReportExports: [] properties: fields: type: array example: - id: 1 type: text label: 'How you left' defaultValue: null isRequired: false optionLabel: [] isFieldOnRegistrationPage: false isFieldOnCertificate: true includeInReportExports: - export-users - export-orders - id: 2 type: textarea label: 'What is your home address' defaultValue: null isRequired: true optionLabel: [] isFieldOnRegistrationPage: true isFieldOnCertificate: false includeInReportExports: [] items: type: object properties: id: type: integer example: 1 type: type: string example: text label: type: string example: 'How you left' defaultValue: type: string example: null isRequired: type: boolean example: false optionLabel: type: array example: [] isFieldOnRegistrationPage: type: boolean example: false isFieldOnCertificate: type: boolean example: true includeInReportExports: type: array example: - export-users - export-orders items: type: string tags: - Users security: [] /api/userType/lookup: get: summary: 'User Type' operationId: userType description: 'Retrieve all user types' parameters: [] responses: 200: description: '' content: application/json: schema: type: array items: type: object example: - db_value: admin display_name: Admin - db_value: owner display_name: Owner - db_value: staff display_name: Staff - db_value: group_admin display_name: 'Group Admin' - db_value: general display_name: General tags: - Users security: [] /api/users/tabularlist: get: summary: 'Tabular List' operationId: tabularList description: "Retrieves all the users in a tabular list format with pagination mode.\nYou can apply filter using search_param via courseCategoryIds(course category ID), courseName" 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 Course category ids, course name.' example: '{"courseCategoryIds":[],"courseName":"course 1"}' required: false schema: type: string description: 'for searching items based on Course category ids, course name.' example: '{"courseCategoryIds":[],"courseName":"course 1"}' responses: 200: description: '' content: application/json: schema: type: object example: recordsTotal: 4 recordsFiltered: 4 records: - id: 4 first_name: John last_name: Doe email: john@aom.com avatar: 'JD' user_type: general display_user_type: General created_at: 'Aug 06, 2020 07:20 AM' last_login: '2 days ago' - id: 2 first_name: Client last_name: Admin email: client@app.com avatar: 'CA' user_type: owner display_user_type: Owner created_at: 'Aug 03, 2020 09:31 AM' last_login: Never - id: 3 first_name: Demoss last_name: Student email: student@app.com avatar: 'DS' user_type: general display_user_type: General created_at: 'Aug 03, 2020 09:31 AM' last_login: '5 days ago' - id: 1 first_name: Aom last_name: Staff email: dev@academyofmine.com avatar: 'AS' user_type: admin display_user_type: Admin created_at: 'Aug 03, 2020 09:31 AM' last_login: '1 minute ago' properties: recordsTotal: type: integer example: 4 recordsFiltered: type: integer example: 4 records: type: array example: - id: 4 first_name: John last_name: Doe email: john@aom.com avatar: 'JD' user_type: general display_user_type: General created_at: 'Aug 06, 2020 07:20 AM' last_login: '2 days ago' - id: 2 first_name: Client last_name: Admin email: client@app.com avatar: 'CA' user_type: owner display_user_type: Owner created_at: 'Aug 03, 2020 09:31 AM' last_login: Never - id: 3 first_name: Demoss last_name: Student email: student@app.com avatar: 'DS' user_type: general display_user_type: General created_at: 'Aug 03, 2020 09:31 AM' last_login: '5 days ago' - id: 1 first_name: Aom last_name: Staff email: dev@academyofmine.com avatar: 'AS' user_type: admin display_user_type: Admin created_at: 'Aug 03, 2020 09:31 AM' last_login: '1 minute ago' items: type: object properties: 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: 'JD' user_type: type: string example: general display_user_type: type: string example: General created_at: type: string example: 'Aug 06, 2020 07:20 AM' last_login: type: string example: '2 days ago' tags: - Users security: [] /api/users/getUsersByType: get: summary: 'User Type' operationId: userType description: 'Retrieve details of users of type Staff' parameters: - in: query name: userType description: 'The type of user.' example: '10' required: false schema: type: string description: 'The type of user.' example: '10' responses: 200: description: '' content: application/json: schema: type: object example: records: - id: 4 name: 'John Doe(johndoe@app.com)' properties: records: type: array example: - id: 4 name: 'John Doe(johndoe@app.com)' items: type: object properties: id: type: integer example: 4 name: type: string example: 'John Doe(johndoe@app.com)' tags: - Users security: [] /api/users/lookup: get: summary: 'User Lookup' operationId: userLookup description: 'Retrieves all the users. Helps in showing users in forms elements like dropdown.' parameters: [] responses: 200: description: '' content: application/json: schema: type: array items: type: object example: - id: 1 full_name: 'Aom Staff' email: dev@academyofmine.com - id: 2 full_name: 'Client Admin' email: client@app.com - id: 3 full_name: 'Demoss Student' email: student@app.com - id: 4 full_name: 'John Doe' email: john@aom.com tags: - Users security: [] /api/user/create: post: summary: 'Create User' operationId: createUser description: 'To create user, you need to use this request.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: id: 11 message: 'User created successfully' properties: id: type: integer example: 11 message: type: string example: 'User created successfully' tags: - Users requestBody: required: true content: application/json: schema: type: object properties: firstName: type: string description: 'First Name of the user.' example: John lastName: type: string description: 'Last Name of the user.' example: Doe email: type: string description: 'Email of the user.' example: john@aom.com password: type: string description: 'Password for the user.' example: somePassword password_confirmation: type: string description: 'Password for the user.' example: somePassword required: - firstName - email - password - password_confirmation security: [] /api/user/bulkUpload: post: summary: 'Bulk Upload' operationId: bulkUpload description: 'To create users in bulk, you need to use this request.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: 'User(s) uploaded successfully' properties: message: type: string example: 'User(s) uploaded successfully' tags: - Users requestBody: required: true content: application/json: schema: type: object properties: userList: type: array description: 'Users list that needs to be added.' example: - email: fakeemail@aom.com first_name: 'Fake FName' last_name: 'Fake LName' password: Qwerty@123 - email: fakeemail2@aom.com first_name: 'Fake FName 2' last_name: 'Fake LName 2' password: '' items: type: string groupId: type: integer description: 'Creates all users under specified group.' example: 1 selectedCourses: type: array description: 'creates all users and add users in specified courses.' example: - 1 - 2 items: type: string membershipId: type: integer description: 'creates all users under specified membership.' example: 12 classIds: type: array description: 'creates all users and add users in specified classes.' example: - 1 - 2 items: type: string required: - userList security: [] /api/user/getBulkUploadSampleFile: get: summary: 'Retrieve Sample file for Bulk Upload' operationId: retrieveSampleFileForBulkUpload description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: headers: - email - first_name - last_name - password records: - email: fakeemail1@aom.com first_name: 'Fake FName1' last_name: 'Fake LName1' password: Qwerty@123 - email: fakeemail2@aom.com first_name: 'Fake FName2' last_name: 'Fake LName2' password: '' properties: headers: type: array example: - email - first_name - last_name - password items: type: string records: type: array example: - email: fakeemail1@aom.com first_name: 'Fake FName1' last_name: 'Fake LName1' password: Qwerty@123 - email: fakeemail2@aom.com first_name: 'Fake FName2' last_name: 'Fake LName2' password: '' items: type: object properties: email: type: string example: fakeemail1@aom.com first_name: type: string example: 'Fake FName1' last_name: type: string example: 'Fake LName1' password: type: string example: Qwerty@123 tags: - Users security: [] '/api/user/{id}': get: summary: 'Retrieve User By ID' operationId: retrieveUserByID description: 'This endpoint returns the user details based on the ID specified.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: firstName: John lastName: Doe email: john@aom.com lastLoggedIn: Never avatar: 'JD' disabled: false properties: firstName: type: string example: John lastName: type: string example: Doe email: type: string example: john@aom.com lastLoggedIn: type: string example: Never avatar: type: string example: 'JD' disabled: type: boolean example: false tags: - Users security: [] put: summary: 'Update User' operationId: updateUser description: 'Updates user details using parameters mentioned.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: 'User updated successfully' properties: message: type: string example: 'User updated successfully' tags: - Users requestBody: required: true content: application/json: schema: type: object properties: firstName: type: string description: 'First Name of the user.' example: John lastName: type: string description: 'Last Name of the user.' example: Doe email: type: string description: 'Email of the user.' example: john@aom.com lastLoggedIn: type: string description: 'Datetime or Never.' example: Never avatar: type: string description: 'Avatar svg icon for the user.' example: 'AW' disabled: type: boolean description: 'User needs to be disabled or not.' example: false customUserMetas: type: array description: 'of metas if there are any custom usermetas present on the platform else empty array' example: - dolores items: type: string required: - firstName - email - lastLoggedIn - avatar - disabled security: [] parameters: - in: path name: id description: 'The ID of the user.' example: '1' required: true schema: type: string '/api/user/{id}/update-membership': put: summary: "Update User's Membership" operationId: updateUsersMembership description: 'Updates user membership plan using parameters mentioned.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: 'User updated successfully' properties: message: type: string example: 'User updated successfully' tags: - Users requestBody: required: true content: application/json: schema: type: object properties: membership: type: json description: 'Membership plan for the user.' example: '{"id":4,"name":"Gold Plan","expired_at": "2021-10-01 23:00:00"}' required: - membership security: [] parameters: - in: path name: id description: 'ID of the user.' example: '11' required: true schema: type: string '/api/user/updatePassword/{id}': put: summary: 'Update Password' operationId: updatePassword description: 'Updates password for the user.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: 'Password updated successfully' properties: message: type: string example: 'Password updated successfully' tags: - Users requestBody: required: true content: application/json: schema: type: object properties: password: type: string description: 'Password for the user.' example: somePassword confirmPassword: type: string description: 'Confirm Password for the user.' example: Doe required: - password security: [] parameters: - in: path name: id description: 'ID of the user.' example: '11' required: true schema: type: string /api/users/enrolled-courses: get: summary: 'Enrolled Courses' operationId: enrolledCourses description: "Retrieves all the courses opted by specified user.\nYou can apply filters using search_param via status(course status)" parameters: - in: query name: user_id description: 'ID of the user.' example: '4' required: true schema: type: string description: 'ID of the user.' example: '4' - in: query name: page_size description: 'Number of the results you want in each page.' example: '10' required: true schema: type: string description: 'Number of the results you want in each page.' example: '10' - 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: registered_on required: false schema: type: string description: 'Returns details in some order.' example: registered_on - in: query name: search_param description: 'Search parameters related to course.' example: '{"status":["In Progress","Not Started"]}' required: false schema: type: string description: 'Search parameters related to course.' example: '{"status":["In Progress","Not Started"]}' responses: 200: description: '' content: application/json: schema: type: object example: recordsTotal: 1 recordsFiltered: 1 records: - id: 6 courseId: 1 featuredImageUrl: null courseSlug: 'http://localhost:8000/course/course-1' courseName: 'course 1' lastAccessed: Never status: 'Not Started' display_status: 'Not Started' accessStatus: Allowed percentComplete: 0 registered_on: 'Aug 09, 2020' started_on: '' completed_on: '' expire_on: Never isExpired: false properties: recordsTotal: type: integer example: 1 recordsFiltered: type: integer example: 1 records: type: array example: - id: 6 courseId: 1 featuredImageUrl: null courseSlug: 'http://localhost:8000/course/course-1' courseName: 'course 1' lastAccessed: Never status: 'Not Started' display_status: 'Not Started' accessStatus: Allowed percentComplete: 0 registered_on: 'Aug 09, 2020' started_on: '' completed_on: '' expire_on: Never isExpired: false items: type: object properties: id: type: integer example: 6 courseId: type: integer example: 1 featuredImageUrl: type: string example: null courseSlug: type: string example: 'http://localhost:8000/course/course-1' courseName: type: string example: 'course 1' lastAccessed: type: string example: Never status: type: string example: 'Not Started' display_status: type: string example: 'Not Started' accessStatus: type: string example: Allowed percentComplete: type: integer example: 0 registered_on: type: string example: 'Aug 09, 2020' started_on: type: string example: '' completed_on: type: string example: '' expire_on: type: string example: Never isExpired: type: boolean example: false tags: - Users security: [] /api/user/delete: post: summary: 'Delete User' operationId: deleteUser description: 'To delete a user, you need to use this request.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: '2 student(s) not deleted as they has enrollments. Please remove the student(s) from the course and try again.' properties: message: type: string example: '2 student(s) not deleted as they has enrollments. Please remove the student(s) from the course and try again.' tags: - Users requestBody: required: true content: application/json: schema: type: object properties: delete_ids: type: array description: 'All user IDs which needs to be deleted.' example: - 2 - 3 - 4 items: type: string required: - delete_ids security: [] /api/user/quickEdit: post: summary: 'Quick Edit' operationId: quickEdit description: 'Updates the details in bulk for a specified user. Parameters is provided which needs to be updated.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: 'Users updated Successfully' properties: message: type: string example: 'Users updated Successfully' tags: - Users requestBody: required: true content: application/json: schema: type: object properties: user_ids: type: array description: 'All user IDs which needs to be updated.' example: - 4 - 2 items: type: string disabled: type: array description: 'Whether user will be disabled or not.' example: false items: type: string course_ids: type: array description: 'User will be enrolled into the course specified.' example: - 1 - 2 items: type: string required: - user_ids - disabled security: [] '/api/user/{id}/addAddress': post: summary: 'Add Address' operationId: addAddress description: 'To add address for a user, you need to use this request using mentioned parameters.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: 'Address added successfully' properties: message: type: string example: 'Address added successfully' tags: - Users requestBody: required: true content: application/json: schema: type: object properties: fullName: type: string description: 'Full Name of the user.' example: 'John Doe' addressLine1: type: string description: 'Address line1 of the user.' example: 'Boring Street' addressLine2: type: string description: 'Address line2 of the user.' example: 'Awesome Colony' zipcode: type: string description: 'Zipcode of the user address.' example: '123456' city: type: string description: 'City of the user address.' example: Mumbai state: type: string description: 'State of the user address.' example: NY country: type: string description: 'Country of the user address.' example: US isDefault: type: boolean description: 'Is the address default for billing.' example: false required: - fullName - addressLine1 - zipcode - city - country - isDefault security: [] parameters: - in: path name: userId description: 'User ID for which we want to add address.' example: '4' required: true schema: type: string '/api/user/userAddress/{id}': get: summary: 'Retrieve Addresses' operationId: retrieveAddresses description: 'Retrieves all the addresses which are added by the specified user.' parameters: [] responses: 200: description: '' content: application/json: schema: type: array items: type: object example: - id: 1 isDefault: false fullName: 'John Doe' addressLine1: 'Boring Street' addressLine2: 'Awesome Colony' zipcode: '123456' city: Mumbai state: MH country: IN tags: - Users security: [] parameters: - in: path name: id description: 'ID of the user.' example: '4' required: true schema: type: string /api/user/dashboard/statistics: get: summary: 'Retrieve Dashboard Stats' operationId: retrieveDashboardStats description: 'Retrieves Dashboard details for specified user. Returned information contains in-progress, notStarted and completed items details as well as time spent details.' parameters: - in: query name: user_id description: 'ID of the user.' example: '4' required: true schema: type: string description: 'ID of the user.' example: '4' - in: query name: page_size description: 'Number of the results you want in each page.' example: '10' required: true schema: type: string description: 'Number of the results you want in each page.' example: '10' - 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: registered_on required: false schema: type: string description: 'Returns details in some order.' example: registered_on - in: query name: search_param description: 'Search parameters related to course.' example: '{"status":["In Progress","Not Started"]}' required: false schema: type: string description: 'Search parameters related to course.' example: '{"status":["In Progress","Not Started"]}' responses: 200: description: '' content: application/json: schema: type: object example: notStarted: 1 inProgress: 0 completed: 0 total: 1 studentName: 'John Doe' timeSpent: hours: 0 minutes: 0 seconds: 0 totalSeconds: 0 properties: notStarted: type: integer example: 1 inProgress: type: integer example: 0 completed: type: integer example: 0 total: type: integer example: 1 studentName: type: string example: 'John Doe' timeSpent: type: object properties: hours: type: integer example: 0 minutes: type: integer example: 0 seconds: type: integer example: 0 totalSeconds: type: integer example: 0 tags: - Users security: [] /api/user-activities: get: summary: 'Retrieve User Activities' operationId: retrieveUserActivities description: "Returns all activities performed by a specified user.\nYou can apply filter using search_param via courseCategoryIds(course category ID), courseName or status(course status)" parameters: - in: query name: user_id description: 'ID of the user.' example: '4' required: true schema: type: string description: 'ID of the user.' example: '4' - in: query name: page_size description: 'Number of the results you want in each page.' example: '10' required: true schema: type: string description: 'Number of the results you want in each page.' example: '10' - 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":"created_at", "direction": "desc"}}' required: false schema: type: string description: 'Returns details in some order.' example: '{"colName":"created_at", "direction": "desc"}}' - in: query name: search_param description: 'Search parameters related to course.' example: '{"courseCategoryIds":[],"courseName":"course-1","status":"In Progress"}' required: false schema: type: string description: 'Search parameters related to course.' example: '{"courseCategoryIds":[],"courseName":"course-1","status":"In Progress"}' - in: query name: context description: 'Context for the details.' example: admin required: true schema: type: string description: 'Context for the details.' example: admin responses: 200: description: '' content: application/json: schema: type: object example: avatar: 'JD' name: 'John Doe' email: john@aom.com recordsTotal: 1 recordsFiltered: 1 records: - id: 15 verb: ENROLLED created_at: 'Aug 09, 2020 10:27 AM' message: 'John Doe is enrolled to course 1' course: 'course 1' properties: avatar: type: string example: 'JD' name: type: string example: 'John Doe' email: type: string example: john@aom.com recordsTotal: type: integer example: 1 recordsFiltered: type: integer example: 1 records: type: array example: - id: 15 verb: ENROLLED created_at: 'Aug 09, 2020 10:27 AM' message: 'John Doe is enrolled to course 1' course: 'course 1' items: type: object properties: id: type: integer example: 15 verb: type: string example: ENROLLED created_at: type: string example: 'Aug 09, 2020 10:27 AM' message: type: string example: 'John Doe is enrolled to course 1' course: type: string example: 'course 1' tags: - Users security: [] /api/user-orders: get: summary: 'Retrieve User Orders' operationId: retrieveUserOrders description: 'Retrieve order details, purchased by a specified user. Returned data is in pagination form.' parameters: - in: query name: user_id description: 'ID of the user.' example: '4' required: true schema: type: string description: 'ID of the user.' example: '4' - in: query name: page_size description: 'Number of the results you want in each page.' example: '10' required: true schema: type: string description: 'Number of the results you want in each page.' example: '10' - 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":"created_at", "direction": "desc"}}' required: true schema: type: string description: 'Returns details in some order.' example: '{"colName":"created_at", "direction": "desc"}}' responses: 200: description: '' content: application/json: schema: type: object example: avatar: 'JD' recordsTotal: 0 recordsFiltered: 0 currencySymbol: '$' records: [] properties: avatar: type: string example: 'JD' recordsTotal: type: integer example: 0 recordsFiltered: type: integer example: 0 currencySymbol: type: string example: '$' records: type: array example: [] tags: - Users security: [] '/api/user-certificates/{id}': get: summary: 'Retrieve Certificates' operationId: retrieveCertificates description: 'Retrieve all certificates earned by the user for every course they pursued/completed.' parameters: - in: query name: page_size description: 'Number of the results you want in each page.' example: '10' required: true schema: type: string description: 'Number of the results you want in each page.' example: '10' - 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":"created_at", "direction": "desc"}}' required: false schema: type: string description: 'Returns details in some order.' example: '{"colName":"created_at", "direction": "desc"}}' - in: query name: search_param description: 'Apply search parameter.' example: '{"courseCategoryIds":[],"courseName":""}' required: false schema: type: string description: 'Apply search parameter.' example: '{"courseCategoryIds":[],"courseName":""}' responses: 200: description: '' content: application/json: schema: type: object example: recordsTotal: 1 recordsFiltered: 1 records: - id: 1 courseId: 1 userId: 3 templateId: 1 courseName: 'course 1' coursefeaturedImage: null issueDate: 'Aug 03, 2020 10:02 AM' properties: recordsTotal: type: integer example: 1 recordsFiltered: type: integer example: 1 records: type: array example: - id: 1 courseId: 1 userId: 3 templateId: 1 courseName: 'course 1' coursefeaturedImage: null issueDate: 'Aug 03, 2020 10:02 AM' items: type: object properties: id: type: integer example: 1 courseId: type: integer example: 1 userId: type: integer example: 3 templateId: type: integer example: 1 courseName: type: string example: 'course 1' coursefeaturedImage: type: string example: null issueDate: type: string example: 'Aug 03, 2020 10:02 AM' tags: - Users security: [] parameters: - in: path name: id description: 'ID of the user.' example: '4' required: true schema: type: string '/api/user/{id}/delete-certificate': put: summary: 'Remove Certificate' operationId: removeCertificate description: 'To removes the certificate for a specified user, you need to use this request.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: 'Certificate Deleted Successfully' properties: message: type: string example: 'Certificate Deleted Successfully' tags: - Users requestBody: required: true content: application/json: schema: type: object properties: id: type: integer description: 'ID of the certificate belongs to user.' example: 1 required: - id security: [] /api/update-certificate-issue-date: put: summary: 'Update Certificate Issue Date' operationId: updateCertificateIssueDate description: 'Updates the Issue date of Certificate for a user.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: 'Issue Date Updated Successfully' properties: message: type: string example: 'Issue Date Updated Successfully' tags: - Users requestBody: required: true content: application/json: schema: type: object properties: rowId: type: integer description: 'ID of the user certificate.' example: 1 newIssueDate: type: datetime description: 'New datetime for the certificate.' example: '2020-08-04 00:00:00' required: - rowId - newIssueDate security: [] '/api/default-address/{id}': get: summary: 'Retrieve Default Address' operationId: retrieveDefaultAddress description: 'Retrieves the default address for the specified user.' parameters: [] responses: 200: description: '' content: application/json: schema: type: array items: type: object example: - id: 1 addresstype: null isDefault: true fullName: 'John Doe' addressLine1: 'Boring Street' addressLine2: 'Awesome Colony' zipcode: '123456' city: Mumbai state: MH country: IN tags: - Users security: [] parameters: - in: path name: id description: 'ID of the user.' example: '4' required: true schema: type: string '/api/getaddress/{id}': get: summary: 'Retrieve User Address' operationId: retrieveUserAddress description: 'Retrieves the address for the specified user address ID.' parameters: [] responses: 200: description: '' content: application/json: schema: type: array items: type: object example: - id: 1 isDefault: false fullName: 'John Doe' addressLine1: 'Boring Street' addressLine2: 'Awesome Colony' zipcode: '123456' city: Mumbai state: MH country: IN tags: - Users security: [] parameters: - in: path name: id description: 'ID of the user address row from UsersAddress Model.' example: '1' required: true schema: type: string '/api/user/updateAddress/{id}': post: summary: 'Update Address' operationId: updateAddress description: 'Updates the address for a specified user using UserAddress ID. (See Parameters)' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: 'Address updated successfully' properties: message: type: string example: 'Address updated successfully' tags: - Users requestBody: required: true content: application/json: schema: type: object properties: fullName: type: string description: 'Full Name of the user.' example: 'John Doe' addressLine1: type: string description: 'Address line1 of the user.' example: 'Boring Street' addressLine2: type: string description: 'Address line2 of the user.' example: 'Awesome Colony' zipcode: type: string description: 'Zipcode of the user address.' example: '123456' city: type: string description: 'City of the user address.' example: Mumbai state: type: string description: 'State of the user address.' example: NY country: type: string description: 'Country of the user address.' example: US isDefault: type: boolean description: 'Is the address default for billing.' example: false required: - fullName - addressLine1 - zipcode - city - country - isDefault security: [] parameters: - in: path name: id description: 'User Address row id for UsersAddress model.' example: '1' required: true schema: type: string /api/user/reports/user-detailed: get: summary: 'Retrieve User Report' operationId: retrieveUserReport description: "Retrieves detailed report for a specified user.\nYou can apply filter using search_params via course(course ID) and status(course status). (See parameters)" parameters: - in: query name: user_id description: 'ID of the user.' example: '4' required: true schema: type: string description: 'ID of the user.' example: '4' - 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: page_size description: 'Number of the result row you want in each page.' example: '10' required: true schema: type: string description: 'Number of the result row you want in each page.' example: '10' - 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":"created_at", "direction": "desc"}}' required: false schema: type: string description: 'Returns details in some order.' example: '{"colName":"created_at", "direction": "desc"}}' - in: query name: search_param description: 'Returns search filtered data.' example: '{"course":"1","status":["In Progress"]}' required: false schema: type: string description: 'Returns search filtered data.' example: '{"course":"1","status":["In Progress"]}' responses: 200: description: '' content: application/json: schema: type: object example: totalNotStarted: 1 totalInProgress: 0 totalCompleted: 0 recordsTotal: 1 recordsFiltered: 1 records: - courseName: 'course 1' status: 'Not Started' percent_complete: 0 access_status: Allowed registered_on: 'Aug 09, 2020' started_on: '' completed_on: '' expire_on: Never last_accessed_on: Never total_time_spent: '0h 0m' certifcate_issued: 'No' properties: totalNotStarted: type: integer example: 1 totalInProgress: type: integer example: 0 totalCompleted: type: integer example: 0 recordsTotal: type: integer example: 1 recordsFiltered: type: integer example: 1 records: type: array example: - courseName: 'course 1' status: 'Not Started' percent_complete: 0 access_status: Allowed registered_on: 'Aug 09, 2020' started_on: '' completed_on: '' expire_on: Never last_accessed_on: Never total_time_spent: '0h 0m' certifcate_issued: 'No' items: type: object properties: courseName: type: string example: 'course 1' status: type: string example: 'Not Started' percent_complete: type: integer example: 0 access_status: type: string example: Allowed registered_on: type: string example: 'Aug 09, 2020' started_on: type: string example: '' completed_on: type: string example: '' expire_on: type: string example: Never last_accessed_on: type: string example: Never total_time_spent: type: string example: '0h 0m' certifcate_issued: type: string example: 'No' tags: - Users security: [] /api/users/report: get: summary: 'Retrieve User Report With Custom User Data' operationId: retrieveUserReportWithCustomUserData description: 'Retrieves detailed report for all user.' parameters: - in: query name: page_size description: 'Number of the result row you want in each page.' example: '10' required: true schema: type: string description: 'Number of the result row you want in each page.' example: '10' - 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: registered_between description: 'Returns search filtered data.' example: '{"first_name":"Aom","last_name"Staff"}' required: false schema: type: string description: 'Returns search filtered data.' example: '{"first_name":"Aom","last_name"Staff"}' responses: 200: description: '' content: application/json: schema: type: object example: totalNotStarted: 1 totalInProgress: 0 totalCompleted: 0 recordsTotal: 1 recordsFiltered: 1 records: - first_name: Aom last_name: Staff email: dev@academyofmine.com user_type: General created_at: 'Aug 09, 2020' last_login: 'Oct 09, 2020' properties: totalNotStarted: type: integer example: 1 totalInProgress: type: integer example: 0 totalCompleted: type: integer example: 0 recordsTotal: type: integer example: 1 recordsFiltered: type: integer example: 1 records: type: array example: - first_name: Aom last_name: Staff email: dev@academyofmine.com user_type: General created_at: 'Aug 09, 2020' last_login: 'Oct 09, 2020' items: type: object properties: first_name: type: string example: Aom last_name: type: string example: Staff email: type: string example: dev@academyofmine.com user_type: type: string example: General created_at: type: string example: 'Aug 09, 2020' last_login: type: string example: 'Oct 09, 2020' tags: - Users security: [] /api/user-subscriptions: get: summary: 'Retrieve User Subscription Tabular List' operationId: retrieveUserSubscriptionTabularList description: "Returns all the user subscriptions created in a tabular list format.\nYou can apply filter using search_param." parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: avatar: 4 recordsTotal: 1 currencySymbol: $ recordsFiltered: 1 name: 'Aom Staff' email: dev@academyofmine.com records: - id: 3 item: 'Professional Training and Education' status: Active total: '100' created_at: 'Aug 10, 2020 12:43 PM' properties: avatar: type: integer example: 4 recordsTotal: type: integer example: 1 currencySymbol: type: string example: $ recordsFiltered: type: integer example: 1 name: type: string example: 'Aom Staff' email: type: string example: dev@academyofmine.com records: type: array example: - id: 3 item: 'Professional Training and Education' status: Active total: '100' created_at: 'Aug 10, 2020 12:43 PM' items: type: object properties: id: type: integer example: 3 item: type: string example: 'Professional Training and Education' status: type: string example: Active total: type: string example: '100' created_at: type: string example: 'Aug 10, 2020 12:43 PM' tags: - Users requestBody: required: true content: application/json: schema: type: object properties: user_id: type: integer description: 'ID of the user.' example: 4 page_size: type: required description: 'The number of the user you want for a page.' example: '10' page_number: type: required description: 'Current page number in pagination.' example: '1' order_by: type: For description: 'Ordering items based on columns provided in JSON format.' example: '{"colName":"created_at","direction":"desc"}' search_param: type: for description: 'Searching items based on status.' example: Active required: - user_id security: [] /api/membership/user-contents: get: summary: 'Get Membership Content' operationId: getMembershipContent description: "Retrieves all the Membership contents in a tabular list format with pagination mode.\nYou can apply filter using search_param via content-type (course or modules), content name or Description" 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 Course category ids, course name.' example: '{"type":[''course''],"nameOrDescription":"course 1 description"}' required: false schema: type: string description: 'for searching items based on Course category ids, course name.' example: '{"type":[''course''],"nameOrDescription":"course 1 description"}' responses: 200: description: '' content: application/json: schema: type: object example: recordsTotal: 4 recordsFiltered: 4 records: - id: 4 first_name: John last_name: Doe email: john@aom.com avatar: 'JD' user_type: general display_user_type: General created_at: 'Aug 06, 2020 07:20 AM' last_login: '2 days ago' - id: 2 first_name: Client last_name: Admin email: client@app.com avatar: 'CA' user_type: owner display_user_type: Owner created_at: 'Aug 03, 2020 09:31 AM' last_login: Never - id: 3 first_name: Demoss last_name: Student email: student@app.com avatar: 'DS' user_type: general display_user_type: General created_at: 'Aug 03, 2020 09:31 AM' last_login: '5 days ago' - id: 1 first_name: Aom last_name: Staff email: dev@academyofmine.com avatar: 'AS' user_type: admin display_user_type: Admin created_at: 'Aug 03, 2020 09:31 AM' last_login: '1 minute ago' properties: recordsTotal: type: integer example: 4 recordsFiltered: type: integer example: 4 records: type: array example: - id: 4 first_name: John last_name: Doe email: john@aom.com avatar: 'JD' user_type: general display_user_type: General created_at: 'Aug 06, 2020 07:20 AM' last_login: '2 days ago' - id: 2 first_name: Client last_name: Admin email: client@app.com avatar: 'CA' user_type: owner display_user_type: Owner created_at: 'Aug 03, 2020 09:31 AM' last_login: Never - id: 3 first_name: Demoss last_name: Student email: student@app.com avatar: 'DS' user_type: general display_user_type: General created_at: 'Aug 03, 2020 09:31 AM' last_login: '5 days ago' - id: 1 first_name: Aom last_name: Staff email: dev@academyofmine.com avatar: 'AS' user_type: admin display_user_type: Admin created_at: 'Aug 03, 2020 09:31 AM' last_login: '1 minute ago' items: type: object properties: 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: 'JD' user_type: type: string example: general display_user_type: type: string example: General created_at: type: string example: 'Aug 06, 2020 07:20 AM' last_login: type: string example: '2 days ago' tags: - Users security: [] /api/user-source: get: summary: 'Retrieve List of User Source' operationId: retrieveListOfUserSource description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: records: - id: 1 name: Excel identifier: excel description: 'Bulk upload user from excel.' logoUrl: 'https://demo.aomlms.com/images/excel.svg' - id: 2 name: Hubspot identifier: hubspot description: 'Bulk import user from hubspot.' logoUrl: 'https://demo.aomlms.com/images/hubspot.svg' properties: records: type: array example: - id: 1 name: Excel identifier: excel description: 'Bulk upload user from excel.' logoUrl: 'https://demo.aomlms.com/images/excel.svg' - id: 2 name: Hubspot identifier: hubspot description: 'Bulk import user from hubspot.' logoUrl: 'https://demo.aomlms.com/images/hubspot.svg' items: type: object properties: id: type: integer example: 1 name: type: string example: Excel identifier: type: string example: excel description: type: string example: 'Bulk upload user from excel.' logoUrl: type: string example: 'https://demo.aomlms.com/images/excel.svg' tags: - Users security: [] /api/users/fieldtype/lookup: get: summary: 'Custom User Field Types Lookup' operationId: customUserFieldTypesLookup description: "Retrieves all the type of the custom user fields that platform supports. Helps while showing fields types in form elements like dropdown while creating Custom User Fields.\nReturns a list of all custom user 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: date display_value: Date - db_value: radio display_value: 'Single Select' - db_value: checkbox display_value: 'Multiple Select' - db_value: dropdown display_value: 'Drop Down' tags: - Users security: [] /api/users/customUserFields: get: summary: 'Retrieve Custom User Fields' operationId: retrieveCustomUserFields description: 'Retrieves the details of pre saved Custom User Fields.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: fields: - id: 1 type: text label: 'How you left' defaultValue: null isRequired: false optionLabel: [] isFieldOnRegistrationPage: false isFieldOnCertificate: true includeInReportExports: - export-users - export-orders - id: 2 type: textarea label: 'What is your home address' defaultValue: null isRequired: true optionLabel: [] isFieldOnRegistrationPage: true isFieldOnCertificate: false includeInReportExports: [] properties: fields: type: array example: - id: 1 type: text label: 'How you left' defaultValue: null isRequired: false optionLabel: [] isFieldOnRegistrationPage: false isFieldOnCertificate: true includeInReportExports: - export-users - export-orders - id: 2 type: textarea label: 'What is your home address' defaultValue: null isRequired: true optionLabel: [] isFieldOnRegistrationPage: true isFieldOnCertificate: false includeInReportExports: [] items: type: object properties: id: type: integer example: 1 type: type: string example: text label: type: string example: 'How you left' defaultValue: type: string example: null isRequired: type: boolean example: false optionLabel: type: array example: [] isFieldOnRegistrationPage: type: boolean example: false isFieldOnCertificate: type: boolean example: true includeInReportExports: type: array example: - export-users - export-orders items: type: string tags: - Users security: [] put: summary: 'Update Custom User fields' operationId: updateCustomUserFields description: "Updates the Custom User Fields. (See parameters)\nCustom User Fields can be used to collect additional details from the user from registration page and user profile page." parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: 'Fields updated successfully' properties: message: type: string example: 'Fields updated successfully' tags: - Users requestBody: required: true content: application/json: schema: type: object properties: fields: type: array description: 'Form fields (like radio, dropdown, text, textarea, date etc).' example: - type: text label: 'How you left' defaultValue: '' isRequired: false optionLabel: [] isFieldOnRegistrationPage: true isFieldOnCertificate: true includeInReportExports: [] - type: date label: 'What is your Date of Birth' defaultValue: '' isRequired: false optionLabel: [] isFieldOnRegistrationPage: false isFieldOnCertificate: true includeInReportExports: [] items: type: string required: - fields security: [] /api/users/customUserFieldsReports/lookup: get: summary: 'Custom User Field Reports Lookup' operationId: customUserFieldReportsLookup description: "Retrieves all the Reports that can include the Custom User Field as an additional column in its export. Helps while showing report name in form field like dropdown while creating Custom User Fields.\nReturns a list of reports that supports Custom User Fields. (See Response)" parameters: [] responses: 200: description: '' content: application/json: schema: type: array items: type: object example: - db_value: export-users display_value: 'Export Users' - db_value: course-insight display_value: 'Course Insight' - db_value: export-orders display_value: 'Export Orders' tags: - Users security: [] /api/users/can-delete-field: get: summary: 'Check if the given Custom User Field is eligible for deletion' operationId: checkIfTheGivenCustomUserFieldIsEligibleForDeletion description: 'To delete a custom field, you need to use this request.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: canDeleteField: true message: '' certificateTemplates: '' properties: canDeleteField: type: boolean example: true message: type: string example: '' certificateTemplates: type: string example: '' tags: - Users requestBody: required: false content: application/json: schema: type: object properties: fieldToDelete: type: required description: 'Fields required.' example: '{"id":2,"type":"text","displayType":"Text","label":"Source","defaultValue":"Enter Source","isRequired":false,"userMetaKey":"source","optionLabel":[],"isFieldOnRegistrationPage":false,"isFieldOnCertificate":false,"includeInReportExports":[],"display_order":0,"error":false}' security: [] /api/users/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: - Users security: [] /api/users/enrolled-classes: get: summary: 'Retrieve enrolled class details' operationId: retrieveEnrolledClassDetails description: '' parameters: - in: query name: user_id description: 'The ID of the user.' example: '3' required: false schema: type: string description: 'The ID of the user.' example: '3' - 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: search_param description: 'For searching items based on field names.' example: '{"course_id":""}' required: false schema: type: string description: 'For searching items based on field names.' example: '{"course_id":""}' - 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"}' responses: 200: description: '' content: application/json: schema: type: object example: recordsTotal: 1 recordsFiltered: 1 records: - id: 6 webinarId: null classId: 57 title: 'test ilt' courseId: 34 studyMethod: instructor_led featuredImageUrl: null launchUrl: 'https://staging.aomlms.com/class/test-ilt/launch/webinar/NTc=' classStudyMaterial: 'https://staging.aomlms.com/class/test-ilt/study-material/launch/NTc=' status: Registered display_status: Registered registered_on: 'Jan 04, 2024' last_accessed_on: Never startDate: 11-Jan-2024 startTime: '21:00 PM' endDate: 31-Jan-2024 endTime: '04:00 AM' location: 'Cherry Hill' start: '2024-01-11 21:00:00' end: '2024-01-31 04:00:00' instructor: 't t' class: orange add_calendar_link: 'https://calendar.google.com/calendar/r/eventedit?text=test+ilt&dates=20240111T210000Z%2F20240131T040000Z&details=test+ilt.+For+details%2C+link+here+%3A+https%3A%2F%2Fstaging.aomlms.com' properties: recordsTotal: type: integer example: 1 recordsFiltered: type: integer example: 1 records: type: array example: - id: 6 webinarId: null classId: 57 title: 'test ilt' courseId: 34 studyMethod: instructor_led featuredImageUrl: null launchUrl: 'https://staging.aomlms.com/class/test-ilt/launch/webinar/NTc=' classStudyMaterial: 'https://staging.aomlms.com/class/test-ilt/study-material/launch/NTc=' status: Registered display_status: Registered registered_on: 'Jan 04, 2024' last_accessed_on: Never startDate: 11-Jan-2024 startTime: '21:00 PM' endDate: 31-Jan-2024 endTime: '04:00 AM' location: 'Cherry Hill' start: '2024-01-11 21:00:00' end: '2024-01-31 04:00:00' instructor: 't t' class: orange add_calendar_link: 'https://calendar.google.com/calendar/r/eventedit?text=test+ilt&dates=20240111T210000Z%2F20240131T040000Z&details=test+ilt.+For+details%2C+link+here+%3A+https%3A%2F%2Fstaging.aomlms.com' items: type: object properties: id: type: integer example: 6 webinarId: type: string example: null classId: type: integer example: 57 title: type: string example: 'test ilt' courseId: type: integer example: 34 studyMethod: type: string example: instructor_led featuredImageUrl: type: string example: null launchUrl: type: string example: 'https://staging.aomlms.com/class/test-ilt/launch/webinar/NTc=' classStudyMaterial: type: string example: 'https://staging.aomlms.com/class/test-ilt/study-material/launch/NTc=' status: type: string example: Registered display_status: type: string example: Registered registered_on: type: string example: 'Jan 04, 2024' last_accessed_on: type: string example: Never startDate: type: string example: 11-Jan-2024 startTime: type: string example: '21:00 PM' endDate: type: string example: 31-Jan-2024 endTime: type: string example: '04:00 AM' location: type: string example: 'Cherry Hill' start: type: string example: '2024-01-11 21:00:00' end: type: string example: '2024-01-31 04:00:00' instructor: type: string example: 't t' class: type: string example: orange add_calendar_link: type: string example: 'https://calendar.google.com/calendar/r/eventedit?text=test+ilt&dates=20240111T210000Z%2F20240131T040000Z&details=test+ilt.+For+details%2C+link+here+%3A+https%3A%2F%2Fstaging.aomlms.com' tags: - Users security: [] /api/user/class/reports: get: summary: 'Retrieve enrolled class details' operationId: retrieveEnrolledClassDetails description: '' parameters: - in: query name: user_id description: 'The ID of the user.' example: '3' required: false schema: type: string description: 'The ID of the user.' example: '3' - 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: 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: 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 field names.' example: '{"course":"","status":[],"started_on":[],"completed_on":[]}' required: false schema: type: string description: 'For searching items based on field names.' example: '{"course":"","status":[],"started_on":[],"completed_on":[]}' responses: 200: description: '' content: application/json: schema: type: object example: totalAttended: 0 totalNoshow: 0 totalCancelled: 0 totalRegistered: 1 recordsTotal: 1 recordsFiltered: 1 records: - courseName: 'test ilt' start_time: '11-Jan-2024 21:00 PM' end_time: '31-Jan-2024 04:00 AM' location: 'Cherry Hill' status: Registered display_status: Registered registered_on: 'Jan 04, 2024' last_accessed_on: Never certificate_issued: 'No' properties: totalAttended: type: integer example: 0 totalNoshow: type: integer example: 0 totalCancelled: type: integer example: 0 totalRegistered: type: integer example: 1 recordsTotal: type: integer example: 1 recordsFiltered: type: integer example: 1 records: type: array example: - courseName: 'test ilt' start_time: '11-Jan-2024 21:00 PM' end_time: '31-Jan-2024 04:00 AM' location: 'Cherry Hill' status: Registered display_status: Registered registered_on: 'Jan 04, 2024' last_accessed_on: Never certificate_issued: 'No' items: type: object properties: courseName: type: string example: 'test ilt' start_time: type: string example: '11-Jan-2024 21:00 PM' end_time: type: string example: '31-Jan-2024 04:00 AM' location: type: string example: 'Cherry Hill' status: type: string example: Registered display_status: type: string example: Registered registered_on: type: string example: 'Jan 04, 2024' last_accessed_on: type: string example: Never certificate_issued: type: string example: 'No' tags: - Users security: [] '/api/user/badges/{id}': get: summary: 'Retrieve user badges' operationId: retrieveUserBadges description: 'This endpoint returns the badges gained based on the user ID specified.' parameters: [] responses: 200: description: '' content: application/json: schema: type: array items: type: object example: - id: 1 title: '1' badgeIconUrl: /images/badges/Badge_1.png points: 1 organizationId: '97852067' count: 2 tags: - Users security: [] parameters: - in: path name: id description: 'The ID of the user.' example: '1' required: true schema: type: string '/api/user/leaderboard/{id}': get: summary: 'Retrieve leaderboard details' operationId: retrieveLeaderboardDetails description: 'This endpoint returns the leaderboard detials based on the user ID specified.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: rankedUsers: - id: 24 rank: 1 firstName: John lastName: Doe points: '6' badgeCount: 2 - id: 1 rank: 2 firstName: Aom lastName: Staff points: 0 badgeCount: 0 userTier: 'Level 1' userRank: 1 properties: rankedUsers: type: array example: - id: 24 rank: 1 firstName: John lastName: Doe points: '6' badgeCount: 2 - id: 1 rank: 2 firstName: Aom lastName: Staff points: 0 badgeCount: 0 items: type: object properties: id: type: integer example: 24 rank: type: integer example: 1 firstName: type: string example: John lastName: type: string example: Doe points: type: string example: '6' badgeCount: type: integer example: 2 userTier: type: string example: 'Level 1' userRank: type: integer example: 1 tags: - Users security: [] parameters: - in: path name: id description: 'The ID of the user.' example: '1' required: true schema: type: string /api/user-meta/2fa: get: summary: 'Retrieve 2fa' operationId: retrieve2fa description: 'Retrieves two factor authentication details for a specified user. Returned data includes QR code and String code.' parameters: - in: query name: user_id description: 'ID of the user.' example: '4' required: true schema: type: string description: 'ID of the user.' example: '4' responses: 200: description: '' content: application/json: schema: type: object example: as_qr_code: "\n\n" as_uri: 'otpauth://totp/Laravel%3Ajohn@aom.com?issuer=Laravel&label=john%40aom.com&secret=CREPRUYTMCBSCPEAG2LGKOFYOF25BL4A&algorithm=SHA1&digits=6' as_string: CREPRUYTMCBSCPEAG2LGKOFYOF25BL4A properties: as_qr_code: type: string example: "\n\n" as_uri: type: string example: 'otpauth://totp/Laravel%3Ajohn@aom.com?issuer=Laravel&label=john%40aom.com&secret=CREPRUYTMCBSCPEAG2LGKOFYOF25BL4A&algorithm=SHA1&digits=6' as_string: type: string example: CREPRUYTMCBSCPEAG2LGKOFYOF25BL4A tags: - Users security: [] /api/user/prepareTwoFactorAuth: post: summary: 'Prepare 2fa' operationId: prepare2fa description: "To prepares QR code for Two factor authentication, you need to use this request.\nReturns QR code, URI code and String code for users to authenticate themselves using their authenticator app." parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: as_qr_code: "\n\n" as_uri: 'otpauth://totp/Laravel%3Ajohn@aom.com?issuer=Laravel&label=john%40aom.com&secret=CREPRUYTMCBSCPEAG2LGKOFYOF25BL4A&algorithm=SHA1&digits=6' as_string: CREPRUYTMCBSCPEAG2LGKOFYOF25BL4A properties: as_qr_code: type: string example: "\n\n" as_uri: type: string example: 'otpauth://totp/Laravel%3Ajohn@aom.com?issuer=Laravel&label=john%40aom.com&secret=CREPRUYTMCBSCPEAG2LGKOFYOF25BL4A&algorithm=SHA1&digits=6' as_string: type: string example: CREPRUYTMCBSCPEAG2LGKOFYOF25BL4A 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/user/confirmTwoFactorAuth: post: summary: 'Confirm 2fa' operationId: confirm2fa description: "To confirms relation between your AOM site and your authnticator app for 2fa, you need to use this request.\nUser need to provided secret code from authenticator app. It enables Two factor authentication feature in the system for users. (See parameters)" parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: status: success message: 'Two Factor Authentication activated' properties: status: type: string example: success message: type: string example: 'Two Factor Authentication activated' tags: - Users requestBody: required: true content: application/json: schema: type: object properties: user_id: type: integer description: 'ID of the user.' example: 4 secretCode: type: number description: 'secret code from users authenticator app.' example: 250987.0 qrCode: type: string description: 'QR code generated by prepareTwoFactor method.' example: '\n<\/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: 'AS' recordsTotal: 1 recordsFiltered: 0 records: [] properties: avatar: type: string example: 'AS' 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: 'JD' 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: 'DS' 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: 'JD' 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: 'DS' 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: 'JD' 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: 'AS' 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: 'AS' 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: 'AS' 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: 'AS' 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: 'AS' 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: 'AS' 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: 'DS' 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: 'DS' 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: 'AS' 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: 'AS' 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: 'AS' 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: 'AS' 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: 'AS' 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: 'FF' 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: 'FF' 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: 'FF' 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: 'FF' 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: 'FF' 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: 'JD' 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: 'JD' 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: 'JD' 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: '
\' type: type: string description: 'Type of the page is saved. Type options: predefined or saved.' example: saved required: - name - context - data - type security: [] /api/pages/snippets: get: summary: 'Retrieve Page Layout' operationId: retrievePageLayout description: "Retrieves all code snippet name and the code that is being used for making that snippet that user has ever created in this platform.\nIt is being used by platform core modules like video, pdf, cart component, etc. (See response)" parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: pageHeaderSimple: name: 'Simple Page Header' html: "
\r\n
\r\n

The Main Header

\r\n

The subheading that should be brief enough to describe the page.

\r\n

 

\r\n
\r\n
" productListing: name: 'Product Listing' html: "
\r\n
\r\n

## Product Listing Block ##

\r\n
\r\n \r\n
" cartComponent: name: 'Shopping Cart Component' html: "
\r\n
\r\n

## Shopping Cart Block ##

\r\n
\r\n
\r\n \r\n
\r\n
" checkoutComponent: name: 'Checkout Component' html: "
\r\n
\r\n

## Checkout Block ##

\r\n
\r\n \r\n
\r\n
" ctafullwidth: name: 'Call To Action' html: "
\r\n

The Title of the CTA ?

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

\r\n CTA Button\r\n
" contactUs: name: 'Contact Us Form' html: "
\r\n
\r\n

## Contact Us Form Block ##

\r\n
\r\n \r\n
" video: name: Video html: "
\r\n

## Video Block ##

\r\n \r\n
" pdf: name: 'Pdf Document' html: "
\r\n

## Pdf Document Block ##

\r\n \r\n
" properties: pageHeaderSimple: type: object properties: name: type: string example: 'Simple Page Header' html: type: string example: "
\r\n
\r\n

The Main Header

\r\n

The subheading that should be brief enough to describe the page.

\r\n

 

\r\n
\r\n
" productListing: type: object properties: name: type: string example: 'Product Listing' html: type: string example: "
\r\n
\r\n

## Product Listing Block ##

\r\n
\r\n \r\n
" cartComponent: type: object properties: name: type: string example: 'Shopping Cart Component' html: type: string example: "
\r\n
\r\n

## Shopping Cart Block ##

\r\n
\r\n
\r\n \r\n
\r\n
" checkoutComponent: type: object properties: name: type: string example: 'Checkout Component' html: type: string example: "
\r\n
\r\n

## Checkout Block ##

\r\n
\r\n \r\n
\r\n
" ctafullwidth: type: object properties: name: type: string example: 'Call To Action' html: type: string example: "
\r\n

The Title of the CTA ?

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

\r\n CTA Button\r\n
" contactUs: type: object properties: name: type: string example: 'Contact Us Form' html: type: string example: "
\r\n
\r\n

## Contact Us Form Block ##

\r\n
\r\n \r\n
" video: type: object properties: name: type: string example: Video html: type: string example: "
\r\n

## Video Block ##

\r\n \r\n
" pdf: type: object properties: name: type: string example: 'Pdf Document' html: type: string example: "
\r\n

## Pdf Document Block ##

\r\n \r\n
" tags: - Pages security: [] '/api/page/{id}': get: summary: 'Retrieve Page' operationId: retrievePage description: 'Retrieves the details of the specified page. Helps in fetching page using its ID. (See Parameters)' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: title: 'About Us' slug: about-us content: '' layout: full_width seo_title: null seo_description: null seo_thumbnail_url: null metas: [] properties: title: type: string example: 'About Us' slug: type: string example: about-us content: type: string example: '' layout: type: string example: full_width seo_title: type: string example: null seo_description: type: string example: null seo_thumbnail_url: type: string example: null metas: type: array example: [] tags: - Pages security: [] put: summary: 'Update Page' operationId: updatePage description: "If admins want to update an existing page, you can use this request to update one.\nUpdates existing items of the page.\nPages will be seen by your users/students to interact with your platform and products.\n(See Parameter)" parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: id: 3 message: 'Page updated successfully' properties: id: type: integer example: 3 message: type: string example: 'Page updated successfully' tags: - Pages requestBody: required: true content: application/json: schema: type: object properties: title: type: string description: 'Title for the page.' example: 'About Us' content: type: string description: 'Content(HTML, CSS, JS) for the page.' example: 'null' layout: type: string description: 'Layout type for the page. Layout options: full_width, no_header, fixed_width.' example: full_width seo_title: type: string description: 'SEO title for the page.' example: 'null' seo_description: type: string description: 'SEO description for the page.' example: 'null' seo_thumbnail_url: type: string description: 'Thumbnail image for the page.' example: 'null' restricted_to_login_user: type: boolean description: 'to check to allow the users to access the page.' example: true required: - title - layout security: [] parameters: - in: path name: id description: 'ID of the page you want to fetch the details of.' example: 3 required: true schema: type: integer /api/contact-form: post: summary: 'Send Contact form response' operationId: sendContactFormResponse description: "The request helps in sending contact form responses to the admins and instructors of the platform.\nGenerally this form is filled and sent by the students to enquire something regarding your product, course or the platform." parameters: [] responses: { } tags: - Pages requestBody: required: true content: application/json: schema: type: object properties: firstName: type: string description: 'First Name of the sender.' example: John lastName: type: string description: 'Last Name of the sender.' example: Doe email: type: string description: 'Email of the sender.' example: john@aom.com toEmail: type: string description: 'Email of the receiver.' example: aom-staff@aom.com phoneNo: type: string description: 'Phone number of the sender.' example: '1234567890' content: type: string description: 'Content written by the sender.' example: 'A question about your course?' required: - firstName - email - toEmail - phoneNo - content security: [] /api/pages/tabularlist: get: summary: 'Page Tabular List' operationId: pageTabularList description: "Returns all the pages in a tabular list format in paginated mode.\nYou can apply filter using search_param via pageName." 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: 0 required: false schema: type: integer description: 'For searching items based on field names.' example: 0 - in: query name: type description: 'Type of the page(trashed, published).' example: 0 required: false schema: type: integer description: 'Type of the page(trashed, published).' example: 0 responses: 200: description: '' content: application/json: schema: type: object example: recordsTotal: 6 recordsFiltered: 6 records: - id: 1 title: 'Home Page' slug: '' author: 'Aom Staff' identifier: home created_at: 'Aug 03, 2020 09:31 AM' - id: 2 title: 'Product Listing' slug: course-catalog author: 'Aom Staff' identifier: catalog created_at: 'Aug 03, 2020 09:31 AM' - id: 3 title: 'About Us' slug: about-us author: 'Aom Staff' identifier: general created_at: 'Aug 03, 2020 09:31 AM' - id: 4 title: Checkout slug: checkout author: 'Aom Staff' identifier: checkout created_at: 'Aug 03, 2020 09:31 AM' - id: 5 title: Cart slug: cart author: 'Aom Staff' identifier: cart created_at: 'Aug 03, 2020 09:31 AM' - id: 6 title: 'Contact Us' slug: contact-us author: 'Aom Staff' identifier: general created_at: 'Aug 03, 2020 09:31 AM' properties: recordsTotal: type: integer example: 6 recordsFiltered: type: integer example: 6 records: type: array example: - id: 1 title: 'Home Page' slug: '' author: 'Aom Staff' identifier: home created_at: 'Aug 03, 2020 09:31 AM' - id: 2 title: 'Product Listing' slug: course-catalog author: 'Aom Staff' identifier: catalog created_at: 'Aug 03, 2020 09:31 AM' - id: 3 title: 'About Us' slug: about-us author: 'Aom Staff' identifier: general created_at: 'Aug 03, 2020 09:31 AM' - id: 4 title: Checkout slug: checkout author: 'Aom Staff' identifier: checkout created_at: 'Aug 03, 2020 09:31 AM' - id: 5 title: Cart slug: cart author: 'Aom Staff' identifier: cart created_at: 'Aug 03, 2020 09:31 AM' - id: 6 title: 'Contact Us' slug: contact-us author: 'Aom Staff' identifier: general created_at: 'Aug 03, 2020 09:31 AM' items: type: object properties: id: type: integer example: 1 title: type: string example: 'Home Page' slug: type: string example: '' author: type: string example: 'Aom Staff' identifier: type: string example: home created_at: type: string example: 'Aug 03, 2020 09:31 AM' tags: - Pages security: [] /api/pages/dropdownlist: get: summary: 'Page Dropdown List' operationId: pageDropdownList description: "Returns page Id and name of the pages that user has ever created.\nHelps in showing the response in form elements like dropdown. (See response)" 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 title: 'Home Page' - id: 2 title: 'Product Listing' - id: 3 title: 'About Us' - id: 4 title: Checkout - id: 5 title: Cart - id: 6 title: 'Contact Us' tags: - Pages security: [] /api/pages/timezoneList: get: summary: 'Timezone Dropdown List' operationId: timezoneDropdownList description: "Returns all timezones supported by php.\nHelps in showing the response in form elements like dropdown. (See response)" parameters: [] responses: 200: description: '' content: application/json: schema: type: array items: type: string example: - Africa/Abidjan - Africa/Accra - Africa/Addis_Ababa - Africa/Algiers - Africa/Asmara - ..etc tags: - Pages security: [] /api/pages/layout/lookup: get: summary: 'Page Layout Lookup' operationId: pageLayoutLookup description: "Retrieves all the layout lookups in list format. Helps while showing layouts in form elements like dropdown.\n(See Response)" parameters: [] responses: 200: description: '' content: application/json: schema: type: array items: type: object example: - db_value: full_width display_value: 'Full Width' - db_value: fixed_width display_value: 'Fixed width with left/right margin gaps' - db_value: no_header display_value: 'No Header/Menus/Footer' tags: - Pages security: [] /api/pages/restriction/lookup: get: summary: 'Page Restriction Lookup' operationId: pageRestrictionLookup description: 'Retrieves all the page restrictions.' parameters: [] responses: 200: description: '' content: application/json: schema: type: array items: type: object example: - db_value: all display_value: 'No Restriction' - db_value: user_category display_value: 'Restrict by User Categories' - db_value: user_type display_value: 'Restrict by User Types' tags: - Pages security: [] /api/pages: post: summary: 'Save Page' operationId: savePage description: "If admins want to add new page, you can use this request to make one.\nCreated pages will be seen by your users/students to interact with your platform and products.\n(See Parameter)" parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: id: 1 message: 'Page saved successfully' properties: id: type: integer example: 1 message: type: string example: 'Page saved successfully' tags: - Pages requestBody: required: true content: application/json: schema: type: object properties: title: type: string description: 'Title for the page.' example: 'About Us' content: type: string description: 'Content(HTML, CSS, JS) for the page.' example: 'null' layout: type: string description: 'Layout type for the page. Layout options: full_width, no_header, fixed_width.' example: full_width seo_title: type: string description: 'SEO title for the page.' example: 'null' seo_description: type: string description: 'SEO description for the page.' example: 'null' seo_thumbnail_url: type: string description: 'Thumbnail image for the page.' example: 'null' restricted_to_login_user: type: boolean description: 'to check to allow the users to access the page.' example: true required: - title - layout security: [] /api/pages/delete: post: summary: 'Soft Delete Page' operationId: softDeletePage description: "To delete a page, you need to use this request. The pages will not be deleted permanently, it will be in draft mode.\nYou can restore the page later.\nReturns page drafted(if multiple selected). (See Response)" parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: 'Page moved to draft successfully' properties: message: type: string example: 'Page moved to draft successfully' tags: - Pages requestBody: required: true content: application/json: schema: type: object properties: page_ids: type: array description: 'All page IDs which needs to be drafted.' example: - 1 - 12 - 15 items: type: string required: - page_ids security: [] /api/pages/harddelete: post: summary: 'Hard Delete Page' operationId: hardDeletePage description: "To delete a page, you need to use this request. The pages will be deleted permanently.\nIn this case, you cannot restore the page after hard delete.\nReturns page drafted(if multiple selected). (See Response)" parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: 'Pages deleted permanently' properties: message: type: string example: 'Pages deleted permanently' tags: - Pages requestBody: required: true content: application/json: schema: type: object properties: page_ids: type: array description: 'All page IDs which needs to be deleted.' example: - 1 - 12 - 15 items: type: string required: - page_ids security: [] /api/pages/restore: post: summary: 'Restore Page' operationId: restorePage description: "To restore a page, you need to use this request. The pages will be restored from draft mode to published mode.\nReturns page retored(if multiple selected). (See Response)" parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: 'Page restored successfully' properties: message: type: string example: 'Page restored successfully' tags: - Pages requestBody: required: true content: application/json: schema: type: object properties: page_ids: type: array description: 'All page IDs which needs to be restored.' example: - 1 - 12 - 15 items: type: string required: - page_ids security: [] '/api/page/update-slug/{id}': put: summary: 'Update Slug' operationId: updateSlug description: "Updates the slug of the page.\nExample - old-awesome-page to new-awesome-page" parameters: [] responses: 200: description: '' content: application/json: schema: type: string example: about-us tags: - Pages requestBody: required: false content: application/json: schema: type: object properties: slug: type: required description: 'New slug for the page.' example: about-us security: [] parameters: - in: path name: id description: 'The ID of the page.' example: 1 required: true schema: type: integer /api/modules/powerpoint: get: summary: 'Powerpoint Modules Tabular List' operationId: powerpointModulesTabularList description: "Returns all the Powerpoint 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: powerpoint 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: powerpoint 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: powerpoint icon: type: string example: '' author: type: string example: 'Aom Staff' created_at: type: string example: 'Aug 10, 2020 05:55 PM' tags: - Powerpoint security: [] post: summary: 'Create Powerpoint Module' operationId: createPowerpointModule description: "To create a Powerpoint module, you need to use this request. (See parameters)\nCreated Powerpoint modules can be used in the course as course content/lesson.\n\nReturns : id of the Powerpoint 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: - Powerpoint requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Name of the Powerpoint module.' example: 'Getting Started' viewer: type: enum description: 'microsoft_office, google_viewer.' example: google_viewer content: type: string description: 'Content for the Powerpoint module that students will see. Example:' example: qui url: type: string description: 'URL or actual path of the Powerpoint module that students will see.' example: 'https://drive.google.com/file/d/0B5cbJMbHsJ1gc3RhcnRlcl9maWX2Rhc2hlclYw/view?usp=sharing' required: - name - content - url security: [] '/api/modules/powerpoint/{id}': get: summary: 'Retrieve Powerpoint module' operationId: retrievePowerpointModule description: 'Retrieves the details of the specified Powerpoint module. Helps in fetching Powerpoint module using module ID. (See Parameters)' parameters: [] responses: 200: description: '' content: text/plain: schema: type: string example: '{"name":"Getting Started","slug":"getting-started","viewer":google_viewer, "content":null,"url":"https:\/\/drive.google.com\/file\/d\/0B5cbJMbHsJ1gc3RhcnRlcl9maWxlX2Rhc2hlclYw\/view?usp=sharing"}' tags: - Powerpoint security: [] put: summary: 'Update Powerpoint Module' operationId: updatePowerpointModule description: "Updates the details of a specified Powerpoint module. (See parameters)\nPowerpoint 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: - Powerpoint requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Name of the Powerpoint module.' example: 'Getting Started' viewer: type: boolean description: 'microsoft_office, google_viewer.' example: true 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 Powerpoint module that students will see.' example: 'https://drive.google.com/file/d/0B5cbJMbHsJ1gc3RhcnRlcl9ma2Rhc2hlclYw/view?usp=sharing' required: - name - content - url security: [] parameters: - in: path name: id description: 'ID of the Powerpoint module you want to fetch the details of.' example: '23' required: true schema: type: string /api/module/powerpoint/details: get: summary: 'Retrieve Detailed Powerpoint Module Info' operationId: retrieveDetailedPowerpointModuleInfo description: "Retrieves details of Powerpoint module in depth as well as different modules details that are being used as course content for the same course the current Powerpoint 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 Powerpoint module.' example: '6' required: true schema: type: string description: 'ID of the Powerpoint 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' 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' 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: - Powerpoint security: [] /api/module/powerpoint/content-details: get: summary: 'Retrieve Detailed Powerpoint module Info as Membership content' operationId: retrieveDetailedPowerpointModuleInfoAsMembershipContent description: "Retrieves details of Powerpoint module in depth for the same membership the current Powerpoint module is attached to.\nReturns related fields value. (See Response)" parameters: - in: query name: moduleId description: 'ID of the Powerpoint module.' example: '6' required: true schema: type: string description: 'ID of the Powerpoint module.' example: '6' responses: 200: description: '' content: text/plain: schema: type: string example: '{"name":"test","slug":"test","viewer":microsoft_office,"url":"","content":"

afegrshtdh<\/p>"}' tags: - Powerpoint security: [] /api/questions/tabularlist: get: summary: 'Questions Tabular List' operationId: questionsTabularList description: "Returns all the questions in a tabular list format in paginated mode.\nYou can apply filter using search_param via questionTypes, questionCategoryIds, questionName and quizModuleId(module ID the question belongs to)." 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: '{"questionTypes":[],"questionCategoryIds":[],"questionName":"","quizModuleId":""}' required: false schema: type: string description: 'For searching items based on field names.' example: '{"questionTypes":[],"questionCategoryIds":[],"questionName":"","quizModuleId":""}' responses: 200: description: '' content: application/json: schema: type: object example: recordsTotal: 3 recordsFiltered: 3 records: - id: 3 title: 'Is red a color?' type: multiple_choice categories: '' author: 'Aom Staff' created_at: 'Aug 10, 2020 06:34 PM' - id: 2 title: 'Is Newyork a city?' type: multiple_choice categories: '' author: 'Aom Staff' created_at: 'Aug 10, 2020 06:33 PM' - id: 1 title: 'Is blue a color?' type: multiple_choice categories: '' author: 'Aom Staff' created_at: 'Aug 10, 2020 06:33 PM' properties: recordsTotal: type: integer example: 3 recordsFiltered: type: integer example: 3 records: type: array example: - id: 3 title: 'Is red a color?' type: multiple_choice categories: '' author: 'Aom Staff' created_at: 'Aug 10, 2020 06:34 PM' - id: 2 title: 'Is Newyork a city?' type: multiple_choice categories: '' author: 'Aom Staff' created_at: 'Aug 10, 2020 06:33 PM' - id: 1 title: 'Is blue a color?' type: multiple_choice categories: '' author: 'Aom Staff' created_at: 'Aug 10, 2020 06:33 PM' items: type: object properties: id: type: integer example: 3 title: type: string example: 'Is red a color?' type: type: string example: multiple_choice categories: type: string example: '' author: type: string example: 'Aom Staff' created_at: type: string example: 'Aug 10, 2020 06:34 PM' tags: - Questions security: [] /api/questions/type/lookup: get: summary: 'Question Type Lookups' operationId: questionTypeLookups description: "Retrieves all types of the questions.\nHelps showing options in form elements like dropdowns." parameters: [] responses: 200: description: '' content: application/json: schema: type: array items: type: object example: - db_value: multiple_choice display_value: 'Multiple Choice' - db_value: multiple_correct display_value: 'Multiple Correct' - db_value: short_answers display_value: 'Short Answers' tags: - Questions security: [] /api/question/lookup: get: summary: 'Question Lookup' operationId: questionLookup description: "Retrieves all the questions. Helps while showing questions in form elements like dropdown.\nYou can apply filters using search_term(question) parameter. (See Parameter)" parameters: - in: query name: search_term description: 'You need to provide questions or substring of the questions to search for that module.' example: suscipit required: true schema: type: string description: 'You need to provide questions or substring of the questions to search for that module.' example: suscipit responses: 200: description: '' content: application/json: schema: type: array items: type: object example: - value: 1 label: 'Is blue a color?' - value: 2 label: 'Is Newyork a city?' - value: 3 label: 'Is red a color?' tags: - Questions security: [] /api/questions/quickEdit: post: summary: 'Quick Edit' operationId: quickEdit description: 'Updates the details in bulk for a specified question. 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: - Questions requestBody: required: true content: application/json: schema: type: object properties: question_ids: type: array description: 'All question IDs which needs to be updated.' example: - 3 - 2 items: type: string author_id: type: integer description: 'Update the instructor/Author for the selected modules.' example: 1 categories_id: type: array description: 'Update the categories of selected questions.' example: - 6 items: type: string required: - question_ids security: [] /api/questions: post: summary: 'Create Question' operationId: createQuestion description: "To create a question, you need to use this request. (See parameters)\nCreated questions can be used in the quizzes as quiz's content.\n\nReturns : id of the question created and successfull message" parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: id: 4 message: 'Question saved successfully' properties: id: type: integer example: 4 message: type: string example: 'Question saved successfully' tags: - Questions requestBody: required: true content: application/json: schema: type: object properties: title: type: string description: 'Title of the question.' example: Q1 type: type: string description: 'Type of the question. Type options: multiple_choice, multiple_correct or short_answers.' example: multiple_choice content: type: string description: 'Content for the text modules that students will see.' example: '

This is the short content here

' hint: type: string description: 'Hint for the question for students.' example: 'SpaceX owner' explanation: type: string description: 'Explanation of the answer for students.' example: 'Elon owns Tesla car company' categories: type: array description: 'Categories for the question.' example: - 12 - 16 items: type: string options: type: array description: 'Options and correct answer for this question.' example: - placeat items: type: string required: - title - type - content security: [] '/api/question/{id}': get: summary: 'Retrieve Question' operationId: retrieveQuestion description: 'Retrieves the details of the specified question. Helps in fetching question using its ID. (See Parameters)' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: title: 'Is red a color?' content: null hint: null explanation: null type: multiple_choice categories: [] options: [] properties: title: type: string example: 'Is red a color?' content: type: string example: null hint: type: string example: null explanation: type: string example: null type: type: string example: multiple_choice categories: type: array example: [] options: type: array example: [] tags: - Questions security: [] put: summary: 'Update Question' operationId: updateQuestion description: "Updates the details of a specified question. (See parameters)\nQuestions can be used in the quizzes as quiz's content." parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: 'Question updated successfully' properties: message: type: string example: 'Question updated successfully' tags: - Questions requestBody: required: true content: application/json: schema: type: object properties: title: type: string description: 'Title of the question.' example: Q1 type: type: string description: 'Type of the question. Type options: multiple_choice, multiple_correct or short_answers.' example: multiple_choice content: type: string description: 'Content for the text modules that students will see.' example: '

This is the short content here

' hint: type: string description: 'Hint for the question for students.' example: 'SpaceX owner' explanation: type: string description: 'Explanation of the answer for students.' example: 'Elon owns Tesla car company' categories: type: array description: 'Categories for the question.' example: - 12 - 16 items: type: string options: type: array description: 'Options and correct answer for this question.' example: - quas items: type: string required: - title - type - content security: [] parameters: - in: path name: id description: 'ID of the question you want to fetch the details of.' example: '3' required: true schema: type: string /api/question/delete: post: summary: 'Delete Question' operationId: deleteQuestion description: "To delete a question, you need to use this request.\nReturns number of question deleted(if multiple selected) and also not deleted. (See Response)" parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: '2 question(s) deleted 1 question(s) not deleted as it is used in quiz. Please remove the question(s) from the quiz and try again.' properties: message: type: string example: '2 question(s) deleted 1 question(s) not deleted as it is used in quiz. Please remove the question(s) from the quiz and try again.' tags: - Questions requestBody: required: true content: application/json: schema: type: object properties: delete_ids: type: array description: 'All question IDs which needs to be deleted.' example: - 1 - 12 - 15 items: type: string required: - delete_ids security: [] /api/question/bulkUpload: post: summary: 'Bulk-Upload Questions' operationId: bulkUploadQuestions description: "To add questions to existing/new quiz in bulk, you need to use this request.\nReturns number of question added and skipped and also any errors occurred while uploading. (See Response)" parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: 'Questions(s) uploaded successfully' errors: [] successfulRow: 3 skipped: 0 insertedQuestions: - id: 5 title: Question1 - id: 6 title: Question2 - id: 7 title: Question3 properties: message: type: string example: 'Questions(s) uploaded successfully' errors: type: array example: [] successfulRow: type: integer example: 3 skipped: type: integer example: 0 insertedQuestions: type: array example: - id: 5 title: Question1 - id: 6 title: Question2 - id: 7 title: Question3 items: type: object properties: id: type: integer example: 5 title: type: string example: Question1 tags: - Questions requestBody: required: true content: application/json: schema: type: object properties: questionList: type: array description: 'All questions which needs to be added(should in excel data form).' example: - - Question_Type - Question_Title - Question_Content - Question_Category - Answer_Hint - Answer_Explanation - Correct_Answer - Option_1 - Option_2 - Option_3 - Option_4 - - multiple_choice - Question1 - Test - null - null - null - 1 - choice1 - choice2 - choice3 - choice4 - - multiple_correct - Question2 - Test - null - null - null - '1,2' - choice1 - choice2 - choice3 - choice4 - - short_answers - Question3 - Test - null - null - null - null - possible_answer1 - possible_answer2 - possible_answer3 - possible_answer4 items: type: string quizIds: type: array description: 'All existing quizzes the questions are going to be added.' example: - 7 items: type: string quiztype: type: string description: 'Whether the questions are going to be added in new or existing quizzes.' example: existing_quiz newQuiz: type: string description: 'Name of the new Quiz, the questions are going to be added.' example: 'null' required: - questionList - quizIds - quiztype security: [] /api/modules/quiz: get: summary: 'Quiz Modules Tabular List' operationId: quizModulesTabularList description: "Returns all the quiz 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: 8 name: Quiz-2 slug: quiz-2 type: quiz quizType: static totalQuestions: 1 icon: '' author: 'Aom Staff' created_at: 'Aug 10, 2020 06:34 PM' - id: 7 name: First-quiz slug: first-quiz type: quiz quizType: static totalQuestions: 2 icon: '' author: 'Aom Staff' created_at: 'Aug 10, 2020 06:34 PM' properties: recordsTotal: type: integer example: 2 recordsFiltered: type: integer example: 2 records: type: array example: - id: 8 name: Quiz-2 slug: quiz-2 type: quiz quizType: static totalQuestions: 1 icon: '' author: 'Aom Staff' created_at: 'Aug 10, 2020 06:34 PM' - id: 7 name: First-quiz slug: first-quiz type: quiz quizType: static totalQuestions: 2 icon: '' author: 'Aom Staff' created_at: 'Aug 10, 2020 06:34 PM' items: type: object properties: id: type: integer example: 8 name: type: string example: Quiz-2 slug: type: string example: quiz-2 type: type: string example: quiz quizType: type: string example: static totalQuestions: type: integer example: 1 icon: type: string example: '' author: type: string example: 'Aom Staff' created_at: type: string example: 'Aug 10, 2020 06:34 PM' tags: - Quizzes security: [] post: summary: 'Create Quiz Module' operationId: createQuizModule description: "To create a quiz module, you need to use this request. (See parameters)\nCreated quiz modules can be used in the course as course content.\n\nReturns : id of the quiz module created and successfull message" parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: id: 8 message: 'Module saved successfully' properties: id: type: integer example: 8 message: type: string example: 'Module saved successfully' tags: - Quizzes requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Name of the pdf module.' example: Quiz-2 content: type: string description: 'Content for the pdf module that students will see.' example: '

Some content here

' type: type: string description: 'Type of the quiz. Type options: static or dynamic.' example: static forceSequential: type: boolean description: 'Question will be returned in the same order while created.' example: false minimumPassingMarks: type: integer description: 'Student should cover atleast this number to pass the quiz.' example: 75 noOfRetakesAllowed: type: integer description: 'Number of attempts student can make to take the quiz.' example: 3 questionCategories: type: array description: 'Categories of the question.' example: - 3 - 4 items: type: string questions: type: array description: 'All questions attached to this quiz.' example: - vel items: type: string showCorrectAnswerOption: type: string description: 'After attempting the quiz, show the correct answer. Options: always, never,not_till_retake_allowed.' example: always shuffleQuestions: type: boolean description: 'Shuffle the questions?.' example: false maxSpentHour: type: string description: 'Maximum hours to be spend in quiz after that it will auto submit.' example: '1' maxSpentMinutes: type: string description: 'Maximum minutes to be spend in quiz after that it will auto submit.' example: '30' required: - name - type - forceSequential - showCorrectAnswerOption - shuffleQuestions - maxSpentHour - maxSpentMinutes security: [] '/api/modules/quiz/{id}': get: summary: 'Retrieve Quiz module' operationId: retrieveQuizModule description: 'Retrieves the details of the specified quiz module. Helps in fetching quiz module using module ID. (See Parameters)' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: name: First-quiz slug: first-quiz content: null type: static shuffleQuestions: false forceSequential: false showCorrectAnswerOption: always noOfRetakesAllowed: null minimumPassingMarks: null questions: - id: 1 title: 'Is blue a color?' - id: 2 title: 'Is Newyork a city?' questionCategories: [] maxSpentHour: 1 maxSpentMinutes: 30 properties: name: type: string example: First-quiz slug: type: string example: first-quiz content: type: string example: null type: type: string example: static shuffleQuestions: type: boolean example: false forceSequential: type: boolean example: false showCorrectAnswerOption: type: string example: always noOfRetakesAllowed: type: string example: null minimumPassingMarks: type: string example: null questions: type: array example: - id: 1 title: 'Is blue a color?' - id: 2 title: 'Is Newyork a city?' items: type: object properties: id: type: integer example: 1 title: type: string example: 'Is blue a color?' questionCategories: type: array example: [] maxSpentHour: type: integer example: 1 maxSpentMinutes: type: integer example: 30 tags: - Quizzes security: [] put: summary: 'Update Quiz Module' operationId: updateQuizModule description: "Updates the details of a specified quiz module. (See parameters)\nQuiz modules can be used in the course as course content." parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: id: 8 message: 'Module saved successfully' properties: id: type: integer example: 8 message: type: string example: 'Module saved successfully' tags: - Quizzes requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Name of the pdf module.' example: Quiz-2 content: type: string description: 'Content for the pdf module that students will see.' example: '

Some content here

' type: type: string description: 'Type of the quiz. Type options: static or dynamic.' example: static forceSequential: type: boolean description: 'Question will be returned in the same order while created.' example: false minimumPassingMarks: type: integer description: 'Student should cover atleast this number to pass the quiz.' example: 75 noOfRetakesAllowed: type: integer description: 'Number of attempts student can make to take the quiz.' example: 3 questionCategories: type: array description: 'Categories of the question.' example: - 3 - 4 items: type: string questions: type: array description: 'All questions attached to this quiz.' example: - maxime items: type: string showCorrectAnswerOption: type: string description: 'After attempting the quiz, show the correct answer. Options: always, never,not_till_retake_allowed.' example: always shuffleQuestions: type: boolean description: 'Shuffle the questions?.' example: false maxSpentHour: type: string description: 'Maximum hours to be spend in quiz after that it will auto submit.' example: '1' maxSpentMinutes: type: string description: 'Maximum minutes to be spend in quiz after that it will auto submit.' example: '30' required: - name - type - forceSequential - showCorrectAnswerOption - shuffleQuestions - maxSpentHour - maxSpentMinutes security: [] parameters: - in: path name: id description: 'ID of the quiz module you want to fetch the details of.' example: '23' required: true schema: type: string /api/module/quiz/details: get: summary: 'Retrieve Detailed Quiz Module Info' operationId: retrieveDetailedQuizModuleInfo description: "Retrieves details of quiz module in depth as well as different modules details that are being used as course content for the same course the current quiz 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 quiz module.' example: '6' required: true schema: type: string description: 'ID of the quiz 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: - Quizzes security: [] '/api/modules/quiz/{id}/saveAnswer': put: summary: 'Save Answer' operationId: saveAnswer description: "Save answer that is being selected by the student while taking the quiz.\n(See Parameters)" parameters: - in: query name: questionId description: 'ID of the question is user is answering.' example: '1' required: true schema: type: string description: 'ID of the question is user is answering.' example: '1' - in: query name: moduleStatusId description: 'ID of the Module status of the current quiz.' example: '7' required: true schema: type: string description: 'ID of the Module status of the current quiz.' example: '7' - in: query name: markedAnswer description: 'Answer marked by the user.' example: 'yes' required: true schema: type: string description: 'Answer marked by the user.' example: 'yes' - in: query name: retakeCounter description: 'Quiz Retake count.' example: '2' required: true schema: type: string description: 'Quiz Retake count.' example: '2' responses: 200: description: '' content: application/json: schema: type: object example: id: 7 message: 'Answer saved successfully' properties: id: type: integer example: 7 message: type: string example: 'Answer saved successfully' tags: - Quizzes security: [] parameters: - in: path name: id description: 'ID of the quiz module.' example: '7' required: true schema: type: string '/api/modules/quiz/{id}/submitQuiz': put: summary: 'Submit Quiz' operationId: submitQuiz description: "Submits the quiz after attempting all the questions of the quiz. Updates the status of quiz to completed if student is finished the quiz and submits.\n(See Parameters)" parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: 'Quiz Submitted Successfully' properties: message: type: string example: 'Quiz Submitted Successfully' tags: - Quizzes requestBody: required: false content: application/json: schema: type: object properties: questions: type: required description: 'All questions in current quiz.' example: '[]' statusRowId: type: required description: 'ID of the Module status of the current quiz.' example: '7' retakeCounter: type: required description: 'Quiz Retake count.' example: '2' security: [] parameters: - in: path name: id description: 'ID of the quiz module.' example: '7' required: true schema: type: string /api/module/quiz/results: get: summary: 'Retrieve Quiz Results' operationId: retrieveQuizResults description: 'Retrieves the result of the quiz the student have taken. Helping to decide whether to assign certificate to a student. (See Response)' parameters: - in: query name: statusRowId description: 'ID of the Module status of the current quiz.' example: '7' required: true schema: type: string description: 'ID of the Module status of the current quiz.' example: '7' responses: 200: description: '' content: application/json: schema: type: object example: name: First-quiz slug: first-quiz status: 'In Progress' isRetakeAllowed: false totalRetakeallowed: 1 attemptCount: 1 timeSpent: hours: 0 minutes: 0 seconds: 16 totalSeconds: 16 questions: - id: 1 title: 'Is blue a color?' content: null explanation: null is_correct: false marked_answer: [] correct_answer: [] - id: 2 title: 'Is Newyork a city?' content: null explanation: null is_correct: false marked_answer: [] correct_answer: [] showCorrectAnswerOption: true minimumPassingMarks: null totalQuestions: 2 totalCorrect: 0 totalInCorrect: 2 minimumPassingAchieved: false properties: name: type: string example: First-quiz slug: type: string example: first-quiz status: type: string example: 'In Progress' isRetakeAllowed: type: boolean example: false totalRetakeallowed: type: integer example: 1 attemptCount: type: integer example: 1 timeSpent: type: object properties: hours: type: integer example: 0 minutes: type: integer example: 0 seconds: type: integer example: 16 totalSeconds: type: integer example: 16 questions: type: array example: - id: 1 title: 'Is blue a color?' content: null explanation: null is_correct: false marked_answer: [] correct_answer: [] - id: 2 title: 'Is Newyork a city?' content: null explanation: null is_correct: false marked_answer: [] correct_answer: [] items: type: object properties: id: type: integer example: 1 title: type: string example: 'Is blue a color?' content: type: string example: null explanation: type: string example: null is_correct: type: boolean example: false marked_answer: type: array example: [] correct_answer: type: array example: [] showCorrectAnswerOption: type: boolean example: true minimumPassingMarks: type: string example: null totalQuestions: type: integer example: 2 totalCorrect: type: integer example: 0 totalInCorrect: type: integer example: 2 minimumPassingAchieved: type: boolean example: false tags: - Quizzes security: [] /api/quiz/dropdownlist: get: summary: 'Static Quiz Lookup' operationId: staticQuizLookup description: "Retrieves all the static quiz user has ever created.\nThis request helps in showing all static quiz in form elements like dropdown, etc.\nReturns ID and name of the static quiz." parameters: [] responses: 200: description: '' content: application/json: schema: type: array items: type: object example: - value: 7 label: First-quiz - value: 8 label: Quiz-2 tags: - Quizzes security: [] /api/quiz/quizAnalysis: get: summary: 'Get Quiz Analysis Details' operationId: getQuizAnalysisDetails description: 'Retrieves the quiz details based on the quiz ID specified.' parameters: - in: query name: quiz_id description: 'The ID of the quiz.' example: '10' required: true schema: type: string description: 'The ID of the quiz.' example: '10' - 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: search_param description: 'For searching items based on field names.' example: '{"title":""}' required: false schema: type: string description: 'For searching items based on field names.' example: '{"title":""}' responses: 200: description: '' content: application/json: schema: type: object example: quizName: 'Final Quiz' totalSubmissions: 2 questionDetails: - id: 1 name: 'Which of the following is a correct answer?' questionType: 'Multiple Choice' correctOption: - 3 optionsWithPercentage: 'This is not a correct choice': 0 'This is the only correct choice': 100 optionName_1: 'This is not a correct choice' markedPercentageOfOption_1: 0 optionName_2: 'This is not a correct choice' markedPercentageOfOption_2: 0 optionName_3: 'This is the only correct choice' markedPercentageOfOption_3: 100 optionName_4: 'This is not a correct choice' markedPercentageOfOption_4: 0 answeredIncorrectly: 0 answeredCorrectly: 100 notAttempted: 0 - id: 2 name: 'Choose 1 or more correct responses from the below choices' questionType: 'Multiple Correct' correctOption: - 1 - 3 optionsWithPercentage: 'This is correct choice': 100 'This is not Correct': 0 'This is also a correct choice': 100 'This is not a correct choice': 0 optionName_1: 'This is correct choice' markedPercentageOfOption_1: 100 optionName_2: 'This is not Correct' markedPercentageOfOption_2: 0 optionName_3: 'This is also a correct choice' markedPercentageOfOption_3: 100 optionName_4: 'This is not a correct choice' markedPercentageOfOption_4: 0 answeredIncorrectly: 0 answeredCorrectly: 100 notAttempted: 0 - id: 3 name: 'Type academy of mine below to register a correct response' questionType: 'Short Answers' correctOption: - 1 - 2 optionsWithPercentage: 'academy of mine': 0 aom: 100 optionName_1: 'academy of mine' markedPercentageOfOption_1: 0 optionName_2: aom markedPercentageOfOption_2: 100 answeredIncorrectly: 0 answeredCorrectly: 100 notAttempted: 0 totalQuestions: 3 recordsFiltered: 3 quizStatistics: minimumPassingMarks: 90 maxMarksAchieved: 3 minMarksAchieved: 3 highPercentage: 100 mediumPercentage: 0 lowPercentage: 0 passedPercentage: 100 failedPercentage: 0 correctPercentage: 0 averageTimeSpent: 1s totalAttempts: 4 headers: - optionName_1 - markedPercentageOfOption_1 - optionName_2 - markedPercentageOfOption_2 - optionName_3 - markedPercentageOfOption_3 - optionName_4 - markedPercentageOfOption_4 properties: quizName: type: string example: 'Final Quiz' totalSubmissions: type: integer example: 2 questionDetails: type: array example: - id: 1 name: 'Which of the following is a correct answer?' questionType: 'Multiple Choice' correctOption: - 3 optionsWithPercentage: 'This is not a correct choice': 0 'This is the only correct choice': 100 optionName_1: 'This is not a correct choice' markedPercentageOfOption_1: 0 optionName_2: 'This is not a correct choice' markedPercentageOfOption_2: 0 optionName_3: 'This is the only correct choice' markedPercentageOfOption_3: 100 optionName_4: 'This is not a correct choice' markedPercentageOfOption_4: 0 answeredIncorrectly: 0 answeredCorrectly: 100 notAttempted: 0 - id: 2 name: 'Choose 1 or more correct responses from the below choices' questionType: 'Multiple Correct' correctOption: - 1 - 3 optionsWithPercentage: 'This is correct choice': 100 'This is not Correct': 0 'This is also a correct choice': 100 'This is not a correct choice': 0 optionName_1: 'This is correct choice' markedPercentageOfOption_1: 100 optionName_2: 'This is not Correct' markedPercentageOfOption_2: 0 optionName_3: 'This is also a correct choice' markedPercentageOfOption_3: 100 optionName_4: 'This is not a correct choice' markedPercentageOfOption_4: 0 answeredIncorrectly: 0 answeredCorrectly: 100 notAttempted: 0 - id: 3 name: 'Type academy of mine below to register a correct response' questionType: 'Short Answers' correctOption: - 1 - 2 optionsWithPercentage: 'academy of mine': 0 aom: 100 optionName_1: 'academy of mine' markedPercentageOfOption_1: 0 optionName_2: aom markedPercentageOfOption_2: 100 answeredIncorrectly: 0 answeredCorrectly: 100 notAttempted: 0 items: type: object properties: id: type: integer example: 1 name: type: string example: 'Which of the following is a correct answer?' questionType: type: string example: 'Multiple Choice' correctOption: type: array example: - 3 items: type: integer optionsWithPercentage: type: object properties: 'This is not a correct choice': type: integer example: 0 'This is the only correct choice': type: integer example: 100 optionName_1: type: string example: 'This is not a correct choice' markedPercentageOfOption_1: type: integer example: 0 optionName_2: type: string example: 'This is not a correct choice' markedPercentageOfOption_2: type: integer example: 0 optionName_3: type: string example: 'This is the only correct choice' markedPercentageOfOption_3: type: integer example: 100 optionName_4: type: string example: 'This is not a correct choice' markedPercentageOfOption_4: type: integer example: 0 answeredIncorrectly: type: integer example: 0 answeredCorrectly: type: integer example: 100 notAttempted: type: integer example: 0 totalQuestions: type: integer example: 3 recordsFiltered: type: integer example: 3 quizStatistics: type: object properties: minimumPassingMarks: type: integer example: 90 maxMarksAchieved: type: integer example: 3 minMarksAchieved: type: integer example: 3 highPercentage: type: integer example: 100 mediumPercentage: type: integer example: 0 lowPercentage: type: integer example: 0 passedPercentage: type: integer example: 100 failedPercentage: type: integer example: 0 correctPercentage: type: integer example: 0 averageTimeSpent: type: string example: 1s totalAttempts: type: integer example: 4 headers: type: array example: - optionName_1 - markedPercentageOfOption_1 - optionName_2 - markedPercentageOfOption_2 - optionName_3 - markedPercentageOfOption_3 - optionName_4 - markedPercentageOfOption_4 items: type: string tags: - Quizzes security: [] /api/quiz/getQuestionSubmissionDetails: get: summary: 'Get Question Submission Details' operationId: getQuestionSubmissionDetails description: 'Retrieves the Submission details of a Question.' parameters: - in: query name: quiz_id description: 'The ID of the quiz.' example: '10' required: true schema: type: string description: 'The ID of the quiz.' example: '10' - in: query name: question_id description: 'The ID of the question.' example: '1' required: true schema: type: string description: 'The ID of the question.' example: '1' - 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' responses: 200: description: '' content: application/json: schema: type: object example: totalRecords: 3 records: - courseName: 'Professional Development Toolkit' firstName: Aom lastName: Staff email: dev@academyofmine.com questionType: multiple_choice markedAnswer: 'This is the only correct choice' isCorrectResponse: 'Yes' - courseName: 'Training your Employees for the modern world' firstName: John lastName: Doe email: john@app.com questionType: multiple_choice markedAnswer: 'This is the only correct choice' isCorrectResponse: 'Yes' - courseName: 'Advanced Professional Development' firstName: Demo lastName: Student email: student@app.com questionType: multiple_choice markedAnswer: 'This is the only correct choice' isCorrectResponse: 'Yes' properties: totalRecords: type: integer example: 3 records: type: array example: - courseName: 'Professional Development Toolkit' firstName: Aom lastName: Staff email: dev@academyofmine.com questionType: multiple_choice markedAnswer: 'This is the only correct choice' isCorrectResponse: 'Yes' - courseName: 'Training your Employees for the modern world' firstName: John lastName: Doe email: john@app.com questionType: multiple_choice markedAnswer: 'This is the only correct choice' isCorrectResponse: 'Yes' - courseName: 'Advanced Professional Development' firstName: Demo lastName: Student email: student@app.com questionType: multiple_choice markedAnswer: 'This is the only correct choice' isCorrectResponse: 'Yes' items: type: object properties: courseName: type: string example: 'Professional Development Toolkit' firstName: type: string example: Aom lastName: type: string example: Staff email: type: string example: dev@academyofmine.com questionType: type: string example: multiple_choice markedAnswer: type: string example: 'This is the only correct choice' isCorrectResponse: type: string example: 'Yes' tags: - Quizzes security: [] /api/module/quiz/content-details: get: summary: 'Get Question Content Details' operationId: getQuestionContentDetails description: 'Retrieves the Content details of a Quiz.' parameters: - in: query name: id description: 'id of quiz' example: non required: false schema: type: string description: 'id of quiz' example: non - in: query name: name description: 'name of quiz' example: similique required: false schema: type: string description: 'name of quiz' example: similique - in: query name: slug description: '' example: ut required: false schema: type: string description: '' example: ut - in: query name: content description: '' example: et required: false schema: type: string description: '' example: et - in: query name: type description: 'quiz type static or dynamic' example: illo required: false schema: type: string description: 'quiz type static or dynamic' example: illo - in: query name: shuffleQuestions description: '' example: sed required: false schema: type: string description: '' example: sed - in: query name: forceSequential description: '' example: quia required: false schema: type: string description: '' example: quia - in: query name: realTimeGrading description: '' example: error required: false schema: type: string description: '' example: error - in: query name: showCorrectAnswerOption description: '' example: quam required: false schema: type: string description: '' example: quam - in: query name: noOfRetakesAllowed description: '' example: quod required: false schema: type: string description: '' example: quod - in: query name: minimumPassingMarks description: '' example: doloribus required: false schema: type: string description: '' example: doloribus - in: query name: questions description: '' example: illo required: false schema: type: string description: '' example: illo - in: query name: maxSpentMinutes description: '' example: dolores required: false schema: type: string description: '' example: dolores - in: query name: maxSpentHour description: '' example: natus required: false schema: type: string description: '' example: natus - in: query name: courses description: '' example: ipsa required: false schema: type: string description: '' example: ipsa responses: 200: description: '' content: application/json: schema: type: object example: id: '10' name: 'Final Quiz' content: '

Lorem ipsum dolor sit amet.

' type: static status: 'In Progress' shuffleQuestions: true forceSequential: false realTimeGrading: false slug: final-quiz showCorrectAnswerOption: false showCorrectAnswer: never noOfRetakesAllowed: '5' questionCategories: null questions: - id: 2 title: 'Choose 1 or more correct responses from the below choices' content: '

Choose 1 or more correct responses from the below choices

' type: multiple_correct hint: null explanation: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.' isAnswerSubmitted: false isCorrect: false isMarked: false correct_answer: '' options: - 'This is correct choice' - 'This is not Correct' - 'This is also a correct choice' - 'This is not a correct choice' markedMultipleCorrect: [] correctAnswers: - '1' - '3' maxTimer: 0 timeSpent: hours: 0 minutes: 0 seconds: 0 totalSeconds: 0 isRetakeAllowed: true showInstructionButton: true properties: id: type: string example: '10' name: type: string example: 'Final Quiz' content: type: string example: '

Lorem ipsum dolor sit amet.

' type: type: string example: static status: type: string example: 'In Progress' shuffleQuestions: type: boolean example: true forceSequential: type: boolean example: false realTimeGrading: type: boolean example: false slug: type: string example: final-quiz showCorrectAnswerOption: type: boolean example: false showCorrectAnswer: type: string example: never noOfRetakesAllowed: type: string example: '5' questionCategories: type: string example: null questions: type: array example: - id: 2 title: 'Choose 1 or more correct responses from the below choices' content: '

Choose 1 or more correct responses from the below choices

' type: multiple_correct hint: null explanation: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.' isAnswerSubmitted: false isCorrect: false isMarked: false correct_answer: '' options: - 'This is correct choice' - 'This is not Correct' - 'This is also a correct choice' - 'This is not a correct choice' markedMultipleCorrect: [] correctAnswers: - '1' - '3' items: type: object properties: id: type: integer example: 2 title: type: string example: 'Choose 1 or more correct responses from the below choices' content: type: string example: '

Choose 1 or more correct responses from the below choices

' type: type: string example: multiple_correct hint: type: string example: null explanation: type: string example: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.' isAnswerSubmitted: type: boolean example: false isCorrect: type: boolean example: false isMarked: type: boolean example: false correct_answer: type: string example: '' options: type: array example: - 'This is correct choice' - 'This is not Correct' - 'This is also a correct choice' - 'This is not a correct choice' items: type: string markedMultipleCorrect: type: array example: [] correctAnswers: type: array example: - '1' - '3' items: type: string maxTimer: 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 isRetakeAllowed: type: boolean example: true showInstructionButton: type: boolean example: true tags: - Quizzes security: [] /api/scormpackage: post: summary: 'Create SCORM Package' operationId: createSCORMPackage description: "You can create/upload the scorm package in the platform using this request.\nUploaded scorm package files can be used as scorm modules in course." parameters: - in: query name: resumableChunkNumber description: 'Chunk number for the scorm.' example: '1' required: true schema: type: string description: 'Chunk number for the scorm.' example: '1' - in: query name: resumableChunkSize description: 'Chunk size for the scorm in bits.' example: '10485760' required: true schema: type: string description: 'Chunk size for the scorm in bits.' example: '10485760' - in: query name: resumableCurrentChunkSize description: 'Current uploading chunk size for the scorm in bits.' example: '79531' required: true schema: type: string description: 'Current uploading chunk size for the scorm in bits.' example: '79531' - in: query name: resumableTotalSize description: 'Total chunk size for the scorm in bits.' example: '79531' required: true schema: type: string description: 'Total chunk size for the scorm in bits.' example: '79531' - in: query name: resumableType description: 'Type of the scorm in that is going to be uploaded.' example: image/png required: true schema: type: string description: 'Type of the scorm in that is going to be uploaded.' example: image/png - in: query name: resumableIdentifier description: 'Identifier for the scorm that is going to be uploaded.' example: 79531-Chanoo-Theory-of-Change-Sublevel-1zip required: true schema: type: string description: 'Identifier for the scorm that is going to be uploaded.' example: 79531-Chanoo-Theory-of-Change-Sublevel-1zip - in: query name: resumableFilename description: 'Name of the scorm that is going to be uploaded.' example: Chanoo-Theory-of-Change-Sublevel-1.zip required: true schema: type: string description: 'Name of the scorm that is going to be uploaded.' example: Chanoo-Theory-of-Change-Sublevel-1.zip - in: query name: resumableRelativePath description: 'Relative path of the scorm that is going to be uploaded.' example: Chanoo-Theory-of-Change-Sublevel-1.zip required: true schema: type: string description: 'Relative path of the scorm that is going to be uploaded.' example: Chanoo-Theory-of-Change-Sublevel-1.zip - 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: is_success: true code: 200 errorMessage: 'Unable to upload the package. Please contact admin' uploadedPackage: name: Chanoo-Theory-of-Change-Sublevel-1.zip url: /scorm/Chanoo-Theory-of-Change-Sublevel-1-e9408a656ce2655b828622a09e66a46d launch_file: index_lms.html version: '1.2' created_by: 1 updated_at: '2020-08-12 09:58:22' created_at: '2020-08-12 09:58:22' id: 3 full_url: 'https://staging.aomlms.com/storage/scorm/Chanoo-Theory-of-Change-Sublevel-1-e9408a656ce2655b828622a09e66a46d/index_lms.html' properties: is_success: type: boolean example: true code: type: integer example: 200 errorMessage: type: string example: 'Unable to upload the package. Please contact admin' uploadedPackage: type: object properties: name: type: string example: Chanoo-Theory-of-Change-Sublevel-1.zip url: type: string example: /scorm/Chanoo-Theory-of-Change-Sublevel-1-e9408a656ce2655b828622a09e66a46d launch_file: type: string example: index_lms.html version: type: string example: '1.2' created_by: type: integer example: 1 updated_at: type: string example: '2020-08-12 09:58:22' created_at: type: string example: '2020-08-12 09:58:22' id: type: integer example: 3 full_url: type: string example: 'https://staging.aomlms.com/storage/scorm/Chanoo-Theory-of-Change-Sublevel-1-e9408a656ce2655b828622a09e66a46d/index_lms.html' tags: - 'SCORM Packages' security: [] /api/scormpackages/tabularlist: get: summary: 'SCORM Tabular List' operationId: sCORMTabularList description: "Returns all the scorm in a tabular list format in paginated mode.\nYou can apply filter using search_param via name(scorm name) and scormTypes(different versions of SCORM)." 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":"","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 name: sample-course.zip url: /scorm/sample-course full_url: 'https://staging.aomlms.com/storage/scorm/sample-course/scormcontent/index.html' version: '1.2' 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 name: sample-course.zip url: /scorm/sample-course full_url: 'https://staging.aomlms.com/storage/scorm/sample-course/scormcontent/index.html' version: '1.2' author: 'Aom Staff' created_at: 'Aug 03, 2020 11:03 AM' items: type: object properties: id: type: integer example: 1 name: type: string example: sample-course.zip url: type: string example: /scorm/sample-course full_url: type: string example: 'https://staging.aomlms.com/storage/scorm/sample-course/scormcontent/index.html' version: type: string example: '1.2' author: type: string example: 'Aom Staff' created_at: type: string example: 'Aug 03, 2020 11:03 AM' tags: - 'SCORM Packages' security: [] /api/scormpackages/scormTypeLookup: get: summary: 'SCORM Types Lookup' operationId: sCORMTypesLookup description: 'Retrieves all types scorms in list format that this platform supports. Helps while showing scorms in form elements like dropdown.' parameters: [] responses: 200: description: '' content: application/json: schema: type: array items: type: object example: - db_value: 'SCORM 1.2' display_value: 'Scorm version 1.2' - db_value: 'SCORM 2004' display_value: 'Scorm version 2004' - db_value: xAPI display_value: xAPI tags: - 'SCORM Packages' security: [] '/api/scormpackage/{id}': get: summary: 'Retrieve SCORM Packages' operationId: retrieveSCORMPackages description: 'Retrieves the details of the specified SCORM package. Helps in fetching SCORM package 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: - 'SCORM Packages' security: [] parameters: - in: path name: id description: 'ID of the SCORM package you want to fetch the details of.' example: '1' required: true schema: type: string /api/scormpackage/delete: post: summary: 'Delete SCORM Package' operationId: deleteSCORMPackage description: "To delete a scorm package, you need to use this request.\nReturns number of scorm package deleted as well as not deleted. (See Response)" parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: '1 package(s) deleted 0 package(s) not deleted as it is used in Module. Please remove the scorm Package from the module and try again.' properties: message: type: string example: '1 package(s) deleted 0 package(s) not deleted as it is used in Module. Please remove the scorm Package from the module and try again.' tags: - 'SCORM Packages' requestBody: required: true content: application/json: schema: type: object properties: delete_ids: type: array description: 'All scorm package IDs which needs to be deleted.' example: - 3 items: type: string required: - delete_ids security: [] /api/modules/scorm: get: summary: 'SCORM Modules Tabular List' operationId: sCORMModulesTabularList description: "Returns all the scorm modules in a tabular list format in paginated mode.\nYou can apply filter using search_param via name and scormType(version)." 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":"","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 name: sample-course.zip url: /scorm/sample-course full_url: 'https://staging.aomlms.com/storage/scorm/sample-course/scormcontent/index.html' version: '1.2' 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 name: sample-course.zip url: /scorm/sample-course full_url: 'https://staging.aomlms.com/storage/scorm/sample-course/scormcontent/index.html' version: '1.2' author: 'Aom Staff' created_at: 'Aug 03, 2020 11:03 AM' items: type: object properties: id: type: integer example: 1 name: type: string example: sample-course.zip url: type: string example: /scorm/sample-course full_url: type: string example: 'https://staging.aomlms.com/storage/scorm/sample-course/scormcontent/index.html' version: type: string example: '1.2' author: type: string example: 'Aom Staff' created_at: type: string example: 'Aug 03, 2020 11:03 AM' tags: - 'SCORMs ' security: [] post: summary: 'Create Scorm Module' operationId: createScormModule description: "To create a scorm module, you need to use this request. (See parameters)\nCreated scorm modules can be used in the course as course content/lesson.\n\nReturns : id of the scorm module created and successfull message" parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: id: 11 message: 'Module saved successfully' properties: id: type: integer example: 11 message: type: string example: 'Module saved successfully' tags: - 'SCORMs ' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Name of the scorm module.' example: 'New Scorm' content: type: string description: 'Content for the scorm modules that students will see.' example: 'This is the short content here' scormPackageFullUrl: type: string description: 'URL of the Scorm package.' example: 'https://aomlms.com/scorm/sample-course/scormcontent/index.html' scormPackageId: type: integer description: 'Id of the Scorm package.' example: 1 trackCompletion: type: boolean description: 'If true, the module is being tracked(whether its finished or not) in course player.' example: true required: - name - scormPackageId - trackCompletion security: [] '/api/modules/scorm/{id}': put: summary: 'Update Scorm Module' operationId: updateScormModule description: "Updates the details of a specified scorm module. (See parameters)\nScorm 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: - 'SCORMs ' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Name of the scorm module.' example: 'New Scorm' content: type: string description: 'Content for the scorm modules that students will see.' example: 'This is the short content here' scormPackageFullUrl: type: string description: 'URL of the Scorm package.' example: 'https://aomlms.com/scorm/sample-course/scormcontent/index.html' scormPackageId: type: integer description: 'Id of the Scorm package.' example: 1 trackCompletion: type: boolean description: 'If true, the module is being tracked(whether its finished or not) in course player.' example: true required: - name - scormPackageId - trackCompletion security: [] get: summary: 'Retrieve Scorm Module' operationId: retrieveScormModule description: 'Retrieves the details of the specified scorm module. Helps in fetching scorm module using its ID. (See Parameters)' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: name: 'An interactive Scorm Illustration' slug: an-interactive-scorm-illustration trackCompletion: true scormPackageId: 1 scormPackageFullUrl: 'https://staging.aomlms.com/storage/scorm/sample-course/scormcontent/index.html' properties: name: type: string example: 'An interactive Scorm Illustration' slug: type: string example: an-interactive-scorm-illustration trackCompletion: type: boolean example: true scormPackageId: type: integer example: 1 scormPackageFullUrl: type: string example: 'https://staging.aomlms.com/storage/scorm/sample-course/scormcontent/index.html' tags: - 'SCORMs ' security: [] /api/module/scorm/details: get: summary: 'Retrieve Detailed Scorm Module Info' operationId: retrieveDetailedScormModuleInfo description: "Retrieves details of scorm module in depth as well as different modules details that are being used as course content for the same course the current scorm 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: '16' required: true schema: type: string description: 'ID of the course Registration for which this module is attached to.' example: '16' - in: query name: moduleId description: 'ID of the scorm module.' example: '11' required: true schema: type: string description: 'ID of the scorm module.' example: '11' responses: 200: description: '' content: application/json: schema: type: object example: name: 'New Scorm' slug: new-scorm content: null courseName: Testing courseSlug: 'https://staging.aomlms.com/course/testing' scormUrl: 'https://staging.aomlms.com/storage/scorm/sample-course/scormcontent/index.html' version: '1.2' trackCompletion: true min_time_spent: 0 otherModules: - module_id: 11 name: 'New Scorm' slug: new-scorm type: scorm icon: '' is_locked: false lock_reason: '' is_dripped: false drip_message: '' is_current: true status_row_id: 19 status: 'In Progress' started_on: '2020-08-12T10:43:07.000000Z' completed_on: null last_accessed_on: '15 seconds ago' total_time_spent: hours: 0 minutes: 0 seconds: 13 totalSeconds: 13 completion_percentage: 0 no_of_times_accessed: 1 launchCheck: canbeLaunched: true errTitle: '' errDesc: '' prevSlug: '' nextSlug: '' scormKeys: cmi.suspend_data: '' cmi.core.lesson_mode: normal cmi.mode: normal cmi.core.lesson_status: incomplete cmi.success_status: '' cmi.completion_status: incomplete cmi.core.student_id: 1 cmi.core.student_name: 'Aom Staff' status: 'In Progress' statusRowId: 19 timeSpent: 13 properties: name: type: string example: 'New Scorm' slug: type: string example: new-scorm content: type: string example: null courseName: type: string example: Testing courseSlug: type: string example: 'https://staging.aomlms.com/course/testing' scormUrl: type: string example: 'https://staging.aomlms.com/storage/scorm/sample-course/scormcontent/index.html' version: type: string example: '1.2' trackCompletion: type: boolean example: true min_time_spent: type: integer example: 0 otherModules: type: array example: - module_id: 11 name: 'New Scorm' slug: new-scorm type: scorm icon: '' is_locked: false lock_reason: '' is_dripped: false drip_message: '' is_current: true status_row_id: 19 status: 'In Progress' started_on: '2020-08-12T10:43:07.000000Z' completed_on: null last_accessed_on: '15 seconds ago' total_time_spent: hours: 0 minutes: 0 seconds: 13 totalSeconds: 13 completion_percentage: 0 no_of_times_accessed: 1 items: type: object properties: module_id: type: integer example: 11 name: type: string example: 'New Scorm' slug: type: string example: new-scorm type: type: string example: scorm 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: 19 status: type: string example: 'In Progress' started_on: type: string example: '2020-08-12T10:43:07.000000Z' completed_on: type: string example: null last_accessed_on: type: string example: '15 seconds ago' total_time_spent: type: object properties: hours: type: integer example: 0 minutes: type: integer example: 0 seconds: type: integer example: 13 totalSeconds: type: integer example: 13 completion_percentage: type: integer example: 0 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: '' scormKeys: type: object properties: cmi.suspend_data: type: string example: '' cmi.core.lesson_mode: type: string example: normal cmi.mode: type: string example: normal cmi.core.lesson_status: type: string example: incomplete cmi.success_status: type: string example: '' cmi.completion_status: type: string example: incomplete cmi.core.student_id: type: integer example: 1 cmi.core.student_name: type: string example: 'Aom Staff' status: type: string example: 'In Progress' statusRowId: type: integer example: 19 timeSpent: type: integer example: 13 tags: - 'SCORMs ' security: [] /api/scorm-report: get: summary: 'Retrieve Scorm Responses' operationId: retrieveScormResponses description: '' parameters: - in: query name: modulesStatusId description: 'ID of the Module status of the current assignment. Example : 7' example: 14 required: true schema: type: integer description: 'ID of the Module status of the current assignment. Example : 7' example: 14 - in: query name: studentId description: 'id of the student.' example: 2 required: true schema: type: integer description: 'id of the student.' example: 2 responses: 200: description: '' content: application/json: schema: type: object example: moduleName: 'Sample Scorm' score: 50 studentName: 'Aom Staff' interactions: - slide: Q_8i27ew22n5kt-ekowv8qwotil question: 'Given the assembly below, why might the 4-hole pattern make a better datum choice for alignment of the radial hole vs another feature? Note that the center bore in this example is only for weight saving purposes.' questionType: choice studentResponse: 0_The_functional_intent_of_the_assembly_is_best_mimicked_by_using_the_four_hole_pattern_ correctResponse: 0_The_functional_intent_of_the_assembly_is_best_mimicked_by_using_the_four_hole_pattern_ result: correct time: 'May 10, 2022 04:08 AM' properties: moduleName: type: string example: 'Sample Scorm' score: type: integer example: 50 studentName: type: string example: 'Aom Staff' interactions: type: array example: - slide: Q_8i27ew22n5kt-ekowv8qwotil question: 'Given the assembly below, why might the 4-hole pattern make a better datum choice for alignment of the radial hole vs another feature? Note that the center bore in this example is only for weight saving purposes.' questionType: choice studentResponse: 0_The_functional_intent_of_the_assembly_is_best_mimicked_by_using_the_four_hole_pattern_ correctResponse: 0_The_functional_intent_of_the_assembly_is_best_mimicked_by_using_the_four_hole_pattern_ result: correct time: 'May 10, 2022 04:08 AM' items: type: object properties: slide: type: string example: Q_8i27ew22n5kt-ekowv8qwotil question: type: string example: 'Given the assembly below, why might the 4-hole pattern make a better datum choice for alignment of the radial hole vs another feature? Note that the center bore in this example is only for weight saving purposes.' questionType: type: string example: choice studentResponse: type: string example: 0_The_functional_intent_of_the_assembly_is_best_mimicked_by_using_the_four_hole_pattern_ correctResponse: type: string example: 0_The_functional_intent_of_the_assembly_is_best_mimicked_by_using_the_four_hole_pattern_ result: type: string example: correct time: type: string example: 'May 10, 2022 04:08 AM' tags: - 'SCORMs ' security: [] /api/module/scorm/content-details: get: summary: 'Retrieve Detailed Scorm Module Info For Membership Content' operationId: retrieveDetailedScormModuleInfoForMembershipContent description: "Retrieves details of scorm module in depth for the same membership the current scorm module is attached to.\nReturns related fields value. (See Response)" parameters: - in: query name: moduleId description: 'ID of the scorm module.' example: '11' required: true schema: type: string description: 'ID of the scorm module.' example: '11' responses: 200: description: '' content: application/json: schema: type: object example: name: 'New Scorm' slug: new-scorm content: null courseName: Testing courseSlug: 'https://staging.aomlms.com/course/testing' scormUrl: 'https://staging.aomlms.com/storage/scorm/sample-course/scormcontent/index.html' version: '1.2' trackCompletion: true min_time_spent: 0 otherModules: - module_id: 11 name: 'New Scorm' slug: new-scorm type: scorm icon: '' is_locked: false lock_reason: '' is_dripped: false drip_message: '' is_current: true status_row_id: 19 status: 'In Progress' started_on: '2020-08-12T10:43:07.000000Z' completed_on: null last_accessed_on: '15 seconds ago' total_time_spent: hours: 0 minutes: 0 seconds: 13 totalSeconds: 13 completion_percentage: 0 no_of_times_accessed: 1 launchCheck: canbeLaunched: true errTitle: '' errDesc: '' prevSlug: '' nextSlug: '' scormKeys: cmi.suspend_data: '' cmi.core.lesson_mode: normal cmi.mode: normal cmi.core.lesson_status: incomplete cmi.success_status: '' cmi.completion_status: incomplete cmi.core.student_id: 1 cmi.core.student_name: 'Aom Staff' status: 'In Progress' statusRowId: 19 timeSpent: 13 properties: name: type: string example: 'New Scorm' slug: type: string example: new-scorm content: type: string example: null courseName: type: string example: Testing courseSlug: type: string example: 'https://staging.aomlms.com/course/testing' scormUrl: type: string example: 'https://staging.aomlms.com/storage/scorm/sample-course/scormcontent/index.html' version: type: string example: '1.2' trackCompletion: type: boolean example: true min_time_spent: type: integer example: 0 otherModules: type: array example: - module_id: 11 name: 'New Scorm' slug: new-scorm type: scorm icon: '' is_locked: false lock_reason: '' is_dripped: false drip_message: '' is_current: true status_row_id: 19 status: 'In Progress' started_on: '2020-08-12T10:43:07.000000Z' completed_on: null last_accessed_on: '15 seconds ago' total_time_spent: hours: 0 minutes: 0 seconds: 13 totalSeconds: 13 completion_percentage: 0 no_of_times_accessed: 1 items: type: object properties: module_id: type: integer example: 11 name: type: string example: 'New Scorm' slug: type: string example: new-scorm type: type: string example: scorm 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: 19 status: type: string example: 'In Progress' started_on: type: string example: '2020-08-12T10:43:07.000000Z' completed_on: type: string example: null last_accessed_on: type: string example: '15 seconds ago' total_time_spent: type: object properties: hours: type: integer example: 0 minutes: type: integer example: 0 seconds: type: integer example: 13 totalSeconds: type: integer example: 13 completion_percentage: type: integer example: 0 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: '' scormKeys: type: object properties: cmi.suspend_data: type: string example: '' cmi.core.lesson_mode: type: string example: normal cmi.mode: type: string example: normal cmi.core.lesson_status: type: string example: incomplete cmi.success_status: type: string example: '' cmi.completion_status: type: string example: incomplete cmi.core.student_id: type: integer example: 1 cmi.core.student_name: type: string example: 'Aom Staff' status: type: string example: 'In Progress' statusRowId: type: integer example: 19 timeSpent: type: integer example: 13 tags: - 'SCORMs ' security: [] /api/integrations/salesforce/eventLookup: get: summary: 'Salesforce Event Lookup' operationId: salesforceEventLookup description: "Retrieves all the events for the salesforce 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 salesforce_crud: "[{'db_value' => 'salesforce_contact'},{'display_value'=> 'Salesforce Contacts'}]" - db_value: 'Account Updated' display_value: 'Account Updated' crud_op: Update salesforce_crud: "[['db_value' => 'salesforce_contact', 'display_value'=> 'Salesforce Contacts']]" - db_value: course_enrolled display_value: 'Enrolled in a course' crud_op: Update salesforce_crud: "[['db_value' => 'salesforce_contact', 'display_value'=> 'Salesforce Contacts']]" - db_value: course_completed display_value: 'Course Completed' crud_op: Update salesforce_crud: "[['db_value' => 'salesforce_contact', 'display_value'=> 'Salesforce Contacts']]" - db_value: course_started display_value: 'Course Started' crud_op: Update salesforce_crud: "[['db_value' => 'salesforce_contact', 'display_value'=> 'Salesforce Contacts']]" tags: - 'Salesforce Integration' security: [] /api/integrations/salesforce/fieldLookup: get: summary: 'Salesforce Field Lookup' operationId: salesforceFieldLookup description: "Retrieves all the fields for the salesforce.\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 - salesforce_fields: - db_value: email - db_value: last_name - db_value: first_name - courses: [] tags: - 'Salesforce Integration' requestBody: required: true content: application/json: schema: type: object properties: type: type: string description: 'Type to get the data, it can be contact.' example: contact required: - type security: [] /api/salesforces: get: summary: 'Salesforce Tabular List' operationId: salesforceTabularList description: "Returns all the salesforce 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: - 'Salesforce Integration' security: [] /api/salesforce/action/create: post: summary: 'Create Salesforce Action' operationId: createSalesforceAction description: 'To create a Salesforce 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: - 'Salesforce 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 Salesforce Contact.' example: 'Salesforce Contact' required: - event - action - object security: [] /api/salesforce/mapping/save: post: summary: 'Save Salesforce Mapping' operationId: saveSalesforceMapping description: 'To save a Salesforce 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: - 'Salesforce Integration' requestBody: required: true content: application/json: schema: type: object properties: type: type: string description: 'Type for which you want to save mapping.' example: salesforce_contact required: - type security: [] /api/salesforce/mappings: get: summary: 'Retrieve Salesforce Mapping' operationId: retrieveSalesforceMapping description: 'Retrieves the details of the salesforce mapping. Helps in fetching salesforce mapping using its type. (See Parameters)' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: type: salesforce_contact userFieldProperties: [] courseFieldProperties: [] properties: type: type: string example: salesforce_contact userFieldProperties: type: array example: [] courseFieldProperties: type: array example: [] tags: - 'Salesforce 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: salesforce_contact security: [] '/api/salesforce/{id}': put: summary: 'Update Salesforce Action' operationId: updateSalesforceAction description: 'To update a Salesforce 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: 'Salesforce updated successfully' properties: id: type: integer example: 1 message: type: string example: 'Salesforce updated successfully' tags: - 'Salesforce 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 Salesforce contact.' example: 'Salesforce contact' required: - event - action - object security: [] parameters: - in: path name: id description: 'ID of the salesforce action.' example: '3' required: true schema: type: string '/api/salesforce/action/delete/{id}': post: summary: 'Delete Salesforce' operationId: deleteSalesforce description: 'To delete a Salesforce, you need to use this request.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: 'Salesforce deleted successfully' properties: message: type: string example: 'Salesforce deleted successfully' tags: - 'Salesforce Integration' security: [] parameters: - in: path name: id description: 'Salesforce ID which needs to be deleted.' example: '[1]' required: true schema: type: string '/api/salesforce/logs/{id}': get: summary: 'Salesforce Log Tabular List' operationId: salesforceLogTabularList description: 'Returns all the Salesforce 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: - 'Salesforce Integration' security: [] parameters: - in: path name: id description: 'ID of the Salesforce action.' example: '50' required: true schema: type: string /api/staffs/tabularlist: get: summary: 'Retrieve List of Staff users' operationId: retrieveListOfStaffUsers 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: '{"courseCategoryIds":[],"courseName":""}' required: false schema: type: string description: 'For searching items based on field names.' example: '{"courseCategoryIds":[],"courseName":""}' responses: 200: description: '' content: application/json: schema: type: object example: recordsTotal: 0 recordsFiltered: 1 records: - id: 2 first_name: Client last_name: Admin is_disabled: false email: client@app.com avatar: 'CA' user_type: owner created_at: 'Jan 03, 2024 03:59 PM' last_login: Never source: admin properties: recordsTotal: type: integer example: 0 recordsFiltered: type: integer example: 1 records: type: array example: - id: 2 first_name: Client last_name: Admin is_disabled: false email: client@app.com avatar: 'CA' user_type: owner created_at: 'Jan 03, 2024 03:59 PM' last_login: Never source: admin items: type: object properties: id: type: integer example: 2 first_name: type: string example: Client last_name: type: string example: Admin is_disabled: type: boolean example: false email: type: string example: client@app.com avatar: type: string example: 'CA' user_type: type: string example: owner created_at: type: string example: 'Jan 03, 2024 03:59 PM' last_login: type: string example: Never source: type: string example: admin tags: - Staffs security: [] /api/staff/report: get: summary: 'Retrieve details of staff' operationId: retrieveDetailsOfStaff description: '' parameters: - in: query name: user_id description: 'ID of the user.' example: '3' required: false schema: type: string description: 'ID of the user.' example: '3' - 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: registered_between description: Daterange example: - rerum required: false schema: type: array description: Daterange example: - rerum items: type: string responses: 200: description: '' content: application/json: schema: type: object example: records: - first_name: Client last_name: Admin email: client@app.com user_type: Owner created_at: 'Jan 03, 2024 03:59 PM' last_login: Never headers: [] properties: records: type: array example: - first_name: Client last_name: Admin email: client@app.com user_type: Owner created_at: 'Jan 03, 2024 03:59 PM' last_login: Never items: type: object properties: first_name: type: string example: Client last_name: type: string example: Admin email: type: string example: client@app.com user_type: type: string example: Owner created_at: type: string example: 'Jan 03, 2024 03:59 PM' last_login: type: string example: Never headers: type: array example: [] tags: - Staffs security: [] /api/staff/create: post: summary: 'Create Staff' operationId: createStaff description: "To create a staff, you need to use this request. (See parameters)\n\nReturns : id of the staff created and successfull message" parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: id: 1 message: 'Staff created successfully' properties: id: type: integer example: 1 message: type: string example: 'Staff created successfully' tags: - Staffs requestBody: required: true content: application/json: schema: type: object properties: email: type: string description: 'The email of the staff.' example: john@aom.com firstName: type: string description: 'The first name of the staff.' example: John lastName: type: string description: 'The lasst name of the staff.' example: Doe password: type: string description: 'The password.' example: abc123 password_confirmation: type: string description: 'Confirm above password.' example: abc123 staffPermissions: type: array description: 'The first name of the staff.' example: - 1 - 2 items: type: string required: - email - firstName - password - password_confirmation security: [] '/api/staff/{id}': get: summary: 'Get Staff' operationId: getStaff description: 'Retrieves the staff details of specified ID .' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: id: 2 firstName: Client lastName: Admin email: client@app.com points: 0 lastLoggedIn: Never avatar: 'CA' disabled: false userType: owner isCurrentLoggedInUserGroupAdmin: false currentLoggedUserType: admin groupName: null membership: id: null name: null expiryDate: null customUserMetas: [] internal_note: '' properties: id: type: integer example: 2 firstName: type: string example: Client lastName: type: string example: Admin email: type: string example: client@app.com points: type: integer example: 0 lastLoggedIn: type: string example: Never avatar: type: string example: 'CA' disabled: type: boolean example: false userType: type: string example: owner isCurrentLoggedInUserGroupAdmin: type: boolean example: false currentLoggedUserType: type: string example: admin groupName: type: string example: null membership: type: object properties: id: type: string example: null name: type: string example: null expiryDate: type: string example: null customUserMetas: type: array example: [] internal_note: type: string example: '' tags: - Staffs security: [] put: summary: 'Update Staff' operationId: updateStaff description: 'Returns success message on updating the staff' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: 'Staff updated successfully' properties: message: type: string example: 'Staff updated successfully' tags: - Staffs requestBody: required: true content: application/json: schema: type: object properties: avatar: type: string description: 'The SVG for the avatar image.' example: 'J' currentLoggedUserType: type: string description: 'The user type of the current loggedd in user.' example: admin disabled: type: boolean description: 'True if user account is enabled.' example: true groupName: type: string description: 'The name of the group.' example: Avengers internal_note: type: string description: 'Add notes. Eaxmple: Lorem ipsum' example: animi isCurrentLoggedInUserGroupAdmin: type: boolean description: 'True if the logged in user is group admin.' example: false lastLoggedIn: type: string description: 'The last login status.' example: Never points: type: integer description: 'The points gained by the staff.' example: 60 userType: type: string description: 'The type of user.' example: staff membership: type: string description: 'The details of membership.' example: '{id: null, name: null, expiryDate: null}' email: type: string description: 'The email of the staff.' example: john@aom.com firstName: type: string description: 'The first name of the staff.' example: John lastName: type: string description: 'The lasst name of the staff.' example: Doe password: type: string description: 'The password.' example: abc123 password_confirmation: type: string description: 'Confirm above password.' example: abc123 staffPermissions: type: array description: 'The first name of the staff.' example: - 1 - 2 items: type: string required: - currentLoggedUserType - isCurrentLoggedInUserGroupAdmin - lastLoggedIn - email - firstName - password - password_confirmation security: [] parameters: - in: path name: id description: 'The ID of the staff.' example: '2' required: true schema: type: string '/api/staff/permissions/{id}': get: summary: 'Get the list Staff permissions' operationId: getTheListStaffPermissions description: 'Retrieves the permissions list of specified ID .' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: permissions: - 1 - 4 - 7 properties: permissions: type: array example: - 1 - 4 - 7 items: type: integer tags: - Staffs security: [] parameters: - in: path name: id description: 'The ID of the staff.' example: '4' required: true schema: type: string '/api/staff/updatePermission/{id}': put: summary: 'Update Staff Permission' operationId: updateStaffPermission description: 'Returns sucess message on updated the permissions 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: - Staffs requestBody: required: false content: application/json: schema: type: object properties: permissions: type: array description: 'The list of permissions.' example: - 4 - 5 items: type: string security: [] parameters: - in: path name: id description: 'Optional parameter. The ID of the staff. Exmaple: 2' required: true schema: type: integer examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 20 '/api/subscription/{id}': get: summary: 'Retrieve Subscription' operationId: retrieveSubscription description: 'Retrieves the details of the subscription. Helps in fetching user subscription using its ID. (See Parameters)' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: status: Active endDate: 'Aug 23th,2021' nextPaymentDate: 'Jun 23th,2021' userName: 'Aom Staff' properties: status: type: string example: Active endDate: type: string example: 'Aug 23th,2021' nextPaymentDate: type: string example: 'Jun 23th,2021' userName: type: string example: 'Aom Staff' tags: - 'Subscription Products' security: [] put: summary: 'Update Subscription' operationId: updateSubscription description: "To update a subscription, you need to use this request. (See parameters)\nSubscription can be only created by purchasing subscription product.\n\nReturns : success status and successfull message" parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: 'Subscription updated successfully' properties: message: type: string example: 'Subscription updated successfully' tags: - 'Subscription Products' requestBody: required: true content: application/json: schema: type: object properties: status: type: string description: 'Status of the subscription.' example: ACTIVE endDate: type: date description: 'End Date of the subscription.' example: 'Aug 23th, 2021' nextPaymentDate: type: date description: 'Next payemnet due date of the subscription product.. Jun 23th, 2021' example: optio required: - status - endDate - nextPaymentDate security: [] parameters: - in: path name: id description: 'ID of the subscription you want to fetch the details of.' example: '1' required: true schema: type: string /api/subscription/product/related: get: summary: 'Retrieve All Subscription Products' operationId: retrieveAllSubscriptionProducts description: 'Retrieves the details of the subscription products. Helps in fetching subscription product using its ID. (See Parameters)' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: product_id: 1 title: 'Professional Training And Education' subscription_price: '100' product_image_url: '' properties: product_id: type: integer example: 1 title: type: string example: 'Professional Training And Education' subscription_price: type: string example: '100' product_image_url: type: string example: '' tags: - 'Subscription Products' security: [] parameters: - in: path name: id description: 'ID of the subscription you want to fetch the details of.' example: '1' required: true schema: type: string /api/subscription/orders/tabularlist: get: summary: 'Subscription Related Orders Tabular List' operationId: subscriptionRelatedOrdersTabularList description: "Returns all the orders in a tabular list format in paginated mode.\nYou can apply filter using search_param via orderStatus." 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":"","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 total: '5' status: ACTIVE relationship: 'Parent Order' 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 total: '5' status: ACTIVE relationship: 'Parent Order' created_at: '03 Aug 2020 09:08 AM' items: type: object properties: id: type: integer example: 1 total: type: string example: '5' status: type: string example: ACTIVE relationship: type: string example: 'Parent Order' created_at: type: string example: '03 Aug 2020 09:08 AM' tags: - 'Subscription Products' security: [] /api/subscription/create: post: summary: 'Create Subscription' operationId: createSubscription description: "To create a subscription, you need to use this request. (See parameters)\nSubscription can be only created by purchasing subscription product.\n\nReturns : success status and successfull message" parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true message: 'Subscription has been created' properties: success: type: boolean example: true message: type: string example: 'Subscription has been created' tags: - 'Subscription Products' requestBody: required: true content: application/json: schema: type: object properties: orderId: type: integer description: 'Order ID of the product.' example: 1 paymentToken: type: string description: 'requiredPayment Token of the purchase.' example: XXXXXXXXXXXXXX productQuantity: type: integer description: 'Product Quantity which is purchased.' example: 5 required: - orderId - productQuantity security: [] /api/subscriptions/tabularlist: get: summary: 'Subscription Tabular List' operationId: subscriptionTabularList description: "Returns all the subscription in a tabular list format in paginated mode.\nYou can apply filter using search_param via product title, subscription status and user 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: '{"productTitle":"","subscriptionStatus":""}' required: false schema: type: string description: 'For searching items based on field names.' example: '{"productTitle":"","subscriptionStatus":""}' responses: 200: description: '' content: application/json: schema: type: object example: recordsTotal: 1 recordsFiltered: 1 records: - id: 1 user_name: 'Aom Staff' user_id: '2' product: 'Professional Development and Training' product_id: '2' subscription_price: '100' next_payment_date: 'Sept 03, 2020 11:03 AM' status: Completed 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 user_name: 'Aom Staff' user_id: '2' product: 'Professional Development and Training' product_id: '2' subscription_price: '100' next_payment_date: 'Sept 03, 2020 11:03 AM' status: Completed created_at: 'Aug 03, 2020 11:03 AM' items: type: object properties: id: type: integer example: 1 user_name: type: string example: 'Aom Staff' user_id: type: string example: '2' product: type: string example: 'Professional Development and Training' product_id: type: string example: '2' subscription_price: type: string example: '100' next_payment_date: type: string example: 'Sept 03, 2020 11:03 AM' status: type: string example: Completed created_at: type: string example: 'Aug 03, 2020 11:03 AM' tags: - 'Subscription Products' security: [] /api/subscription/status/lookup: get: summary: 'Subscription Status Lookup' operationId: subscriptionStatusLookup description: "Retrieves all the status for the subscription.\nHelps showing options in dropdowns elements" parameters: [] responses: 200: description: '' content: application/json: schema: type: array items: type: object example: - db_value: ACTIVE display_value: Active - db_value: CANCELLED display_value: Cancelled - db_value: EXPIRED display_value: Expired - db_value: ON-HOLD display_value: On-Hold tags: - 'Subscription Products' security: [] /api/subscription/quickEdit: post: summary: 'Quick Edit' operationId: quickEdit description: 'Updates the details in bulk for a specified subscriptions. Parameters is provided which needs to be updated.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: 'Subscriptions updated Successfully' properties: message: type: string example: 'Subscriptions updated Successfully' tags: - 'Subscription Products' requestBody: required: true content: application/json: schema: type: object properties: subscription_ids: type: array description: 'All subscription IDs which needs to be updated.' example: - 1 - 2 items: type: string status: type: string description: 'Set the status for the subscriptions.' example: ACTIVE required: - subscription_ids - status security: [] /api/subscription/process-subscription-action: post: summary: 'Subscription Renewal' operationId: subscriptionRenewal description: 'Renew the subscription of the products. Helps in fetching subscription product using its ID. (See Parameters)' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: 1 message: 'Process Renewal Successfully completed' properties: success: type: integer example: 1 message: type: string example: 'Process Renewal Successfully completed' tags: - 'Subscription Products' security: [] parameters: - in: path name: id description: 'ID of the subscription you want to renew.' example: '1' required: true schema: type: string /api/subscription/action/lookup: get: summary: 'Subscription Action Lookup' operationId: subscriptionActionLookup description: "Retrieves all the action for the subscription.\nHelps showing options in dropdowns elements" parameters: [] responses: 200: description: '' content: application/json: schema: type: array items: type: object example: - db_value: PROCESS_RENEWAL display_value: 'Process renewal' tags: - 'Subscription Products' security: [] /api/modules/survey: get: summary: 'Survey Modules Tabular List' operationId: surveyModulesTabularList description: "Returns all the survey 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: 15 recordsFiltered: 1 records: - id: 15 name: Feedback slug: feedback type: survey icon: '' author: 'Aom Staff' created_at: 'Aug 11, 2020 08:12 AM' properties: recordsTotal: type: integer example: 15 recordsFiltered: type: integer example: 1 records: type: array example: - id: 15 name: Feedback slug: feedback type: survey icon: '' author: 'Aom Staff' created_at: 'Aug 11, 2020 08:12 AM' items: type: object properties: id: type: integer example: 15 name: type: string example: Feedback slug: type: string example: feedback type: type: string example: survey icon: type: string example: '' author: type: string example: 'Aom Staff' created_at: type: string example: 'Aug 11, 2020 08:12 AM' tags: - 'Survey Modules' security: [] post: summary: 'Create Survey Module' operationId: createSurveyModule description: "To create a survey module, you need to use this request. (See parameters)\nCreated survey modules can be used in the course as course content.\n\nReturns : id of the survey module created and successfull message" parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: id: 15 message: 'Module saved successfully' properties: id: type: integer example: 15 message: type: string example: 'Module saved successfully' tags: - 'Survey Modules' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Name of the text module.' example: Feedback content: type: string description: 'Content for the text modules that students will see.' example: 'This is the short content here' submitButtonText: type: string description: 'Text for the submit button.' example: 'Submit Survey' submitOption: type: string description: 'Submission options for students.' example: save_to_db fields: type: array description: 'Form fields inside the Survey form(like radio, dropdown, rating, text, textarea, etc).' example: - type: text label: 'How you left' defaultValue: '' isRequired: false optionLabel: [] - type: rating label: 'How you rate us' defaultValue: '' isRequired: false optionLabel: [] items: type: string redirect: type: string description: 'After submission of survey, where the students will be redirected.' example: 'http://www.aom.test.com' trackCompletion: type: boolean description: 'If true, the module is being tracked(whether its finished or not) in course player.' example: true required: - name - submitButtonText - submitOption - fields - trackCompletion security: [] '/api/modules/survey/{id}': put: summary: 'Update Survey Module' operationId: updateSurveyModule description: "Updates the details of a specified survey module. (See parameters)\nSurvey 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: - 'Survey Modules' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Name of the text module.' example: Feedback content: type: string description: 'Content for the text modules that students will see.' example: 'This is the short content here' submitButtonText: type: string description: 'Text for the submit button.' example: 'Submit Survey' submitOption: type: string description: 'Submission options for students.' example: save_to_db fields: type: array description: 'Form fields inside the Survey form(like radio, dropdown, rating, text, textarea, etc).' example: - type: text label: 'How you left' defaultValue: '' isRequired: false optionLabel: [] - type: rating label: 'How you rate us' defaultValue: '' isRequired: false optionLabel: [] items: type: string redirect: type: string description: 'After submission of survey, where the students will be redirected.' example: 'http://www.aom.test.com' trackCompletion: type: boolean description: 'If true, the module is being tracked(whether its finished or not) in course player.' example: true required: - name - submitButtonText - submitOption - fields - trackCompletion security: [] get: summary: 'Retrieve Survey module' operationId: retrieveSurveyModule description: 'Retrieves the details of the specified survey module. Helps in fetching survey module using its ID. (See Parameters)' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: name: Feedback slug: feedback content: 'A brief Description' redirect: null trackCompletion: false submitButtonText: 'Submit Survey' submitOption: save_to_db fields: - id: 1 type: text label: 'How you left' defaultValue: null isRequired: false optionLabel: [] - id: 2 type: rating label: 'How you rate us' defaultValue: null isRequired: false optionLabel: [] properties: name: type: string example: Feedback slug: type: string example: feedback content: type: string example: 'A brief Description' redirect: type: string example: null trackCompletion: type: boolean example: false submitButtonText: type: string example: 'Submit Survey' submitOption: type: string example: save_to_db fields: type: array example: - id: 1 type: text label: 'How you left' defaultValue: null isRequired: false optionLabel: [] - id: 2 type: rating label: 'How you rate us' defaultValue: null isRequired: false optionLabel: [] items: type: object properties: id: type: integer example: 1 type: type: string example: text label: type: string example: 'How you left' defaultValue: type: string example: null isRequired: type: boolean example: false optionLabel: type: array example: [] tags: - 'Survey Modules' security: [] /api/module/survey/details: get: summary: 'Retrieve Detailed Survey Module Info' operationId: retrieveDetailedSurveyModuleInfo description: "Retrieves details of survey module in depth as well as different modules details that are being used as course content for the same course the current survey 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 survey module.' example: '15' required: true schema: type: string description: 'ID of the survey module.' example: '15' responses: 200: description: '' content: application/json: schema: type: object example: name: Feedback slug: feedback content: 'A brief Description' courseName: 'course 1' courseSlug: 'http://localhost:8000/course/course-1' trackCompletion: false 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: '14 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: '12 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: '5 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: 6 status: 'In Progress' started_on: '2020-08-11T05:41:57.000000Z' completed_on: null last_accessed_on: '2 hours ago' total_time_spent: hours: 0 minutes: 0 seconds: 0 totalSeconds: null completion_percentage: 0 no_of_times_accessed: 1 - module_id: 15 name: Feedback slug: feedback type: survey 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: '' errors: [] course_id: 1 prevSlug: first-discussion nextSlug: '' status: 'In Progress' timeSpent: null statusRowId: 8 form_id: 1 form_fields: '1': type: text label: 'How you left' submitted_value: '' options_label: [] options_value: [] is_required: false '2': type: rating label: 'How you rate us' submitted_value: '' options_label: [] options_value: [] is_required: false properties: name: type: string example: Feedback slug: type: string example: feedback content: type: string example: 'A brief Description' courseName: type: string example: 'course 1' courseSlug: type: string example: 'http://localhost:8000/course/course-1' trackCompletion: type: boolean example: false 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: '14 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: '12 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: '5 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: 6 status: 'In Progress' started_on: '2020-08-11T05:41:57.000000Z' completed_on: null last_accessed_on: '2 hours ago' total_time_spent: hours: 0 minutes: 0 seconds: 0 totalSeconds: null completion_percentage: 0 no_of_times_accessed: 1 - module_id: 15 name: Feedback slug: feedback type: survey 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: '14 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: '' errors: type: array example: [] course_id: type: integer example: 1 prevSlug: type: string example: first-discussion nextSlug: type: string example: '' status: type: string example: 'In Progress' timeSpent: type: string example: null statusRowId: type: integer example: 8 form_id: type: integer example: 1 form_fields: type: object properties: 1: type: object properties: type: type: string example: text label: type: string example: 'How you left' submitted_value: type: string example: '' options_label: type: array example: [] options_value: type: array example: [] is_required: type: boolean example: false 2: type: object properties: type: type: string example: rating label: type: string example: 'How you rate us' submitted_value: type: string example: '' options_label: type: array example: [] options_value: type: array example: [] is_required: type: boolean example: false tags: - 'Survey Modules' security: [] /api/module/survey/markComplete: put: summary: 'Mark Complete Survey Module' operationId: markCompleteSurveyModule description: "Updates the status of the survey module to completed.\nChanges the completion percentage to 100% and mark completed the survey module." parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: is_success: true message: 'Module Completed Successfully' properties: is_success: type: boolean example: true message: type: string example: 'Module Completed Successfully' tags: - 'Survey Modules' requestBody: required: true content: application/json: schema: type: object properties: form_id: type: integer description: 'ID of the form, used in survey module.' example: 1 statusRowId: type: integer description: 'ID of the ModuleStatus Row belongs to current survey module.' example: 9 timeSpent: type: number description: 'Total time spent by user in current survey module.' example: 101.0 required: - form_id - statusRowId - timeSpent security: [] /api/module/survey/student-details: get: summary: 'Retrieve Student Response' operationId: retrieveStudentResponse description: "Retrieves all the response made by a specified student in a specified course. Mostly used while generating reports for Instructors to see how students are feeling regarding their courses.\nRetrieve Student response survey as question and answer. (See response)" parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: question: - 'How you felt' - 'How you rate us' answer: - 'Awesome course it was' - '5' properties: question: type: array example: - 'How you felt' - 'How you rate us' items: type: string answer: type: array example: - 'Awesome course it was' - '5' items: type: string tags: - 'Survey Modules' requestBody: required: false content: application/json: schema: type: object properties: statusRowId: type: required description: 'ID of the ModuleStatus Row belongs to current text module.' example: '3' security: [] /api/module/survey/course-details: get: summary: 'Retrieve Course Response' operationId: retrieveCourseResponse description: "Retrieves all the response made by the all students in a specified course. Mostly used while generating reports for Instructors to see how students are feeling regarding their courses.\nMostly used for reporting purpose course-wise. (See response)" parameters: - in: query name: course_id description: 'ID of the course you want to fetch the survey response reports for.' example: '1' required: true schema: type: string description: 'ID of the course you want to fetch the survey response reports for.' example: '1' - 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: error required: true schema: type: string description: 'Current page number in pagination.' example: error responses: 200: description: '' content: application/json: schema: type: object example: form_data: '1': - student_id: 1 student_name: 'Aom Staff' student_email: dev@academyofmine.com course_name: 'course 1' question: 'How you left' answer: 'Awesome course it was' - student_id: 1 student_name: 'Aom Staff' student_email: dev@academyofmine.com course_name: 'course 1' question: 'How you rate us' answer: '5' form_id: - 1 properties: form_data: type: object properties: 1: type: array example: - student_id: 1 student_name: 'Aom Staff' student_email: dev@academyofmine.com course_name: 'course 1' question: 'How you left' answer: 'Awesome course it was' - student_id: 1 student_name: 'Aom Staff' student_email: dev@academyofmine.com course_name: 'course 1' question: 'How you rate us' answer: '5' items: type: object properties: student_id: type: integer example: 1 student_name: type: string example: 'Aom Staff' student_email: type: string example: dev@academyofmine.com course_name: type: string example: 'course 1' question: type: string example: 'How you left' answer: type: string example: 'Awesome course it was' form_id: type: array example: - 1 items: type: integer tags: - 'Survey Modules' security: [] /api/module/survey/course-details-count: get: summary: 'Retrieve Course Max Form Submission Response Count' operationId: retrieveCourseMaxFormSubmissionResponseCount description: "Retrieves the count of the maximum number of the form submissions in a single form in a specified course.\nUsed to estimiate the number of seperate requests are needed to fetch all responses in chunks. (See response)" parameters: - in: query name: course_id description: 'ID of the course you want to fetch the survey form max submission count for.' example: '1' required: true schema: type: string description: 'ID of the course you want to fetch the survey form max submission count for.' example: '1' responses: 200: description: '' content: application/json: schema: type: object example: max_form_data_count: 2 properties: max_form_data_count: type: integer example: 2 tags: - 'Survey Modules' security: [] /api/module/survey/survey-count: get: summary: 'Survey Modules Attached In Course Tabular List' operationId: surveyModulesAttachedInCourseTabularList description: "Returns all the survey modules attached in a course in a tabular list format in paginated mode.\nYou can apply filter using search_param via courseName and courseId." 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: '{"courseName":"","courseId":""}' required: false schema: type: string description: 'For searching items based on field names.' example: '{"courseName":"","courseId":""}' responses: 200: description: '' content: application/json: schema: type: object example: id: 1 name: Feedback slug: feedback content: 'A brief Description' showModules: true status: '' categories: '' author: 'Aom Staff' created_at: 'Aug 23th 2021' count: '2' survey: [] properties: id: type: integer example: 1 name: type: string example: Feedback slug: type: string example: feedback content: type: string example: 'A brief Description' showModules: type: boolean example: true status: type: string example: '' categories: type: string example: '' author: type: string example: 'Aom Staff' created_at: type: string example: 'Aug 23th 2021' count: type: string example: '2' survey: type: array example: [] tags: - 'Survey Modules' security: [] /api/survey/survey-check: get: summary: 'Survey User Response' operationId: surveyUserResponse description: "Returns all the survey modules user response of the course in a tabular list format in paginated mode.\nYou can apply filter using search_param via name and scormType(version)." 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: '{"userName":""}' required: false schema: type: string description: 'For searching items based on field names.' example: '{"userName":""}' - in: query name: course_id description: 'Course ID for which you want to get user response.' example: '4' required: true schema: type: string description: 'Course ID for which you want to get user response.' example: '4' - in: query name: module_id description: 'Module ID for which you want to get user response.' example: '3' required: true schema: type: string description: 'Module ID for which you want to get user response.' example: '3' responses: 200: description: '' content: application/json: schema: type: object example: form_data: 'Form Submission' courseName: 'Professional Training and Education' moduleName: 'Survey Module' recordsTotal: 1 recordsFiltered: 1 form_data_count: - submissions: [] name: 'Aom Staff' email: dev@academyofmine.com properties: form_data: type: string example: 'Form Submission' courseName: type: string example: 'Professional Training and Education' moduleName: type: string example: 'Survey Module' recordsTotal: type: integer example: 1 recordsFiltered: type: integer example: 1 form_data_count: type: array example: - submissions: [] name: 'Aom Staff' email: dev@academyofmine.com items: type: object properties: submissions: type: array example: [] name: type: string example: 'Aom Staff' email: type: string example: dev@academyofmine.com tags: - 'Survey Modules' security: [] /api/module/survey/save-response: post: summary: 'Save Survey Module Response' operationId: saveSurveyModuleResponse description: 'To save the response provided by the students using evaltion form, you need to use this request with provided parameters.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: id: 15 message: 'Form saved successfully' properties: id: type: integer example: 15 message: type: string example: 'Form saved successfully' tags: - 'Survey Modules' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Name of the survey module.' example: Feedback content: type: string description: 'Content for the survey module that will be seen by the students in course player.' example: 'A brief Description' courseName: type: string description: 'Name of the course.' example: 'course 1' courseSlug: type: string description: 'Slug for the course.' example: 'http://localhost:8000/course/course-1' course_id: type: integer description: 'ID of the course.' example: 1 form_id: type: integer description: 'ID of the form, used in this survey module.' example: 1 form_fields: type: object description: 'All form fields value used in form for submission.' example: 1: type: text label: 'How you left' submitted_value: 'Awesome course it was' options_label: [] options_value: [] is_required: false 2: type: rating label: 'How you rate us' submitted_value: 5 options_label: [] options_value: [] is_required: false properties: { } required: - name - course_id - form_id security: [] /api/modules/text: get: summary: 'Text Modules Tabular List' operationId: textModulesTabularList description: "Returns all the text 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: - 'Text Modules' security: [] post: summary: 'Create Text Module' operationId: createTextModule description: "To create a text module, you need to use this request. (See parameters)\nCreated text modules can be used in the course as course content/lesson.\n\nReturns : id of the text 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: - 'Text Modules' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Name of the text module.' example: 'The Fundamentals of LMS' content: type: string description: 'Content for the text 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/text/{id}': get: summary: 'Retrieve Text Module' operationId: retrieveTextModule description: 'Retrieves the details of the specified text module. Helps in fetching text 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: - 'Text Modules' security: [] put: summary: 'Update Text Module' operationId: updateTextModule description: "Updates the details of a specified text modules. (See parameters)\nText 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: - 'Text Modules' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Name of the text module.' example: 'The Fundamentals of LMS' content: type: string description: 'Content for the text 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/text/details: get: summary: 'Retrieve Detailed Text Module Info' operationId: retrieveDetailedTextModuleInfo description: "Retrieves details of text 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: - 'Text Modules' security: [] /api/module/text/markComplete: put: summary: 'Mark Complete Text Module' operationId: markCompleteTextModule description: "Updates the status of the text module to completed.\nChanges the completion percentage to 100% and mark completed the text module." parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: 'Module Completed Successfully' properties: message: type: string example: 'Module Completed Successfully' tags: - 'Text Modules' requestBody: required: false content: application/json: schema: type: object properties: statusRowId: type: required description: 'ID of the ModuleStatus Row belongs to current text module.' example: '3' security: [] /api/module/text/content-details: get: summary: 'Retrieve Detailed Text module Info for Membership content' operationId: retrieveDetailedTextModuleInfoForMembershipContent description: "Retrieves details of text module in depth for the same membership the current text module is attached to.\nReturns related fields value. (See Response)" parameters: - in: query name: moduleId description: 'ID of the video module.' example: '9' required: true schema: type: string description: 'ID of the video module.' example: '9' responses: 200: description: '' content: application/json: schema: type: object example: name: My-video-lesson slug: my-video-lesson content: 'Brief Description' disableForwardSeek: false trackCompletion: true timeSpent: null lastWatchedTime: 0 isReady: true properties: name: type: string example: My-video-lesson slug: type: string example: my-video-lesson content: type: string example: 'Brief Description' disableForwardSeek: type: boolean example: false trackCompletion: type: boolean example: true timeSpent: type: string example: null lastWatchedTime: type: integer example: 0 isReady: type: boolean example: true tags: - 'Text Modules' security: [] /api/modules/video: get: summary: 'Video Modules Tabular List' operationId: videoModulesTabularList description: "Returns all the video 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: 3 name: 'Video Module Name' slug: video-module-name type: video provider: vimeo icon: '' author: 'Aom Staff' created_at: 'Aug 09, 2020 06:20 PM' properties: recordsTotal: type: integer example: 1 recordsFiltered: type: integer example: 1 records: type: array example: - id: 3 name: 'Video Module Name' slug: video-module-name type: video provider: vimeo icon: '' author: 'Aom Staff' created_at: 'Aug 09, 2020 06:20 PM' items: type: object properties: id: type: integer example: 3 name: type: string example: 'Video Module Name' slug: type: string example: video-module-name type: type: string example: video provider: type: string example: vimeo icon: type: string example: '' author: type: string example: 'Aom Staff' created_at: type: string example: 'Aug 09, 2020 06:20 PM' tags: - Videos security: [] post: summary: 'Create Video Module' operationId: createVideoModule description: "To create a video module, you need to use this request. (See parameters)\nCreated video modules can be used in the course as course content/lesson.\n\nReturns : id of the video module created and successfull message" parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: id: 9 message: 'Module saved successfully' properties: id: type: integer example: 9 message: type: string example: 'Module saved successfully' tags: - Videos requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Name of the video module.' example: My-video-lesson content: type: string description: 'Content for the video modules that students will see.' example: 'Brief Description' coverUrl: type: string description: 'Cover url path for the video module. Example:' example: 'https://torp.org/autem-commodi-quo-quae-soluta-commodi-quia.html' url: type: string description: 'Url path for the video module.' example: 'https://player.vimeo.com/video/382947752' provider: type: string description: 'Provider of the video. Provider options: vimeo, in-house, youtube.' example: vimeo trackCompletion: type: boolean description: 'If true, the module is being tracked(whether its finished or not) in course player.' example: true disableForwardSeek: type: boolean description: 'If true, students will not be able to skip forward in the video.' example: true categories: type: string description: 'The module category to which the video belong to.' example: 'Professional Training' subtitle: type: string description: 'The text to add subtitle in the video in vtt format. Example:' example: architecto subtitleType: type: string description: 'The type of subtitle in the video. Subtitle Type option: upload, autogenerate, nocaption.' example: upload interactions: type: array description: 'The interactions to add in the video.' example: - iure items: type: string required: - name - content - url - provider - trackCompletion - disableForwardSeek security: [] '/api/modules/video/{id}': get: summary: 'Retrieve Video Module' operationId: retrieveVideoModule description: 'Retrieves the details of the specified video module. Helps in fetching video module using its ID. (See Parameters)' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: name: 'Video Module Name' slug: video-module-name content: null provider: vimeo url: null coverUrl: null disableForwardSeek: true trackCompletion: false fileName: '' properties: name: type: string example: 'Video Module Name' slug: type: string example: video-module-name content: type: string example: null provider: type: string example: vimeo url: type: string example: null coverUrl: type: string example: null disableForwardSeek: type: boolean example: true trackCompletion: type: boolean example: false fileName: type: string example: '' tags: - Videos security: [] put: summary: 'Update Video Module' operationId: updateVideoModule description: "Updates the details of the specified video module. (See parameters)\nVideo modules can be used in the course as course content/lesson.\n\nReturns : id of the video module created and successfull message" parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: message: 'Module updated successfully' properties: message: type: string example: 'Module updated successfully' tags: - Videos requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Name of the video module.' example: My-video-lesson content: type: string description: 'Content for the video modules that students will see.' example: 'Updated Brief Description' coverUrl: type: string description: 'Cover url path for the video module. Example:' example: 'http://swaniawski.com/perspiciatis-repellat-a-culpa-ut-facilis-quod.html' url: type: string description: 'Url path for the video module.' example: 'https://player.vimeo.com/video/382947752' provider: type: string description: 'Provider of the video. Provider options: vimeo, in-house, youtube.' example: vimeo trackCompletion: type: boolean description: 'If true, the module is being tracked(whether its finished or not) in course player.' example: true disableForwardSeek: type: boolean description: 'If true, students will not be able to skip forward in the video.' example: true categories: type: string description: 'The module category to which the video belong to.' example: 'Professional Training' subtitle: type: string description: 'The text to add subtitle in the video in vtt format.' example: gfg subtitleType: type: string description: 'The type of subtitle in the video. Subtitle Type option: upload, autogenerate, nocaption.' example: upload interactions: type: array description: 'The interactions to add in the video.' example: - autem items: type: string required: - name - content - url - provider - trackCompletion - disableForwardSeek security: [] parameters: - in: path name: id description: 'ID of the video module you want to fetch the details of.' example: '3' required: true schema: type: string /api/module/video/details: get: summary: 'Retrieve Detailed Video Module Info' operationId: retrieveDetailedVideoModuleInfo description: "Retrieves details of video module in depth as well as different modules details that are being used as course content for the same course the current video 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 video module.' example: '9' required: true schema: type: string description: 'ID of the video module.' example: '9' responses: 200: description: '' content: application/json: schema: type: object example: name: My-video-lesson slug: my-video-lesson content: 'Brief Description' courseName: 'course 1' courseSlug: 'http://localhost:8000/course/course-1' 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 hour 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: -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: first-quiz nextSlug: '' provider: vimeo coverUrl: null url: 'https://player.vimeo.com/video/382947752' disableForwardSeek: false trackCompletion: true status: 'In Progress' statusRowId: 4 timeSpent: null lastWatchedTime: 0 isReady: true properties: name: type: string example: My-video-lesson slug: type: string example: my-video-lesson content: type: string example: 'Brief Description' courseName: type: string example: 'course 1' courseSlug: type: string example: 'http://localhost:8000/course/course-1' 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 hour 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: -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 hour 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: first-quiz nextSlug: type: string example: '' provider: type: string example: vimeo coverUrl: type: string example: null url: type: string example: 'https://player.vimeo.com/video/382947752' disableForwardSeek: type: boolean example: false trackCompletion: type: boolean example: true status: type: string example: 'In Progress' statusRowId: type: integer example: 4 timeSpent: type: string example: null lastWatchedTime: type: integer example: 0 isReady: type: boolean example: true tags: - Videos security: [] /api/module/video/markComplete: put: summary: 'Mark Complete Video Module' operationId: markCompleteVideoModule description: "Updates the status of the video module to completed.\nChanges the completion percentage to 100% and marks completed the video module." parameters: - in: query name: statusRowId description: 'ID of the ModuleStatus Row belongs to current video module.' example: '3' required: true schema: type: string description: 'ID of the ModuleStatus Row belongs to current video module.' example: '3' - in: query name: videoDuration description: 'Duration of the video of current video module.' example: '3' required: true schema: type: string description: 'Duration of the video of current video module.' example: '3' responses: 200: description: '' content: application/json: schema: type: object example: message: 'Module Completed Successfully' properties: message: type: string example: 'Module Completed Successfully' tags: - Videos security: [] /api/module/video/content-details: get: summary: 'Retrieve Detailed Video module Info for Membership content' operationId: retrieveDetailedVideoModuleInfoForMembershipContent description: "Retrieves details of video module for the same membership the current video module is attached to.\nReturns related fields value. (See Response)" parameters: - in: query name: moduleId description: 'ID of the video module.' example: '9' required: true schema: type: string description: 'ID of the video module.' example: '9' responses: 200: description: '' content: application/json: schema: type: object example: name: My-video-lesson slug: my-video-lesson content: 'Brief Description' disableForwardSeek: false trackCompletion: true timeSpent: null lastWatchedTime: 0 isReady: true properties: name: type: string example: My-video-lesson slug: type: string example: my-video-lesson content: type: string example: 'Brief Description' disableForwardSeek: type: boolean example: false trackCompletion: type: boolean example: true timeSpent: type: string example: null lastWatchedTime: type: integer example: 0 isReady: type: boolean example: true tags: - Videos security: [] /api/modules/webinar: get: summary: 'Webinar Modules Tabular List' operationId: webinarModulesTabularList description: "Returns all the webinar 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: expedita required: true schema: type: string description: 'Current page number in pagination.' example: expedita - 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: 0 recordsFiltered: 0 records: [] properties: recordsTotal: type: integer example: 0 recordsFiltered: type: integer example: 0 records: type: array example: [] tags: - Webinars security: [] post: summary: 'Create Webinar Module' operationId: createWebinarModule description: "To create a webinar module, you need to use this request. (See parameters)\nCreated webinar modules can be used in the course as course content/lesson.\n\nReturns : id of the webinar created and successfull message" parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: id: 12 message: 'Module saved successfully' properties: id: type: integer example: 12 message: type: string example: 'Module saved successfully' tags: - Webinars requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Name of the webinar module.' example: New-Webinar content: type: string description: 'Content for the webinar modules that students will see.' example: 'A brief description' service_provider: type: string description: 'Service Provider of the webinar. Service provider options: vimeo_live_streaming, zoom, goto_webinar, goto_training or ms_team_meet.' example: vimeo_live_streaming meeting_url: type: string description: 'URL of the webinar where students can join..' example: 'https://vimeo.com/WGYWVjhvjvkgrbwekjrblwiebrjbXjytfjg' start_time: type: string description: 'Start time of the webinar.' example: '2020-08-17 00:00:00' end_time: type: string description: 'End time of the webinar.' example: '2020-08-17 01:00:00' zoom_meeting_id: type: string description: 'Meeting Id for service provider zoom.' example: '83170896876' zoom_host_pwd: type: string description: 'Host password for service provider zoom.' example: '83170896787' required: - name - content - service_provider - start_time - end_time - zoom_meeting_id - zoom_host_pwd security: [] '/api/modules/webinar/{id}': put: summary: 'Update Webinar Module' operationId: updateWebinarModule description: "Update the details of specified webinar module. (See Response)\nWebinar 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: - Webinars requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Name of the webinar module.' example: New-Webinar content: type: string description: 'Content for the webinar modules that students will see.' example: 'An updated brief description' service_provider: type: string description: 'Service Provider of the webinar. Service provider options: vimeo_live_streaming, zoom, goto_webinar, goto_training or ms_team_meet.' example: vimeo_live_streaming meeting_url: type: string description: 'URL of the webinar where students can join..' example: 'https://vimeo.com/WGYWVjhvjvkgrbwekjrblwiebrjbXjytfjg' start_time: type: string description: 'Start time of the webinar.' example: '2020-08-17 00:00:00' end_time: type: string description: 'End time of the webinar.' example: '2020-08-17 02:00:00' zoom_meeting_id: type: string description: 'Meeting Id for service provider zoom.' example: '83170896876' zoom_host_pwd: type: string description: 'Host password for service provider zoom.' example: '83170896787' required: - name - content - service_provider - start_time - end_time - zoom_meeting_id - zoom_host_pwd security: [] get: summary: 'Retrieve Webinar Modules' operationId: retrieveWebinarModules description: 'Retrieves the details of the specified webinar module. Helps in fetching webinar module using its ID. (See Parameters)' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: name: New-Webinar slug: new-webinar content: 'A Brief Description' service_provider: vimeo_live_streaming meeting_url: 'https://zzom.com/WGYWVjhvjvkgrbwekjrblwiebrjbXjytfjg' start_time: '2020-08-17 00:00:00' end_time: '2020-08-17 01:00:00' properties: name: type: string example: New-Webinar slug: type: string example: new-webinar content: type: string example: 'A Brief Description' service_provider: type: string example: vimeo_live_streaming meeting_url: type: string example: 'https://zzom.com/WGYWVjhvjvkgrbwekjrblwiebrjbXjytfjg' start_time: type: string example: '2020-08-17 00:00:00' end_time: type: string example: '2020-08-17 01:00:00' tags: - Webinars security: [] /api/module/webinar/details: get: summary: 'Retrieve Detailed Webinar Module Info' operationId: retrieveDetailedWebinarModuleInfo description: "Retrieves details of webinar module in depth as well as different modules details that are being used as course content for the same course the current webinar 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 webinar module.' example: '9' required: true schema: type: string description: 'ID of the webinar 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: - Webinars security: [] /api/module/webinar/launch: get: summary: 'Webinar Module Launch Details' operationId: webinarModuleLaunchDetails description: "Retrieves the launch details for the webinar modules. Returned data includes webinar provider name(like vimeo, zoom, big blue button, etc), whether webinar is created successfully or not, etc\nThis information helps while launching the webinar for students." parameters: - in: query name: moduleId description: 'ID of the current webinar module.' example: '12' required: true schema: type: string description: 'ID of the current webinar module.' example: '12' responses: 200: description: '' content: application/json: schema: type: object example: provider: vimeo_live_streaming webinarDetails: is_success: 'false' message: 'Something went wrong. Please contact admin' properties: provider: type: string example: vimeo_live_streaming webinarDetails: type: object properties: is_success: type: string example: 'false' message: type: string example: 'Something went wrong. Please contact admin' tags: - Webinars security: [] /api/module/webinar/markComplete: put: summary: 'Mark Complete Webinar Module' operationId: markCompleteWebinarModule description: "Updates the status of the webinar module to completed.\nChanges the completion percentage to 100% and mark completed the webinar module." parameters: - in: query name: statusRowId description: 'ID of the ModuleStatus Row belongs to current webinar module.' example: '4' required: true schema: type: string description: 'ID of the ModuleStatus Row belongs to current webinar module.' example: '4' responses: 200: description: '' content: application/json: schema: type: object example: message: 'Module Completed Successfully' properties: message: type: string example: 'Module Completed Successfully' tags: - Webinars security: [] tags: - name: Users description: "\nYou can perform user management tasks like creating, deleting and updating users." - name: Accredible description: "\nIt allows users to receive digital credentials" - name: Announcements description: "\nAnnouncements are used to send messages to all students.\nHelps in reaching out to students when Instructor needs to notice everyone." - name: Assignments description: "\nAn Assignment Module is a lesson module used as course content. Helps to perform CRUD operation to and for Assignments modules." - name: 'Audit Logs' description: "\nIt allows you to track the user activity in the LMS." - name: Badge description: "\nEndpoints for handling and managing Gamification badges" - name: Categories description: "\nCategories represents Course category, Product category, Question category. Helps performimg operations in all these models." - name: 'Certificate Templates' description: "\nA Certificate template is used to provide to students. Students can achieve this award by completing the course.\nHelps in performing CRUD operations for and to certificates" - name: Class description: "\nYou can perform operations like create, edit, delete on classes." - name: Courses description: "\nYou can perform operations like create, edit, delete on courses and its contents." - name: 'Discount Coupons' description: "\nA Coupon is used by the students to reduce ther price by some discount, provided by the Instructor. \nIt helps for adding/updating/editing discount coupons applied on products." - name: Discussions description: "\nA Discussion module is used as course content and a platform where students can have discussions. Helps to perform CRUD operation to and for discussion modules." - name: ECommerce description: "\nEndpoints for managing ecommerce settings.\nGetting and setting items status and values for the platform and the products." - name: 'ECommerce Orders' description: "\nAn ECommerce Order is made by the students when they purchase a product hence course.\nIt helps in managing orders and performing CRUD operation on orders." - name: 'ECommerce Payments' description: "\nEndpoints for managing ecommerce Payment Gateways.\nPayment gateways will be used when your users are purchasing products." - name: 'ECommerce Products' description: "\nA Product will be reached to your students. Course has to be attached to products so that students can purchase your courses.\nHelps in performing CRUD operations for and to products." - name: 'Flash Cards Modules' description: "\nA Flash Cards Module is a lesson module used as course content. Helps to perform CRUD operation to and for Flash Cards modules." - name: 'Front End Webhook API' description: "\nEndpoints for Front end Marketing Pages. Send automated notifications to external system when some action happens." - name: Gamification description: "\nEndpoints for managing Gamification settings." - name: 'General Settings' description: "\nGeneral Settings helps in managing general platform settings like site name, timezone, emails etc" - name: Groups description: "\nA group can be used to couple course and seats for admins.\nEndpoints helps in performing CRUD operation for and to groups" - name: 'Hubspot Integration' description: "\nIt allows you to track student activity and progress in the LMS, and trigger changes in HubSpot data accordingly." - name: Integrations description: "\nAn integration can be used by admins to integrate this platform to other platforms.\nEndpoints helps in performing CRUD operation for and to integration." - name: Leaderboard description: "\nYou can perform operations like create, edit, delete on Leaderboard Tiers." - name: Location description: "\nYou can perform operations like create, edit, delete on locations for classes." - name: Media description: "\nEndpoints for handling and managing upload/downloads static files, assets and media" - name: Memberships description: "\nMemberships are used to provide content access to users.\nHelps in providing course and standalone modules access to students" - name: Menus description: "\nMenus are used as front end module for this platform.\nEndpoints for managing menus on marketing front end pages" - name: Modules description: "\nA module is a lesson that you add as course content. Modules could be Text, Video, PDF, SCORM, Quiz, Assignments or Survey.\nHelps in performing CRUD operation to and for modules." - name: PDFs description: "\nA PDF Module is a lesson module used as course content. Helps to perform CRUD operation to and for PDF modules." - name: Pages description: "\nPages are Front end Marketing visuals. Page can be viewed by the different users to interact with this platform.\nEndpoint helps in managing pages." - name: Powerpoint description: "\nA Powerpoint Module is used as course content. Helps to perform CRUD operation to and for Powerpoint modules." - name: Questions description: "\nManage Questions. Questions can be added in the Quiz module for students to answer.\nHelps to perform CRUD operations for and to questions." - name: Quizzes description: "\nA Quiz Module is a quiz used as course content. Helps to perform CRUD operation to and for quiz modules." - name: 'SCORM Packages' description: "\nSCORM packages can be used in course as course scorm module.\nEndpoints for managing SCORM Packages." - name: 'SCORMs ' description: "\nAn SCORM Module is used as course content. Helps to perform CRUD operation to and for SCORM modules." - name: 'Salesforce Integration' description: "\nIt allows you to track student activity and progress in the LMS, and trigger changes in Salesforce data accordingly." - name: Staffs description: "\nYou can perform staff management tasks like creating, deleting and updating staffs." - name: 'Subscription Products' description: "\nA subscription product whose amount will be paid in subscriptions (in between intervals) by your students.\nHelps in performing CRUD operations for and to subscription products." - name: 'Survey Modules' description: "\nA survey module is a feedback module that you can add as course content to get students feedback about your course(How they felt about course, ratings, etc).\nHelps in performing CRUD operation to and for survey modules." - name: 'Text Modules' description: "\nA Text Module is a lesson module used as course content. Helps to perform CRUD operation to and for Text modules." - name: Videos description: "\nA Video Module is a lesson module used as course content. Helps to perform CRUD operation to and for Video modules." - name: Webinars description: "\nA Webinar Module is used as course content. Helps to perform CRUD operation to and for Webinar modules."