generated: '2026-07-15' method: generated source: openapi/absentify-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: 40 by_action_class: connected: 17 acting: 23 by_consequence: read: 17 write: 23 human_in_the_loop_required: 0 operations: - path: /members method: get operationId: member-getMembers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /members method: post operationId: member-inviteMember 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: /members/{id} method: get operationId: member-getMemberById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /members/{id} method: put operationId: member-updateMember 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: /members/{id} method: delete operationId: member-deleteMember 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: /members/microsoft/{microsoft_user_id} method: get operationId: member-getMemberByMicrosoftId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /members/email/{email} method: get operationId: member-getMemberByEmail x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /members/custom_id/{custom_id} method: get operationId: member-getMemberByCustomId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /members/{id}/approvers method: put operationId: member-updateMemberApprovers 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: /members/{id}/allowance/{allowance_type_id}/{year} method: put operationId: member-updateMemberAllowance 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: /members/{id}/schedule method: post operationId: member-addMemberSchedule 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: /members/{member_id}/schedule/{id} method: put operationId: member-updateMemberSchedule 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: /members/{id}/representatives method: put operationId: member-updateMemberRepresentatives 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: /members/{id}/representatives method: get operationId: member-getMemberRepresentatives x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /departments method: get operationId: department-getDepartments x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /departments method: post operationId: department-createDepartment 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: /departments/{id} method: get operationId: department-getDepartmentByid x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /departments/{id} method: put operationId: department-updateDepartment 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: /departments/{id} method: delete operationId: department-DeleteDepartmentById 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: /leave_types method: get operationId: leaveTypes-getLeaveTypes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /leave_types method: post operationId: leaveTypes-createLeaveType 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: /leave_types/{id} method: get operationId: leaveTypes-getLeaveTypeById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /leave_types/{id} method: put operationId: leaveTypes-updateLeaveType 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: /leave_types/{id} method: delete operationId: leaveTypes-DeleteLeaveTypeById 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: /leave_types/{id}/restore method: put operationId: leaveTypes-restoreLeaveType 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: /workspace method: get operationId: workspace-getCurrentWorkspace x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /workspace method: put operationId: workspace-updateSettings 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: /public_holidays method: get operationId: publicHolidays-getPublicHolidays x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /public_holidays/{id} method: get operationId: publicHolidays-getPublicHolidayById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /requests method: get operationId: request-getRequests x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /requests method: post operationId: request-createRequest 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: /requests_per_day method: get operationId: request-getRequestsPerDay x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /requests/{id} method: get operationId: request-getRequestById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /requests/recurring method: post operationId: request-createRecurringRequests 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: /requests/{id}/approve method: post operationId: request-approveRequest 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: /requests/{id}/decline method: post operationId: request-declineRequest 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: /requests/{id}/approve_representative method: post operationId: request-approveRequestRepresentative 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: /requests/{id}/decline_representative method: post operationId: request-declineRequestRepresentative 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: /requests/{id}/cancel method: post operationId: request-cancelRequest 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: /absences_per_day method: get operationId: absences-getAbsencesPerDay x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none