delete_program_element
Delete a program element by its unique ID. Removes the specified element from the system.
Instructions
Delete a element
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the program element to delete |
Implementation Reference
- src/tools/program_elements.ts:104-120 (handler)The handler/registration for the delete_program_element tool. It calls apiDelete on /program/elements/{id}, logs the response, and formats the result using formatDelete.
server.registerTool( "delete_program_element", { description: "Delete a element", annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: true }, inputSchema: { id: z.number().int().positive().describe("ID of the program element to delete") }, }, async ({ id }) => { try { const record = await apiDelete<EduframeRecord>(`/program/elements/${id}`); void logResponse("delete_program_element", { id }, record); return formatDelete(record, "program element"); } catch (error) { return formatError(error); } }, ); - Input schema for delete_program_element: requires a positive integer 'id'.
annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: true }, inputSchema: { id: z.number().int().positive().describe("ID of the program element to delete") }, - src/tools/index.ts:15-49 (registration)Import of registerProgramElementTools in the central tools index.
import { registerCreditCategorieTools } from "./credit_categories"; import { registerCreditTools } from "./credits"; import { registerCustomAssociationTools } from "./custom_associations"; import { registerCustomFieldOptionTools } from "./custom_field_options"; import { registerCustomObjectTools } from "./custom_objects"; import { registerCustomRecordTools } from "./custom_records"; import { registerDiscountCodeTools } from "./discount_codes"; import { registerEditionDescriptionSectionTools } from "./edition_description_sections"; import { registerEducatorTools } from "./educators"; import { registerEmailTools } from "./emails"; import { registerEnrollmentTools } from "./enrollments"; import { registerGradeTools } from "./grades"; import { registerInvoiceVatTools } from "./invoice_vats"; import { registerInvoiceTools } from "./invoices"; import { registerLabelTools } from "./labels"; import { registerLeadTools } from "./leads"; import { registerMaterialGroupTools } from "./material_groups"; import { registerMaterialTools } from "./materials"; import { registerMeetingLocationTools } from "./meeting_locations"; import { registerMeetingTools } from "./meetings"; import { registerOrderTools } from "./orders"; import { registerOrganizationTools } from "./organizations"; import { registerPaymentMethodTools } from "./payment_methods"; import { registerPaymentOptionTools } from "./payment_options"; import { registerPaymentTools } from "./payments"; import { registerPlannedCourseTools } from "./planned_courses"; import { registerPlanningAttendeeTools } from "./planning_attendees"; import { registerPlanningConflictTools } from "./planning_conflicts"; import { registerPlanningEventTools } from "./planning_events"; import { registerPlanningLocationTools } from "./planning_locations"; import { registerPlanningMaterialTools } from "./planning_materials"; import { registerPlanningRequiredTeacherGroupAttendeeTools } from "./planning_required_teacher_group_attendees"; import { registerPlanningTeacherTools } from "./planning_teachers"; import { registerProgramEditionTools } from "./program_editions"; import { registerProgramElementTools } from "./program_elements"; - src/tools/index.ts:112-112 (registration)Registration of registerProgramElementTools in the tools array, which is iterated by registerAllTools.
registerProgramElementTools, - src/api.ts:219-229 (helper)apiDelete helper function that performs a DELETE HTTP request, used by delete_program_element.
export async function apiDelete<T>(path: string): Promise<T> { const { token } = getConfig(); const url = buildUrl(path); const response = await fetch(url.toString(), { method: "DELETE", headers: buildHeaders(token), }); return handleResponse<T>(response); }