Clever · Agentic Access
Clever Agentic Access
x-agentic-access
generated
Clever exposes 51 API operations that an AI agent could call, of which 4 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.
By consequence: 47 read and 4 write.
Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.
EducationK-12EdTechSingle Sign-OnRosteringIdentitySSOStudent DataLMSSIS
Operations: 51
Acting: 4
Human-in-the-loop: 0
Method: generated
By consequence
read 47
write 4
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/clever-data-api-openapi.yml, openapi/clever-events-api-openapi.yml, openapi/clever-lms-connect-api-openapi.yml
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: 51
by_action_class:
connected: 47
acting: 4
by_consequence:
read: 47
write: 4
human_in_the_loop_required: 0
operations:
- path: /courses
method: get
operationId: getCourses
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: /courses/{id}/district
method: get
operationId: getDistrictForCourse
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /courses/{id}/resources
method: get
operationId: getResourcesForCourse
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /courses/{id}/schools
method: get
operationId: getSchoolsForCourse
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /courses/{id}/sections
method: get
operationId: getSectionsForCourse
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /districts
method: get
operationId: getDistricts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /districts/{id}
method: get
operationId: getDistrict
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resources
method: get
operationId: getResources
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resources/{id}
method: get
operationId: getResource
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resources/{id}/courses
method: get
operationId: getCoursesForResource
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resources/{id}/sections
method: get
operationId: getSectionsForResource
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resources/{id}/users
method: get
operationId: getUsersForResource
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /schools
method: get
operationId: getSchools
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /schools/{id}
method: get
operationId: getSchool
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /schools/{id}/courses
method: get
operationId: getCoursesForSchool
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /schools/{id}/district
method: get
operationId: getDistrictForSchool
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /schools/{id}/sections
method: get
operationId: getSectionsForSchool
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /schools/{id}/terms
method: get
operationId: getTermsForSchool
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /schools/{id}/users
method: get
operationId: getUsersForSchool
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /sections
method: get
operationId: getSections
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: /sections/{id}/course
method: get
operationId: getCourseForSection
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /sections/{id}/district
method: get
operationId: getDistrictForSection
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /sections/{id}/resources
method: get
operationId: getResourcesForSection
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /sections/{id}/school
method: get
operationId: getSchoolForSection
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /sections/{id}/term
method: get
operationId: getTermForSection
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /sections/{id}/users
method: get
operationId: getUsersForSection
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /terms
method: get
operationId: getTerms
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: /terms/{id}/district
method: get
operationId: getDistrictForTerm
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /terms/{id}/schools
method: get
operationId: getSchoolsForTerm
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /terms/{id}/sections
method: get
operationId: getSectionsForTerm
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /users
method: get
operationId: getUsers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /users/{id}
method: get
operationId: getUser
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /users/{id}/district
method: get
operationId: getDistrictForUser
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /users/{id}/mycontacts
method: get
operationId: getContactsForUser
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /users/{id}/mystudents
method: get
operationId: getStudentsForUser
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /users/{id}/myteachers
method: get
operationId: getTeachersForUser
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /users/{id}/resources
method: get
operationId: getResourcesForUser
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /users/{id}/schools
method: get
operationId: getSchoolsForUser
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /users/{id}/sections
method: get
operationId: getSectionsForUser
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /events
method: get
operationId: getEvents
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /events/{id}
method: get
operationId: getEvent
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /sections/{section_id}/assignments
method: post
operationId: createAssignmentForSection
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /sections/{section_id}/assignments/{assignment_id}
method: delete
operationId: deleteAssignmentForSection
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /sections/{section_id}/assignments/{assignment_id}
method: get
operationId: getAssignmentForSection
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /sections/{section_id}/assignments/{assignment_id}
method: patch
operationId: updateAssignmentForSection
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /sections/{section_id}/assignments/{assignment_id}/submissions
method: get
operationId: getSubmissionsForAssignment
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /sections/{section_id}/assignments/{assignment_id}/submissions/{user_id}
method: get
operationId: getSubmissionForAssignment
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /sections/{section_id}/assignments/{assignment_id}/submissions/{user_id}
method: patch
operationId: updateSubmissionForAssignment
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required