360Learning Agentic Access
360Learning exposes 164 API operations that an AI agent could call, of which 104 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: 60 read and 104 safety-critical.
104 operations are classed safety-critical and should require human-in-the-loop approval at runtime.
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.
By consequence
Highest-consequence actions
The physical and safety-critical operations an agent could invoke — the ones that most warrant scoped tokens, tight TTLs, and escalation. Full per-operation contracts are in the source below.
| Method | Path | Consequence | Human-in-loop |
|---|---|---|---|
| DELETE | /api/v2/bulk/groups | safety-critical | required |
| POST | /api/v2/bulk/groups/catalog | safety-critical | required |
| DELETE | /api/v2/bulk/groups/catalog | safety-critical | required |
| POST | /api/v2/bulk/groups/library | safety-critical | required |
| DELETE | /api/v2/bulk/groups/library | safety-critical | required |
| POST | /api/v2/bulk/groups/memberships | safety-critical | required |
| DELETE | /api/v2/bulk/groups/memberships | safety-critical | required |
| DELETE | /api/v2/bulk/integrations/{integrationId}/courses | safety-critical | required |
| PUT | /api/v2/bulk/integrations/{integrationId}/courses | safety-critical | required |
| POST | /api/v2/bulk/integrations/{integrationId}/stats | safety-critical | required |
| POST | /api/v2/bulk/notifications/subscriptions | safety-critical | required |
| DELETE | /api/v2/bulk/skills | safety-critical | required |
| PUT | /api/v2/bulk/skills | safety-critical | required |
| DELETE | /api/v2/bulk/skills/jobs | safety-critical | required |
| PUT | /api/v2/bulk/skills/jobs | safety-critical | required |
| PUT | /api/v2/bulk/skills/jobs-skills | safety-critical | required |
| DELETE | /api/v2/bulk/skills/libraries | safety-critical | required |
| PUT | /api/v2/bulk/skills/libraries | safety-critical | required |
| POST | /api/v2/bulk/skills/reviews | safety-critical | required |
| PUT | /api/v2/bulk/skills/users/jobs | safety-critical | required |
| POST | /api/v2/certificate-outlines | safety-critical | required |
| DELETE | /api/v2/certificate-outlines/{certificateOutlineId} | safety-critical | required |
| PATCH | /api/v2/certificate-outlines/{certificateOutlineId} | safety-critical | required |
| POST | /api/v2/classroom-slots/{classroomSlotId}/attendance-sheets | safety-critical | required |
| DELETE | /api/v2/classroom-slots/{classroomSlotId}/attendance-sheets/{attendanceSheetId} | safety-critical | required |
Source
Agentic Access
generated: '2026-07-17'
method: generated
source: openapi/360learning-bulk-api.json, openapi/360learning-core-api.json, openapi/360learning-plugin-api.json,
openapi/360learning-user-authorized-api.json, openapi/360learning-webhook-api.json
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: 164
by_action_class:
acting: 104
connected: 60
by_consequence:
safety-critical: 104
read: 60
human_in_the_loop_required: 104
operations:
- path: /api/v2/bulk/groups/catalog
method: post
operationId: v2.bulk.groups.AddContentsToGroupsCatalogController_addContentsToGroupsCatalog
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/bulk/groups/catalog
method: delete
operationId: v2.bulk.groups.RemoveContentsFromGroupsCatalogController_removeContentsFromGroupsCatalog
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/bulk/groups/library
method: post
operationId: v2.bulk.groups.AddContentsToGroupsLibraryController_addContentsToGroupsLibrary
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/bulk/groups/library
method: delete
operationId: v2.bulk.groups.RemoveContentsFromGroupsLibraryController_removeContentsFromGroupsLibrary
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/bulk/groups/memberships
method: post
operationId: v2.bulk.groups.AddUsersToGroupsController_addUsersToGroups
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/bulk/groups/memberships
method: delete
operationId: v2.bulk.groups.RemoveUsersFromGroupsController_removeUsersFromGroups
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/bulk/groups
method: delete
operationId: v2.bulk.groups.DeleteGroupsController_deleteGroups
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/bulk/integrations/{integrationId}/courses
method: delete
operationId: v2.bulk.integrations.ArchiveExternalCoursesController_archiveExternalCourses
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/bulk/integrations/{integrationId}/courses
method: put
operationId: v2.bulk.integrations.ImportExternalCoursesController_importExternalCourses
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/bulk/integrations/{integrationId}/stats
method: post
operationId: v2.bulk.integrations.ImportExternalStatisticsController_importExternalStatistics
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/bulk/operations/{bulkOperationId}
method: get
operationId: v2.bulk.operations.GetBulkOperationController_getBulkOperation
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/bulk/operations/{bulkOperationId}/results
method: get
operationId: v2.bulk.operations.GetBulkOperationResultsController_getBulkOperationResults
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/bulk/operations
method: get
operationId: v2.bulk.operations.GetBulkOperationsController_getBulkOperations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/bulk/skills/reviews
method: post
operationId: v2.bulk.skills.AddSkillReviewsController_addSkillReviews
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/bulk/skills/jobs
method: delete
operationId: v2.bulk.skills.DeleteJobsController_deleteJobs
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/bulk/skills/jobs
method: put
operationId: v2.bulk.skills.UpsertJobsController_upsertJobs
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/bulk/skills/libraries
method: delete
operationId: v2.bulk.skills.DeleteLibrariesController_deleteLibraries
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/bulk/skills/libraries
method: put
operationId: v2.bulk.skills.UpsertLibrariesController_upsertLibraries
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/bulk/skills
method: delete
operationId: v2.bulk.skills.DeleteSkillsController_deleteSkills
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/bulk/skills
method: put
operationId: v2.bulk.skills.UpsertSkillsController_upsertSkills
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/bulk/skills/jobs-skills
method: put
operationId: v2.bulk.skills.ReplaceJobsSkillsController_replaceJobsSkills
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/bulk/skills/users/jobs
method: put
operationId: v2.bulk.skills.ReplaceUsersJobsController_replaceUsersJobs
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/bulk/notifications/subscriptions
method: post
operationId: v2.bulk.subscriptions.CreateSubscriptionEventsController_createSubscriptionEvents
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/certificate-outlines
method: post
operationId: v2.certificateOutlines.CreateCertificateOutlineController_createCertificateOutline
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/certificate-outlines
method: get
operationId: v2.certificateOutlines.GetCertificateOutlinesController_getCertificateOutlines
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/certificate-outlines/{certificateOutlineId}
method: delete
operationId: v2.certificateOutlines.DeleteCertificateOutlineController_deleteCertificateOutline
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/certificate-outlines/{certificateOutlineId}
method: patch
operationId: v2.certificateOutlines.UpdateCertificateOutlineController_updateCertificateOutline
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/classrooms
method: post
operationId: v2.classrooms.CreateClassroomController_createClassroom
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/classrooms
method: get
operationId: v2.classrooms.GetClassroomsController_getClassrooms
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/classrooms/{classroomId}
method: get
operationId: v2.classrooms.GetClassroomController_getClassroom
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/classrooms/{classroomId}
method: patch
operationId: v2.classrooms.UpdateClassroomController_updateClassroom
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/classrooms/{classroomId}/registrations
method: get
operationId: v2.classrooms.GetClassroomRegistrationsController_getClassroomRegistrations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/classrooms/{classroomId}/slots
method: post
operationId: v2.classrooms.CreateClassroomSlotController_createClassroomSlot
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/classrooms/{classroomId}/slots
method: get
operationId: v2.classrooms.GetClassroomSlotsController_getClassroomSlots
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/classrooms/{classroomId}/slots/{classroomSlotId}
method: delete
operationId: v2.classrooms.DeleteClassroomSlotController_deleteClassroomSlot
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/classrooms/{classroomId}/slots/{classroomSlotId}
method: patch
operationId: v2.classrooms.UpdateClassroomSlotController_updateClassroomSlot
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/classroom-slots/{classroomSlotId}/attendance-sheets
method: post
operationId: v2.classrooms.CreateAttendanceSheetController_createAttendanceSheet
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/classroom-slots/{classroomSlotId}/attendance-sheets
method: get
operationId: v2.classrooms.GetAttendanceSheetsController_getAttendanceSheets
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/classroom-slots/{classroomSlotId}/attendance-sheets/{attendanceSheetId}
method: delete
operationId: v2.classrooms.DeleteAttendanceSheetController_deleteAttendanceSheet
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/classroom-slots/{classroomSlotId}/attendance-sheets/{attendanceSheetId}
method: put
operationId: v2.classrooms.UpdateAttendanceSheetController_updateAttendanceSheet
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/classroom-slots/{classroomSlotId}/attendance-sheets/{attendanceSheetId}/attendances
method: get
operationId: v2.classrooms.GetAttendancesController_getAttendances
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/classroom-slots/{classroomSlotId}/waitlist
method: get
operationId: v2.classrooms.GetClassroomSlotWaitlistController_getClassroomSlotWaitlist
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/classroom-slots/{classroomSlotId}/waitlist/{userId}
method: post
operationId: v2.classrooms.JoinClassroomSlotWaitlistController_joinClassroomSlotWaitlist
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/classroom-slots/{classroomSlotId}/waitlist/{userId}
method: delete
operationId: v2.classrooms.LeaveClassroomSlotWaitlistController_leaveClassroomSlotWaitlist
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/classroom-slots/{classroomSlotId}/registrations/{userId}
method: post
operationId: v2.classrooms.AddSlotRegistrationController_addSlotRegistration
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/classroom-slots/{classroomSlotId}/registrations
method: get
operationId: v2.classrooms.GetSlotRegistrationsController_getSlotRegistrations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/classroom-slots/{classroomSlotId}/registrations/{slotRegistrationId}
method: patch
operationId: v2.classrooms.UpdateSlotRegistrationController_updateSlotRegistration
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/courses/{courseId}/archive
method: put
operationId: v2.courses.ArchiveOrUnarchiveCourseController_archiveOrUnarchiveCourse
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/courses/elearning-standard
method: post
operationId: v2.courses.CreateELearningStandardCourseController_createELearningStandardCourse
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/courses/generate-from-prompt
method: post
operationId: v2.courses.GenerateFromPromptController_generateFromPrompt
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/courses/stats
method: get
operationId: v2.courses.GetAllCourseStatsController_getAllCourseStats
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/courses/{courseId}
method: get
operationId: v2.courses.GetCourseController_getCourse
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/courses/{courseId}/custom-fields/values
method: get
operationId: v2.courses.GetCourseCustomFieldValuesController_getCourseCustomFieldValues
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/courses/{courseId}/custom-fields/values
method: put
operationId: v2.courses.UpdateCourseCustomFieldValuesController_updateCourseCustomFieldValues
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/courses
method: get
operationId: v2.courses.GetCoursesController_getCourses
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/courses/{courseId}/tags
method: get
operationId: v2.courses.GetCourseTagsController_getTags
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/courses/{courseId}/tags
method: put
operationId: v2.courses.UpdateTagsController_updateTags
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/courses/elearning-standard/{courseId}
method: patch
operationId: v2.courses.UpdateELearningStandardCourseController_updateELearningStandardCourse
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/custom-fields
method: post
operationId: v2.customFields.CreateCustomFieldController_createCustomField
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/custom-fields
method: get
operationId: v2.customFields.GetCustomFieldsController_getCustomFields
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/custom-fields/{customFieldId}
method: delete
operationId: v2.customFields.DeleteCustomFieldController_deleteCustomField
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/custom-fields/{customFieldId}
method: patch
operationId: v2.customFields.UpdateCustomFieldController_updateCustomField
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/custom-fields/{customFieldId}/authorized-values
method: get
operationId: v2.customFields.GetAuthorizedValuesController_getAuthorizedValues
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/custom-fields/{customFieldId}/authorized-values
method: put
operationId: v2.customFields.ReplaceAuthorizedValuesController_replaceAuthorizedValues
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/custom-links
method: post
operationId: v2.customLinks.CreateCustomLinkController_createCustomLink
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/custom-links
method: get
operationId: v2.customLinks.GetCustomLinksByCompanyController_getCustomLinksByCompany
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/custom-links/{customLinkId}
method: delete
operationId: v2.customLinks.DeleteCustomLinkController_deleteCustomLink
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/custom-links/{customLinkId}
method: put
operationId: v2.customLinks.ReplaceCustomLinkController_replaceCustomLink
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/external-ids
method: post
operationId: v2.externalIds.CreateExternalIdController_createExternalId
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/external-ids
method: get
operationId: v2.externalIds.GetExternalIdsController_getExternalIds
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/external-ids/{mappingId}
method: delete
operationId: v2.externalIds.DeleteExternalIdController_deleteExternalId
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/external-ids/{mappingId}
method: put
operationId: v2.externalIds.UpdateExternalIdController_updateExternalId
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/groups/{groupId}/{role}/{userId}
method: post
operationId: v2.groups.AddUserRoleToGroupController_addUserRoleToGroup
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/groups/{groupId}/{role}/{userId}
method: delete
operationId: v2.groups.RemoveUserRoleFromGroupController_removeUserRoleFromGroup
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/groups
method: post
operationId: v2.groups.CreateGroupController_createGroup
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/groups
method: get
operationId: v2.groups.GetGroupsController_getGroups
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/groups/{groupId}
method: delete
operationId: v2.groups.DeleteGroupController_deleteGroup
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/groups/{groupId}
method: get
operationId: v2.groups.GetGroupController_getGroup
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/groups/{groupId}
method: patch
operationId: v2.groups.UpdateGroupController_updateGroup
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v2/groups/{groupId}/roles
method: get
operationId: v2.groups.GetGroupMembersController_getGroupMembers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/groups/{groupId}/catalog/{contentType}-ids
method: get
operationId: v2.groups.GetCatalogContentIdsController_getCatalogContentIds
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/groups/{groupId}/library/{contentType}-ids
method: get
operationId: v2.groups.GetLibraryContentIdsController_getLibraryContentIds
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v2/groups/{groupId}/media
method: post
operationId: v2.groups.UploadGroupMediaController_uploadGroupMedia
x-agentic-access:
action-class:
# --- truncated at 32 KB (60 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/360learning/refs/heads/main/agentic-access/360learning-agentic-access.yml