microservices/utils/api_spec.yaml (351 lines of code) (raw):

tags: - name: utils description: Endpoint to fetch feedback questions, topics and FAQs and also to save both the inline and overall feedback provided by the user. paths: /utils/api/v1/feedback: get: security: - bearerAuth: [] tags: - utils summary: Fetch feedback questions and options description: Retrieves questions and options for the user to provide feedback. responses: "200": description: Successfully fetched options for feedback content: application/json: schema: $ref: "#/components/schemas/feedbackGetApiResponse" "401": description: Token Expired content: application/json: schema: $ref: "#/components/schemas/tokenExpiredResponse" "403": description: Token not found content: application/json: schema: $ref: "#/components/schemas/tokenNotFoundResponse" "500": description: Internal Server Error content: application/json: schema: $ref: "#/components/schemas/errorApiResponse" post: security: - bearerAuth: [] tags: - utils summary: Saves feedback provided by the user description: Saves feedback given by the user requestBody: content: application/json: schema: $ref: "#/components/schemas/feedbackPostApiRequest" description: user_comments, course_feedback_option, notes_feedback_option, usage_feedback_option, question_ref, session_id and user_rating are required required: true responses: "200": description: Successfully saved feedback of the user content: application/json: schema: $ref: "#/components/schemas/feedbackPostApiResponse" "401": description: Token Expired content: application/json: schema: $ref: "#/components/schemas/tokenExpiredResponse" "403": description: Token not found content: application/json: schema: $ref: "#/components/schemas/tokenNotFoundResponse" "500": description: Internal Server Error content: application/json: schema: $ref: "#/components/schemas/errorApiResponse" /utils/api/v1/inlineFeedback: post: security: - bearerAuth: [] tags: - utils summary: Saves inline feedback provided by the user description: Saves inline feedback given by the user requestBody: content: application/json: schema: $ref: "#/components/schemas/inlineFeedbackPostApiRequest" description: covered_lus, context_ref, question_ref, session_id and user_rating are required required: true responses: "200": description: Successfully saved inline feedback of the user content: application/json: schema: $ref: "#/components/schemas/inlineFeedbackPostApiResponse" "401": description: Token Expired content: application/json: schema: $ref: "#/components/schemas/tokenExpiredResponse" "403": description: Token not found content: application/json: schema: $ref: "#/components/schemas/tokenNotFoundResponse" "500": description: Internal Server Error content: application/json: schema: $ref: "#/components/schemas/errorApiResponse" /utils/api/v1/help: get: security: - bearerAuth: [] tags: - utils summary: Fetch help me FAQs description: Retrieves topic wise help me FAQs in a paginated manner, limited to 10 FAQs per retrieval. parameters: - in: query name: page schema: type: number required: true description: Page Number - in: query name: topic schema: type: string required: true description: Topic responses: "200": description: Successfully fetched help me faqs content: application/json: schema: $ref: "#/components/schemas/helpGetApiResponse" "401": description: Token Expired content: application/json: schema: $ref: "#/components/schemas/tokenExpiredResponse" "403": description: Token not found content: application/json: schema: $ref: "#/components/schemas/tokenNotFoundResponse" "500": description: Internal Server Error content: application/json: schema: $ref: "#/components/schemas/errorApiResponse" /utils/api/v1/topics: get: security: - bearerAuth: [] tags: - utils summary: Fetch topics description: Retrieves topics in a paginated manner, limited to at max 10 topics per retrieval. parameters: - in: query name: page schema: type: number required: true description: Page Number responses: "200": description: Successfully fetched topics content: application/json: schema: $ref: "#/components/schemas/topicsGetApiResponse" "401": description: Token Expired content: application/json: schema: $ref: "#/components/schemas/tokenExpiredResponse" "403": description: Token not found content: application/json: schema: $ref: "#/components/schemas/tokenNotFoundResponse" "500": description: Internal Server Error content: application/json: schema: $ref: "#/components/schemas/errorApiResponse" components: securitySchemes: bearerAuth: type: apiKey name: Authorization in: header schemas: feedbackPostApiRequest: type: object required: - user_comments - course_feedback_option - notes_feedback_option - usage_feedback_option - question_ref - user_rating - session_id properties: user_comments: type: string example: AI tutor is just awesome! course_feedback_option: type: string example: Very Helpful notes_feedback_option: type: string example: Very Helpful usage_feedback_option: type: string example: Very Helpful user_rating: type: string example: 4 question_ref: type: string example: /feedback/1H5XwqshzReXvVowSeBp session_id: type: string example: "4e7ea201-9193-45f9-a0ac-0b9ae4ff6520" inlineFeedbackPostApiRequest: type: object required: - question_ref - context_ref - covered_lus - user_rating - session_id properties: covered_lus: type: array items: example: [""] context_ref: type: string example: "sub_competencies/AjpPOsvAEEHbsQp4zR6J" user_rating: type: string example: 4 question_ref: type: string example: /feedback/1H5XwqshzReXvVowSeBp session_id: type: string example: "4e7ea201-9193-45f9-a0ac-0b9ae4ff6520" helpGetApiResponse: type: object properties: success: type: boolean example: true message: type: string example: Successfully fetched help me faqs data: type: object properties: items: type: array items: type: object properties: question: type: string example: What is DeepLIT? answer: type: string example: Deep learning based intelligent tutor topic: type: string example: miscellaneous feedbackGetApiResponse: type: object properties: success: type: boolean example: true message: type: string example: Successfully fetched options for feedback data: type: object properties: items: type: array items: type: object properties: courseFeedback: type: object properties: question: type: string example: How helpful was the interactive tutor in developing deeper understanding of the course material? options: type: array items: type: string example: ["Not at all Helpful", "Somewhat Helpful", "Neither Helpful or Unhelpful", "Somewhat Helpful", "Very Helpful"] descriptiveQuestion: type: string example: What else should we know about the interactive tutor? notesFeedback: type: object properties: question: type: string example: How helpful is the notes section in preparing you for the assessment portion of your course? options: type: array items: type: string example: ["Not at all Helpful", "Somewhat Helpful", "Neither Helpful or Unhelpful", "Somewhat Helpful", "Very Helpful", "I haven't attempted an assessment yet"] usageFeedback: type: object properties: question: type: string example: How often have you used the Interactive Tutor in your course work? options: type: array items: type: string example: ["This was my first time using the interactive tutor", "I use the interactive tutor each time I am in my course", "I use it regularly but not every time", "I use it occasionally"] question_ref: type: string example: /feedback/1H5XwqshzReXvVowSeBp thankYouNote: type: string example: Thanks for sharing your feedback — it's a big help to us here at Walden, and we appreciate you taking the time. Our product teams will be taking this into account as we keep working to improve our Software. ratingQuestion: type: string example: How would you rate your experience with the Interactive Tutor? feedbackPostApiResponse: type: object properties: success: type: boolean example: true message: type: string example: Successfully saved feedback of the user data: type: string example: 11c83e76-ee32-49f2-b419-a66d5166256d inlineFeedbackPostApiResponse: type: object properties: success: type: boolean example: true message: type: string example: Successfully saved inline feedback of the user data: type: string example: 11c83e76-ee32-49f2-b419-a66d5166256d topicsGetApiResponse: type: object properties: success: type: boolean example: true message: type: string example: Sucessfully fetched topics data: type: object properties: items: type: array items: type: object properties: title: type: string example: Interaction with the AI Tutor queryTopic: type: string example: teachme tokenExpiredResponse: type: object properties: success: type: boolean example: false message: type: string example: Token expired data: type: object nullable: true example: null tokenNotFoundResponse: type: object properties: success: type: boolean example: false message: type: string example: Token not found data: type: object nullable: true example: null errorApiResponse: type: object properties: success: type: boolean example: false message: type: string example: Something went wrong data: type: object nullable: true