generated: '2026-07-15' method: generated source: openapi/purdue-catalog.yaml description: Recommended x-agentic-access execution contracts, classified heuristically from the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind audience per deployment. See research/curity/agentic-governance/. summary: operations: 20 by_action_class: connected: 20 by_consequence: read: 20 human_in_the_loop_required: 0 operations: - path: /Campuses method: get operationId: listCampuses x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Campuses({Id}) method: get operationId: getCampus x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Buildings method: get operationId: listBuildings x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Buildings({Id}) method: get operationId: getBuilding x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Rooms method: get operationId: listRooms x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Rooms({Id}) method: get operationId: getRoom x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Terms method: get operationId: listTerms x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Terms({Id}) method: get operationId: getTerm x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Courses method: get operationId: listCourses x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Courses({Id}) method: get operationId: getCourse x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Classes method: get operationId: listClasses x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Classes({Id}) method: get operationId: getClass x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Sections method: get operationId: listSections x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Sections({Id}) method: get operationId: getSection x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Meetings method: get operationId: listMeetings x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Meetings({Id}) method: get operationId: getMeeting x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Subjects method: get operationId: listSubjects x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Subjects({Id}) method: get operationId: getSubject x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Instructors method: get operationId: listInstructors x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Instructors({Id}) method: get operationId: getInstructor x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none