# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Education SendPulse Project API Definition Students API version: 1.0.0 extends: openapi/sendpulse-students-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-10-01' generator: build-phrasing.py label: Generated by API Evangelist operations: 7 - target: $.paths['/students'].post update: x-apievangelist-phrasing: intent: Enroll a new student in a course effect: write questions: - How do I add a student to one of my online courses? - Can I enroll a student on a specific course tariff? instructions: - text: Enroll {email} as a student in course {courseId}. slots: email: requestBody.email courseId: requestBody.courseId - text: Add student {firstName} {lastName} with email {email} to course {courseId} on tariff {courseTariffId}. slots: firstName: requestBody.firstName lastName: requestBody.lastName email: requestBody.email courseId: requestBody.courseId courseTariffId: requestBody.courseTariffId method: generated generated: '2026-10-01' - target: $.paths['/students/auditory'].post update: x-apievangelist-phrasing: intent: Search all students across the school effect: read questions: - Which students across my whole school have paid? - Can I search all my students by name, email or tag? instructions: - text: List {limit} students from the whole school starting at {offset}. slots: limit: requestBody.limit offset: requestBody.offset - text: Search my school's students for {searchString}, {limit} at a time from offset {offset}. slots: searchString: requestBody.searchString limit: requestBody.limit offset: requestBody.offset method: generated generated: '2026-10-01' - target: $.paths['/students/course-statistics/{studentId}'].get update: x-apievangelist-phrasing: intent: Get a student's course progress statistics effect: read questions: - How far has a student progressed through their courses? - What course statistics are recorded for one student? instructions: - text: Show course statistics for student {studentId}. slots: studentId: path.studentId - text: Get the progress of student {studentId} across courses. slots: studentId: path.studentId method: generated generated: '2026-10-01' - target: $.paths['/students/{studentId}'].delete update: x-apievangelist-phrasing: intent: Remove a student from the school effect: destructive questions: - Can I remove a student from my school entirely? - What's the way to delete a student account from all courses? instructions: - text: Delete student {studentId} from the school. slots: studentId: path.studentId - text: Remove student {studentId} from my school completely. slots: studentId: path.studentId method: generated generated: '2026-10-01' - target: $.paths['/students/{studentId}/{courseId}'].delete update: x-apievangelist-phrasing: intent: Remove a student from one course effect: destructive questions: - Can I unenroll a student from a single course but keep them in the school? - How do I take a student off one course? instructions: - text: Remove student {studentId} from course {courseId}. slots: studentId: path.studentId courseId: path.courseId - text: Unenroll {studentId} from course {courseId} only. slots: studentId: path.studentId courseId: path.courseId method: generated generated: '2026-10-01' - target: $.paths['/students/by-course/{courseId}'].post update: x-apievangelist-phrasing: intent: List students enrolled in a course effect: read questions: - Who is enrolled in a particular course? - Can I filter a course's students by tariff, progress or payment? instructions: - text: List {limit} students in course {courseId} starting at {offset}. slots: limit: requestBody.limit courseId: path.courseId offset: requestBody.offset - text: 'Show paid students in course {courseId}: isPaid {isPaid}, limit {limit}, offset {offset}.' slots: courseId: path.courseId isPaid: requestBody.isPaid limit: requestBody.limit offset: requestBody.offset method: generated generated: '2026-10-01' - target: $.paths['/students/{courseId}/mark-as-paid'].post update: x-apievangelist-phrasing: intent: Mark students as paid for a course effect: write questions: - Can I mark students as having paid for a course? - How do I record payment for several students in one course? instructions: - text: Mark students {ids} as paid in course {courseId}. slots: ids: requestBody.ids courseId: path.courseId - text: Record payment for course {courseId} for students {ids}. slots: courseId: path.courseId ids: requestBody.ids method: generated generated: '2026-10-01'