generated: '2026-09-05' method: generated source: openapi/30mhz-zensie-openapi.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: 558 by_action_class: connected: 239 acting: 319 by_consequence: read: 239 write: 297 physical: 19 safety-critical: 3 human_in_the_loop_required: 3 operations: - path: /admin/health/api-build-version method: get operationId: getApiBuildVersion x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /admin/health/auth0 method: get operationId: getAuth0Health x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /admin/health/dynamodb method: get operationId: getDynamoDbHealth x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /admin/health/elasticsearch method: get operationId: getElasticsearchHealth x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /admin/health/scheduler method: get operationId: getSchedulerHealth x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /admin/notification-follow/user/{email} method: delete operationId: deleteAllNotificationFollowsOfUser 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: /agent/conversation/{conversationId}/message method: get operationId: getConversationMessages x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /agent/message-stream method: post operationId: sendMessageStream x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /assembly method: post operationId: createAssembly 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: /assembly/{serialNumber} method: get operationId: getAssembly x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /assembly/{serialNumber} method: delete operationId: deleteAssembly 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: /assembly/xbee/{xbee} method: get operationId: getAssemblyByXbee x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /assembly/{serialNumber}/history method: get operationId: getAssemblyHistory x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /assembly/xbee/{xbee}/history method: get operationId: getAssemblyHistoryByXbee x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /assembly-update/{serialNumber} method: post operationId: updateAssembly 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: /authorization/device/jwks method: get operationId: getDevicePublicKey x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /authorization/license/oauth/token method: post operationId: getAccessToken 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: /authorization/role-assignment/assignee/{assignee}/role/{role}/license/{licenseId} method: post operationId: assignRoleOnLicense 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: /authorization/role-assignment/assignee/{assignee}/role/{role}/license/{licenseId} method: delete operationId: unassignRoleOnLicense 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: /authorization/role-assignment/assignee/{assignee}/role/{role}/organization/{organizationId} method: post operationId: assignRoleOnOrganization 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: /authorization/role-assignment/assignee/{assignee}/role/{role}/organization/{organizationId} method: delete operationId: unassignRoleOnOrganization 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: /authorization/role-assignment/assignee/{assignee}/role/{role}/device/{deviceId} method: post operationId: assignRoleOnDevice 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: /authorization/role-assignment/assignee/{assignee}/role/{role}/device/{deviceId} method: delete operationId: unassignRoleOnDevice 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: /authorization/role-assignment/assignee/{assignee}/role/{role}/organization/{organizationId}/site/{siteId} method: post operationId: assignRoleOnSite 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: /authorization/role-assignment/assignee/{assignee}/role/{role}/organization/{organizationId}/site/{siteId} method: delete operationId: unassignRoleOnSite 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: /authorization/check/device/{deviceId} method: get operationId: checkUserAuthorizationOnDevice x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /authorization/check/organization/{organizationId} method: get operationId: checkUserAuthorizationOnOrganization x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /authorization/check/organization/{organizationId}/site/{siteId} method: get operationId: checkUserAuthorizationOnSite x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /authorization/device/{deviceId}/access-token method: get operationId: getDeviceAccessToken x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /authorization/role-assignment method: get operationId: getRoleAssignments x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /authorization/role-assignment/assignee/{assignee}/organization/{organizationId} method: get operationId: getRoleAssignmentsOfUserOnOrganization x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /authorization/role-assignment/assignee/{assignee}/license/{licenseId} method: get operationId: getRoleAssignmentsOfUserUnderLicense x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /authorization/role-assignment/organization/{organizationId} method: get operationId: getRoleAssignmentsOnOrganization x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /authorization/scopes method: get operationId: getScopesAndClaims x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /billing-history-details/{billingHistoryDetailsId} method: get operationId: getBillingHistoryDetailsById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /billing-history-details/organization/{organizationId}/year/{year}/month/{month} method: get operationId: getBillingHistoryDetailsByOrganizationIdAndMonth x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /billing-history-details/organization/{organizationId}/year/{year}/month/{month}/json/{jsonCheck} method: get operationId: getBillingHistoryDetailsChecksJson x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /billing-history-details/organization/{organizationId}/year/{year}/month/{month}/mother method: get operationId: getBillingHistoryDetailsMothersByOrgIdAndMonth x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /billing-history-details-update/organization/{organizationId}/year/{year}/month/{month}/mother/{motherId} method: post operationId: updateBillingHistoryByMother 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: /billing-history-details-update/{billingHistoryDetailsId} method: post operationId: updateBillingHistoryDetails 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: /billing-history/organization/{organizationId}/year/{year}/month/{month} method: get operationId: getBillingHistoryByOrganizationIdAndMonth x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /billing-history/organization/{organizationId}/year/{year}/month/{month} method: delete operationId: deleteBillingHistoryByOrganizationAndMonth 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: /billing-history/organization/{organizationId} method: get operationId: getBillingHistoryByOrganizationId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /billing-history/organization/{organizationId}/forecast method: post operationId: getBillingHistoryForecastForCurrentMonth 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: /billing-history/all-organizations/year/{year}/month/{month} method: get operationId: getBillingHistoryOrganisationsByMonth x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /billing-history/all-organizations method: get operationId: getBillingHistoryOrganisationsCurrentMonth x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /billing-history/all-organizations method: post operationId: createSqsBillingHistoryRequest 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: /billing-history method: post operationId: createSqsBillingHistoryRequestForOrganization 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: /billing-history-update/organization/{organizationId}/year/{year}/month/{month} method: post operationId: updateBillingHistory 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: /chart/scatterplot method: post operationId: getScatterplot 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: /chart/cultivation-target method: post operationId: getCultivationTargetSeriesById 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: /check/{checkId} method: get operationId: getCheck x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /check/{checkId} method: delete operationId: removeCheck 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: /check/sensor/default method: get operationId: getDefaultSensorCheck x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /check/organization/{organizationId}/clone/check/{checkId} method: post operationId: cloneCheck 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: /check/organization/{organizationId} method: get operationId: getOrganizationChecks x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /check/organization/{organizationId} method: post operationId: createWebcheck 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: /check/gateway-cluster/{gatewayClusterId} method: get operationId: getGatewayClusterSensors x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /check/gateway/{gatewayId} method: get operationId: getGatewaySensors x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /check/delete-batch method: post operationId: removeChecks 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: /check/default method: get operationId: getDefaultCheck x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /check-update/{checkId}/new-organization/{newOrganizationId} method: post operationId: transferCheckOrganization x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /check-update/{checkId}/new-owner/{newOwner} method: post operationId: transferCheckOwnership x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /check-update/transfer method: post operationId: transferChecks x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /check-update/{checkId} method: post operationId: updateCheck 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: /check-update method: post operationId: updateChecks 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: /comment/{commentId} method: get operationId: getComment x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /comment/{commentId} method: delete operationId: deleteComment 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: /comment method: post operationId: createComment 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: /comment/reply/{commentId} method: post operationId: createReply 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: /comment/interval method: get operationId: getCommentsByInterval x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /comment/timeinterval method: get operationId: getCommentsByTimeInterval x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /comment/feed/group/{groupId} method: get operationId: getCommentsFeedForGroup x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /comment/feed/organization/{organizationId} method: get operationId: getCommentsFeedForOrganization x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /comment/interval/{interval} method: post operationId: getCommentsForInterval 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: /comment/from/{startDate}/until/{endDate} method: post operationId: getCommentsForTimeInterval 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: /comment/paginated-feed/group/{groupId} method: get operationId: getPaginatedCommentsFeedForGroup x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /comment/paginated-feed/organization/{organizationId} method: get operationId: getPaginatedCommentsFeedForOrganization x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /comment/search method: post operationId: searchForComments 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: /comment-update/{commentId} method: post operationId: updateComment 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: /comment-update/reply/{commentId} method: post operationId: commentReplyUpdate 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: /company-details/{companyDetailsId} method: delete operationId: deleteCompanyDetails 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: /company-details/organization/{organizationId} method: get operationId: getCompanyDetailsByOrganizationId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /company-details/organization/{organizationId} method: post operationId: createCompanyDetails 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: /company-details-update/{companyDetailsId} method: post operationId: updateCompanyDetails 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: /crop method: get operationId: getPublicCrops x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /crop method: post operationId: createCrop 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: /crop/{cropId} method: get operationId: getCropById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /crop/{cropId} method: put operationId: putCrop 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: /crop/{cropId} method: delete operationId: deleteCrop 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: /crop/{cropId} method: patch operationId: patchCrop 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: /crop/organization/{organizationId} method: get operationId: getCropsForOrganization x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /currency-rates method: post operationId: addCurrencyRates 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: /currency method: get operationId: getCurrencies x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /currency method: post operationId: createCurrency 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: /currency/{currencyId} method: delete operationId: deleteCurrency 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: /registration/{registrationId}/activate method: get operationId: activateRegistration x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /registration/{registrationId} method: delete operationId: removeRegistration 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: /registration method: post operationId: createRegistration 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: /dashboard/organization/{organizationId} method: get operationId: getDashboards x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /dashboard/organization/{organizationId} method: post operationId: createDashboard 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: /dashboard/clone/{dashboardId}/group/{groupId} method: post operationId: cloneDashboardToGroup 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: /dashboard/organization/{organizationId}/diagnostics method: post operationId: createDiagnosticsDashboard 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: /dashboard/group/{groupId} method: get operationId: getDashboardsInGroup x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /dashboard/group/{groupId} method: post operationId: createGroupDashboard 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: /dashboard/{dashboardId} method: get operationId: getDashboardById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /dashboard/{dashboardId} method: delete operationId: removeDashboard 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: /dashboard-theme/{dashboardThemeId}/group/{groupId} method: post operationId: assignDashboardThemeToGroup 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: /dashboard-theme/{dashboardThemeId}/group/{groupId} method: delete operationId: removeDashboardThemeFromGroup 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: /dashboard-theme/{dashboardThemeId}/organization/{organizationId} method: post operationId: assignDashboardThemeToOrganization 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: /dashboard-theme/{dashboardThemeId}/organization/{organizationId} method: delete operationId: removeDashboardThemeFromOrganization 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: /dashboard-theme method: post operationId: createDashboardTheme 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: /dashboard-theme/{dashboardThemeId} method: get operationId: getDashboardTheme x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /dashboard-theme/{dashboardThemeId} method: delete operationId: deleteDashboardTheme 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: /dashboard-theme/user/{email} method: get operationId: getDashboardThemesForUser x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /dashboard-theme-update/{dashboardThemeId} method: post operationId: updateDashboardTheme 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: /dashboard-update/organization/{organizationId}/dashboard/{dashboardId} method: post operationId: updateDashboard 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: /dashboard-update/organization/{organizationId}/dashboard/{dashboardId}/reorder method: post operationId: reorderWidgetsInDashboard x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /dashboard-update/group/{groupId}/dashboard/{dashboardId}/reorder method: post operationId: reorderWidgetsInGroupDashboard x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /dashboard-update/group/{groupId}/dashboard/{dashboardId} method: post operationId: updateGroupDashboard 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: /data-export method: post operationId: createDataExport 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: /data-export/{dataExportId}/organization/{organizationId} method: get operationId: getDataExport x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data-export/{dataExportId}/organization/{organizationId} method: delete operationId: deleteDataExport 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: /data-export/organization/{organizationId} method: get operationId: getDataExportForOrganization x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data-export/count method: post operationId: getDataExportRowsCount 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: /data/sensors method: post operationId: getDataForSensors 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: /data-source-coordinates method: post operationId: createDataSourceCoordinates 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: /data-source-coordinates/{dataSourceId}/timestamp/{timestamp} method: get operationId: getCoordinatesForDataSourceIdAtDate x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data-source-coordinates/{dataSourceId}/timestamp/{timestamp} method: put operationId: putDataSourceCoordinates 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: /data-source-coordinates/{dataSourceId}/timestamp/{timestamp} method: delete operationId: deleteDataSourceCoordinates 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: /data-source-coordinates/{dataSourceId}/timestamp/{timestamp} method: patch operationId: patchDataSourceCoordinates 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: /data-source-coordinates/{dataSourceId} method: get operationId: getCoordinatesByDataSourceId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data-source/bulk-edit method: patch operationId: bulkEditDataSources 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: /data-upload/{dataUploadId} method: get operationId: getDataUploadById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data-upload/{dataUploadId} method: delete operationId: deleteData 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: /data-upload/organization/{organizationId} method: post operationId: uploadData 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: /data-upload/group/{groupId} method: post operationId: uploadDataToGroup 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: /device/{deviceId} method: get operationId: getDeviceById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /device/{deviceId} method: put operationId: putDevice 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: /device/{deviceId} method: delete operationId: deleteDevice 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: /device/{deviceId} method: patch operationId: patchDevice 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: /device method: get operationId: getAllDevices x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /device method: post operationId: createDevice 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: /device/organization/{organizationId} method: get operationId: getDevicesByOrganizationId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /device/organization/{organizationId}/site/{siteId} method: get operationId: getDevicesBySiteId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /device/site/{siteUuid} method: get operationId: getDevicesBySiteUuid x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /export-partner-job method: post operationId: createExportPartnerJob 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: /export-partner-job/{jobId}/organization/{organizationId} method: get operationId: getExportPartnerJob x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /export-partner-job/{jobId}/organization/{organizationId} method: delete operationId: removeExportPartnerJob 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: /export-partner-job/organization/{organizationId} method: get operationId: getExportPartnerJobsForOrganization x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /export-partner-job/organization/{organizationId} method: post operationId: getJobsForOrganizationIdExportPartnerIdFrequencyAndActive 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: /export-partner-job-update/{jobId}/organization/{organizationId} method: post operationId: updateExportPartnerJob 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: /export-partner/organization/{organizationId} method: get operationId: getExportPartners x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /export-partner/organization/{organizationId} method: post operationId: createExportPartner 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: /export-partner/{exportPartnerId}/organization/{organizationId} method: get operationId: getExportPartner x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /export-partner/{exportPartnerId}/organization/{organizationId} method: delete operationId: removeExportPartner 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: /export-partner-update/{exportPartnerId}/organization/{organizationId} method: post operationId: updateExportPartner 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: /gateway-cluster/{gatewayClusterId}/migrate/{gatewayId} method: post operationId: assignSensorsOfClusterToGateway 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: /gateway-cluster method: post operationId: createGatewayCluster 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: /gateway-cluster/{gatewayClusterId} method: get operationId: getGatewayClusterById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /gateway-cluster/{gatewayClusterId} method: delete operationId: removeGatewayCluster 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: /gateway-cluster/organization/{organizationId} method: get operationId: getGatewayClusterByOrganization x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /gateway-cluster/with-secrets/{gatewayClusterId} method: get operationId: getGatewayClusterWithSecretsById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /gateway method: post operationId: createGateway 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: /gateway/{gatewayId} method: get operationId: getGatewayById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /gateway/{gatewayId} method: delete operationId: removeGateway 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: /gateway/status/{gatewayIds} method: get operationId: getStatusForGateways x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /gateway-update/{gatewayId} method: post operationId: updateGateway 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: /util/contact method: post operationId: sendContactMessage x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /util/countries method: get operationId: obtainCountries x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /util/whitelist-ips method: get operationId: obtainWhiteListAWSIPs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /group-member/group/{groupId} method: get operationId: listUsersInGroup x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /group-member/{email}/group/{groupId} method: post operationId: addUserToGroup 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: /group-member/{email}/group/{groupId} method: delete operationId: removeUserFromGroup 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: /group-member-update/{email}/group/{groupId} method: post operationId: updateUserInAGroup 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: /group method: post operationId: createGroup 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: /group/{groupId} method: get operationId: getGroup x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /group/{groupId} method: delete operationId: deleteGroup 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: /group/member/{email} method: get operationId: viewUsersGroups x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /group-update/{groupId} method: post operationId: updateGroup 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: /health method: get operationId: health x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /highlight method: get operationId: getAllHighlights x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /highlight method: post operationId: createHighlight 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: /highlight/{publishedAt} method: get operationId: getHighlightByPublishedAt x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /highlight/{publishedAt} method: put operationId: putHighlight 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: /highlight/{publishedAt} method: delete operationId: deleteHighlight 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: /highlight/{publishedAt} method: patch operationId: patchHighlight 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: /highlight/last method: get operationId: getLastHighlight x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /import-check/date-entry/{dateEntryId} method: delete operationId: deleteCheckDateEntry 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: /import-check/{checkId} method: get operationId: getImportCheck x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /import-check/{checkId} method: delete operationId: deleteImportCheck 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: /import-check/{checkId}/collection/{collectionId} method: delete operationId: deleteImportCheckCollection 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: /import-check/{checkId}/manual-input-data/{rowId} method: delete operationId: deleteManualInputRowById 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: /import-check/organization/{organizationId} method: get operationId: getAllByOrganizationId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /import-check/organization/{organizationId} method: post operationId: createImportCheck 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: /import-check/{checkId}/date-entry method: get operationId: getDateEntriesForImportCheck x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /import-check/{checkId}/date-entry method: post operationId: addImportCheckDateEntry 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: /import-check/{checkId}/collection/{collectionId}/stats method: get operationId: getImportCheckCollectionValues x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /import-check/date-entry/{dateEntryId}/stats method: get operationId: getImportCheckDateEntryValues x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /import-check/{check-id}/manual-input-data method: get operationId: getManualInputDataForCheck x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /import-check/{checkId}/date-entries method: post operationId: addDateEntries 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: /import-check/{checkId}/collection method: post operationId: addImportCheckCollections 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: /import-check/copy/{checkId}/organization/{destinationOrganizationId} method: post operationId: copyImportCheckIntoOrganization 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: /import-check-update/{checkId}/collection/{collectionId} method: post operationId: updateCollection 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: /import-check-update/{checkId}/collection/reorder method: post operationId: updateCollectionOrder x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /import-check-update/date-entry/{dateEntryId} method: post operationId: updateDateEntry 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: /import-check-update/{checkId} method: post operationId: updateImportCheck 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: /ingest/manual-input-delete method: post operationId: deleteDataManualImportChecks 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: /ingest/organization/{organizationId}/import-check/{importCheckId}/example-call method: get operationId: getIngestImportCheckTemplate x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ingest/organization/{organizationId} method: post operationId: ingestImportChecks 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: /ingest/manual-input-update method: post operationId: updateManualImportChecks 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: /ingest/manual-input-update/{id} method: post operationId: updateManualImportChecksWithId 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: /ingest-update/import-check/{importCheckId}/timestamp/{timestamp} method: post operationId: updateImportCheckEvent 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: /integration/activate/{integrationId} method: post operationId: activateIntegration 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: /integration/deactivate/{integrationId}/installation/{installationId} method: post operationId: deactivateIntegration 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: /integrity-check/unique-mother-assignment method: get operationId: uniqueMother x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /integrity-check/location-mothers-exist method: get operationId: motherIdsInLocationsExist x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /integrity-check/sensor-location-mother method: get operationId: sensorLocationHasMother x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /license/{licenseId}/{organizationId} method: post operationId: createOrganizationLicense 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: /license/{licenseId}/{organizationId} method: delete operationId: deleteOrganizationLicense 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: /license/{licenseId} method: get operationId: getLicenseById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /license/{licenseId} method: put operationId: putLicense 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: /license/{licenseId} method: delete operationId: deleteLicense 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: /license/{licenseId} method: patch operationId: patchLicense 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: /license method: get operationId: getAllLicenses x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /license method: post operationId: createLicense 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: /license/{licenseId}/organizations method: get operationId: getOrganizationsByLicenseId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /location/{locationName} method: get operationId: getLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /location/{locationName} method: delete operationId: deleteLocation 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: /location method: post operationId: createLocation 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: /location/private method: get operationId: getAllPrivateLocations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /location/organization/{organizationId} method: get operationId: getPrivateLocationsForOrganization x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /location/public method: get operationId: getPublicLocations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /location-update/organization/{organizationId}/location/{locationId} method: post operationId: updateSite 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: /location-update/{locationName} method: post operationId: updateLocation 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: /map method: put operationId: putMap 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: /map method: patch operationId: patchMap 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: /metric/{metricId} method: get operationId: getMetric x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /metric/{metricId} method: delete operationId: deleteMetric 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: /metric method: get operationId: getAllMetrics x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /metric method: post operationId: createMetric 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: /metric/conversions method: get operationId: getConversions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /metric-update/{metricId} method: post operationId: updateMetric 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: /mother method: get operationId: getAllMothers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /mother method: post operationId: addMother 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: /mother/{motherId}/organization/{organizationId}/admin method: get operationId: getMotherAdminById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /mother/{motherId}/organization/{organizationId} method: get operationId: getMotherById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /mother/{motherId}/json method: get operationId: getMotherJsonVariable x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /mother/{motherId}/organization/{organizationId}/status method: get operationId: getMotherStatusById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /mother/organization/{organizationId} method: get operationId: getMothersByOrganizationId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /mother/{motherId} method: delete operationId: removeMother 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: /mother-template method: get operationId: getAllMotherTemplates x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /mother-template method: post operationId: addMotherTemplate 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: /mother-template/{templateId} method: get operationId: getMotherTemplateById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /mother-template/{templateId} method: delete operationId: removeMotherTemplate 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: /mother-template-update/{templateId} method: post operationId: updateMotherTemplate 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: /mother-update/{motherId} method: post operationId: updateMother 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: /news method: get operationId: getLastNewsArticles x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /notes method: post operationId: createNote 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: /notes/{noteId} method: get operationId: getNoteById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /notes/{noteId} method: put operationId: putNote 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: /notes/{noteId} method: delete operationId: deleteNote 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: /notes/{noteId} method: patch operationId: patchNote 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: /notes/cultivation/{cultivationId} method: get operationId: getNotesByCultivationId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /notification-follow/{notificationId}/user/{email} method: post operationId: createNotificationFollow 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: /notification-follow/{notificationId}/user/{email} method: delete operationId: deleteNotificationOfUser 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: /notification-follow/organization/{organizationId}/user/{email} method: get operationId: getNotificationFollow x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /notification-follow/organization/{organizationId}/count method: post operationId: getNotificationFollowCount 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: /notification-follow/{notificationId} method: get operationId: getNotificationFollowers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /notification-follow-update/{notificationId}/user/{email} method: post operationId: updateNotificationFollow 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: /notification method: post operationId: createNotification 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: /notification/{notificationId} method: get operationId: getNotification x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /notification/{notificationId} method: put operationId: putNotification 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: /notification/{notificationId} method: delete operationId: deleteNotification 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: /notification/{notificationId} method: patch operationId: patchNotification 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: /notification/organization/{organizationId} method: get operationId: getNotificationsInOrganization x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /notification/organization/{organizationId} method: post operationId: createNotificationInOrganization 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: /notification/check/{checkId} method: get operationId: getCheckNotifications x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /notification-settings/check/{checkId}/user/{email} method: post operationId: addNotificationSetting 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: /notification-settings/check/{checkId}/user/{email} method: delete operationId: deleteNotificationSetting 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: /notification-settings/check/{checkId} method: get operationId: obtainAllNotificationSettingsForACheck x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /notification-settings/organization/{organizationId}/user/{email} method: get operationId: obtainAllNotificationSettingsForOrganizationAndUser x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /notification-settings-update/check/{checkId}/user/{email} method: post operationId: updateNotificationSetting 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: /notification-topic-follow/{notificationTopicId}/user/{email}/organization/{organizationId} method: post operationId: createNotificationTopicFollow 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: /notification-topic-follow/{notificationTopicId}/user/{email}/organization/{organizationId} method: delete operationId: deleteNotificationTopicFollow 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: /notification-topic-follow/organization/{organizationId}/user/{email} method: get operationId: getNotificationTopicFollow x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /notification-topic-follow/organization/{organizationId}/count method: post operationId: getNotificationTopicFollowCount 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: /notification-topic-follow/{notificationTopicId}/organization/{organizationId} method: get operationId: getNotificationTopicFollowers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /notification-topic-follow-update/{notificationTopicId}/user/{email}/organization/{organizationId} method: post operationId: updateNotificationTopicFollow 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: /notification-topic method: get operationId: getNotificationTopics x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /notification-topic method: post operationId: createNotificationTopic 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: /notification-topic/{notificationTopicId} method: get operationId: getNotificationTopic x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /notification-topic/{notificationTopicId} method: delete operationId: deleteNotificationTopic 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: /notification-topic-update/{notificationTopicId} method: post operationId: updateNotificationTopic 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: /notification-update/{notificationId} method: post operationId: updateNotification 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: /offer/{offerId} method: put operationId: putOffer 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: /offer/{offerId} method: delete operationId: deleteOffer 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: /offer/{offerId} method: patch operationId: patchOffer 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: /offer method: post operationId: postOffer 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: /organization/{organizationId} method: get operationId: getOrganization x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /organization/{organizationId} method: delete operationId: deleteOrganization 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: /organization method: get operationId: obtainAllOrganizations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /organization method: post operationId: createOrganization 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: /organization/{organizationId}/site/{siteId} method: get operationId: getSite x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /organization/{organizationId}/site/{siteId} method: patch operationId: updateSite_1 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: /organization/{organizationId}/location/{locationId}/activate method: post operationId: activateLocation 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: /organization/{organizationId}/site/{siteId}/activate method: post operationId: activateSite 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: /organization/{organizationId}/user/{email} method: post operationId: addMember 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: /organization/{organizationId}/user/{email} method: put operationId: modifyOrganizationMembership x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /organization/{organizationId}/user/{email} method: delete operationId: deleteOrganizationMembership x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /organization/{organizationId}/location/{locationId}/deactivate method: post operationId: deactivateLocation 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: /organization/{organizationId}/site/{siteId}/deactivate method: post operationId: deactivateSite 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: /organization/{organizationId}/location/{locationId} method: delete operationId: deleteSubscriptionLocation 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: /organization/user/{notUsed} method: get operationId: getOrganizationForCurrentUserLegacy x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /organization/user/email/{email} method: get operationId: getOrganizations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /organization/user method: get operationId: getOrganizations_1 x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /organization/billable method: get operationId: obtainAllBillableOrganizations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /organization/{organizationId}/location method: post operationId: requestLocation 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: /organization/{organizationId}/site method: post operationId: requestSite 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: /organization-update/{organizationId} method: post operationId: updateOrganization 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: /organization-update/{organizationId}/user/{email} method: post operationId: updateOrganizationMembership x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /partner method: post operationId: createPartner 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: /partner/{partnerId} method: put operationId: updatePartner 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: /partner/{partnerId} method: delete operationId: removePartner 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: /pricing/default/{currencyId} method: post operationId: addDefaultPricingForCurrency 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: /pricing method: post operationId: addPricingToOrganization 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: /pricing/organization/{organizationId} method: get operationId: getPricingByOrganizationId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /pricing/organization/{organizationId}/year/{year}/month/{month} method: get operationId: getPricingByOrganizationIdByYearAndMonth x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /pricing-update/organization/{organizationId} method: post operationId: updatePricing 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: /product method: get operationId: getAllProducts x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /product method: post operationId: createProduct 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: /product/{productId} method: get operationId: getProduct x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /product/{productId} method: delete operationId: deleteProduct 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: /product-update/{productId} method: post operationId: updateProduct 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: /sensor/{sensorId} method: post operationId: createSensor 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: /sensor/organization/{organizationId}/location/{locationName}/{sensorId} method: post operationId: createSensorForOrganization 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: /sensor/{checkId}/voltage method: get operationId: getVoltage x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sensor-type/{sensorTypeId} method: get operationId: getSensorType x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sensor-type/{sensorTypeId} method: post operationId: createSensorType 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: /sensor-type/{sensorTypeId} method: delete operationId: deleteSensorType 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: /sensor-type/external/organization/{organizationId} method: get operationId: getAllExternalSensorTypesByOrganization x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sensor-type/organization/{organizationId}/location/{locationName} method: get operationId: getAllInternalSensorTypesByOrganizationAndLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sensor-type/organization/{organizationId} method: get operationId: getAllPrivateSensorTypes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sensor-type/organization/{organizationId} method: post operationId: createPrivateSensorType 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: /sensor-type method: get operationId: getAllPublicSensorTypes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sensor-type/all method: get operationId: getAllSensorTypes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sensor-type/user/{email} method: get operationId: getAllUserHasAccessTo x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sensor-type/external/{sensorTypeId} method: get operationId: getExternalSensorDataTemplate x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sensor-type-update/{sensorTypeId} method: post operationId: updateSensorType 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: /shared-check method: post operationId: createSharedCheck 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: /shared-check/{sharedCheckId} method: get operationId: getSharedCheck x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shared-check/{sharedCheckId} method: delete operationId: deleteSharedCheck 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: /shared-check/from/organization/{organizationId} method: get operationId: getChecksFromOrganizationThatHaveBeenShared x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shared-check/by/{by} method: get operationId: getChecksSharedByUser x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shared-check/with/{with} method: get operationId: getChecksSharedWithUser x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shared-check/check/{checkId} method: get operationId: listSharedCheckDetails x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shared-check/check/{checkId} method: delete operationId: turnSharingOff 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: /shared-check/with-group/{groupId} method: get operationId: viewSensors x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shared-dashboard method: post operationId: createSharedDashboard 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: /shared-dashboard/{sharedDashboardId} method: get operationId: getSharedDashboard x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shared-dashboard/{sharedDashboardId} method: delete operationId: deleteSharedDashboard 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: /shared-dashboard/from/organization/{organizationId} method: get operationId: getDashboardsFromOrganizationThatHaveBeenShared x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shared-dashboard/by/{by} method: get operationId: getDashboardsSharedByUser x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shared-dashboard/with/{with} method: get operationId: getDashboardsSharedWithUser x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shared-dashboard/dashboard/{dashboardId} method: get operationId: listSharedDashboardDetails x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shared-dashboard/dashboard/{dashboardId} method: delete operationId: turnSharingOffForDashboard 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: /shared-dashboard-update/{sharedDashboardId} method: post operationId: updateSharedDashboard 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: /share-sensor-type/shared-by/organization/{organizationId} method: get operationId: getSharedByOrganization x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /share-sensor-type/{sensorTypeId}/shared-with method: get operationId: getSharedSensorTypeSharedWith x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /share-sensor-type/sensor-type/{sensorTypeId}/group/{groupId} method: post operationId: shareSensorTypeWithGroup 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: /share-sensor-type/sensor-type/{sensorTypeId}/organization/{organizationId} method: post operationId: shareSensorTypeWithOrganization 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: /share-sensor-type/sensor-type/{sensorTypeId}/user/{email} method: post operationId: shareSensorTypeWithUser 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: /share-sensor-type/group/{groupId} method: get operationId: sharedSensorTypesWithGroup x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /share-sensor-type/organization/{organizationId} method: get operationId: sharedSensorTypesWithOrganization x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /share-sensor-type/user/{email} method: get operationId: sharedSensorTypesWithUser x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /share-sensor-type/{sharedSensorTypeId} method: delete operationId: unshareSensorType 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: /site method: get operationId: getAllPermittedSites x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /site/organization/{organizationId}/site/{siteId}/data-sources method: get operationId: getDataSourcesBySite x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /site/{siteUuid} method: get operationId: getSiteByUuid x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /soil method: get operationId: getPublicSoils x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /soil method: post operationId: createSoil 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: /soil/{soilId} method: get operationId: getSoilById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /soil/{soilId} method: put operationId: putSoil 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: /soil/{soilId} method: delete operationId: deleteSoil 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: /soil/{soilId} method: patch operationId: patchSoil 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: /soil/organization/{organizationId} method: get operationId: getSoilsForOrganization x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /subscription-assignment method: get operationId: getAllSubscriptionAssignments x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /subscription-assignment method: post operationId: createSubscriptionAssignment 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: /subscription-assignment/license/{licenseId}/subscription/{subscriptionId}/organization/{organizationId} method: delete operationId: deleteSubscriptionAssignment 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: /subscription-assignment/organization/{organizationId} method: get operationId: getSubscriptionAssignmentForOrganization x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /subscription method: get operationId: getAllSubscriptions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /subscription method: post operationId: createSubscription 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: /subscription/{subscriptionId}/license/{licenseId} method: get operationId: getSubscriptionById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /subscription/{subscriptionId}/license/{licenseId} method: put operationId: putSubscription 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: /subscription/{subscriptionId}/license/{licenseId} method: delete operationId: deleteSubscription 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: /subscription/{subscriptionId}/license/{licenseId} method: patch operationId: patchSubscription 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: /subscription/license/{licenseId} method: get operationId: getSubscriptionsByLicenseId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /swagger/integrate.json method: get operationId: getCropSpaceFilteredJson x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /swagger/integrate method: get operationId: getCropSpaceFilteredSwagger x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /swagger/robocrops method: get operationId: getRobocropsAPIDefinition x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /swagger/robocrops.json method: get operationId: getRobocropsAPIJson x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /timezone method: get operationId: getTimezones x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /user/{email}/config method: get operationId: getAllConfigsForUser x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /user/{email}/config method: post operationId: createUserConfig 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: /user/{email}/config/{configKey} method: get operationId: getUserConfigForUser x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /user/{email}/config/{configKey} method: put operationId: putUserConfig 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: /user/{email}/config/{configKey} method: delete operationId: deleteUserConfig 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: /user/{email}/config/{configKey} method: patch operationId: patchUserConfig 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: /user method: get operationId: getUser x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /user/sign-up method: post operationId: signUp 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: /user/change-password/{email}/{authorizationCode} method: post operationId: changePassword 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: /user/all method: get operationId: getAllUsers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /user/register/user/{email} method: post operationId: registerUser 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: /user/activate/user/{email} method: post operationId: activateUser 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: /user/account-managers method: get operationId: getAllAccountManagers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /user/organization-member/organization/{organizationId} method: get operationId: getOrganizationMemberships x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /user/organization/{organizationId} method: get operationId: getOrganizationUsers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /user/{email} method: get operationId: getUserByEmail x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /user/{email} method: delete operationId: removeUser 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: /user/has-api-key method: get operationId: hasAPIKey x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /user/invite/organization/{organizationId}/role/{role} method: post operationId: invite 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: /user/invite method: post operationId: inviteUser 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: /user/api-key/request method: post operationId: requestAPIKey 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: /user/api-key/request-with-password method: post operationId: requestAPIKeyWithUsernameAndPassword 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: /user/change-password/{email} method: get operationId: requestChangePassword x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /user/api-key method: delete operationId: revokeAPIKey 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: /user/{email}/api-key method: delete operationId: revokeAPIKeyForUser 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: /user-update/{email} method: post operationId: updateUser 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: /user-update/{email}/favoritePage method: post operationId: addFavoritePage 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: /user-update/{email}/favoritePage method: delete operationId: removeFavoritePage 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: /widget/dashboard/{dashboardId} method: get operationId: listWidgets x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /widget/dashboard/{dashboardId} method: post operationId: createWidgets 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: /widget/{widgetId} method: get operationId: getWidget x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /widget/{widgetId} method: delete operationId: deleteWidget 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: /widget/clone/{widgetId} method: post operationId: cloneWidgetInDashboard 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: /widget/organization/{organizationId} method: post operationId: createOrganizationWidgets 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: /widget-update/{widgetId} method: post operationId: updateWidget 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: /zone/organization/{organizationId}/site/{siteId}/zone/{zoneId} method: put operationId: putZone 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: /zone/organization/{organizationId}/site/{siteId}/zone/{zoneId} method: delete operationId: deleteZone 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: /zone/organization/{organizationId}/site/{siteId}/zone/{zoneId} method: patch operationId: patchZone 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: /zone/organization/{organizationId}/site/{siteId} method: post operationId: createZone 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: /app-installation/{installationId}/activate method: post operationId: activateAppInstallation 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: /app-installation/{installationId}/deactivate method: post operationId: deactivateAppInstallation 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: /app-installation/{installationId}/configuration/{configKey} method: put operationId: putDynamicConfiguration 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: /app-installation/{installationId}/configuration/{configKey} method: delete operationId: deleteAppConfiguration 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: /app-installation/{installationId}/configuration/{configKey} method: patch operationId: patchDynamicConfiguration 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: /app-installation/{installationId} method: get operationId: getAppInstallation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /app-installation/{installationId} method: delete operationId: uninstallApp 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: /app-installation/{installationId}/configuration method: get operationId: getAppInstallationConfiguration x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /app-installation/{installationId}/configuration/{date} method: get operationId: getAppInstallationConfigurationAtDate x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /app-installation/{installationId}/configuration/prefix/{prefix} method: get operationId: getAppInstallationConfigurationWithPrefix x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /app-installation/organization/{organizationId} method: get operationId: getAppInstallations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /app-installation/app/{appId} method: get operationId: getAppInstallationsForApp x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /app-installation/organization/{organizationId}/location/{locationId}/app/{appId} method: post operationId: installApp 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: /app-installation-update/{installationId} method: post operationId: updateAppInstallation 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: /app/{appId} method: get operationId: getAppById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /app/{appId} method: delete operationId: deleteApp 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: /app method: get operationId: getPublishedExtensions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /app method: post operationId: createApp 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: /app/all method: get operationId: getAllApps x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /app/installable method: get operationId: getInstallableExtensions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /app/{appId}/publish method: post operationId: publishApp 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: /app/{appId}/submit method: post operationId: submitApp 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: /app/{appId}/logo method: post operationId: uploadLogoForApp 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: /app-update/{appId}/logo method: post operationId: updateLogoForExtension 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: /app-update/{appId}/properties method: put operationId: updateAppProperties 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: /app-update/{installableId} method: post operationId: updateInstallable 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: /calculation/{calculationId} method: get operationId: getCalculation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /calculation/{calculationId} method: post operationId: calculate 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: /calculation/{calculationId} method: delete operationId: deleteCalculation 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: /calculation method: post operationId: createCalculation 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: /calculation-update/{calculationId} method: post operationId: updateAppConfiguration 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: /app/cultiwatch/drop method: post operationId: getDrop 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: /app/cultiwatch/drop/interval/{interval} method: post operationId: getDropByInterval 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: /app/irrigation/trigger-sensor-aggregation method: post operationId: triggerSensorAggregation 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: /customer-request-item/{customerRequestItemId} method: get operationId: getCustomerRequestItemById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /customer-request-item/{customerRequestItemId} method: delete operationId: removeQuote 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: /customer-request-item method: post operationId: addCustomerRequestItem 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: /customer-request-item-update method: post operationId: updateCustomerRequestItem 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: /customer-request method: post operationId: addCustomerRequest 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: /customer-request/{customerRequestId} method: get operationId: getCustomerRequestById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /customer-request/{customerRequestId} method: delete operationId: removeCustomerRequest 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: /customer-request/organization/{organizationId} method: get operationId: getCustomerRequestsByOrganizationId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /customer-request-update/{customerRequestId} method: post operationId: updateCustomerRequest 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: /dealer method: get operationId: getDealers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /dealer method: post operationId: addDealer 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: /dealer/{email} method: get operationId: getDealer x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /dealer/{email} method: delete operationId: deleteDealer 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: /dealer-update/{email} method: post operationId: updateDealer 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: /invoice method: get operationId: getAllInvoices x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /invoice method: post operationId: addInvoice x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /invoice/{invoiceId} method: get operationId: getInvoiceById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /invoice/{invoiceId} method: delete operationId: deleteInvoiceById x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /invoice/customer-request/{customerRequestId} method: get operationId: getInvoiceByCustomerRequestId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /invoice-update/{invoiceId} method: post operationId: updateInvoice x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /order/{orderId}/invoice method: post operationId: createInvoiceFromOrder x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /order method: get operationId: getAllOrders x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /order method: post operationId: addOrder x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /order/{orderId} method: get operationId: getOrderById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /order/{orderId} method: delete operationId: deleteOrderById x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /order/customer-request/{customerRequestId} method: get operationId: getOrderByCustomerRequestId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /order-update/{orderId} method: post operationId: updateOrder x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /quote method: get operationId: getAllQuotes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /quote method: post operationId: addQuote 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: /quote/{quoteId}/order method: post operationId: createOrderFromQuote x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /quote/{quoteId} method: get operationId: getQuoteById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /quote/{quoteId} method: delete operationId: deleteQuoteById 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: /quote-update/{quoteId} method: post operationId: updateQuote 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: /cultivation method: get operationId: getAllCultivations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /cultivation method: post operationId: createCultivation 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: /cultivation/organization/{organizationId}/cultivation/{cultivationId} method: get operationId: getCultivationById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /cultivation/organization/{organizationId}/cultivation/{cultivationId} method: put operationId: putCultivation 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: /cultivation/organization/{organizationId}/cultivation/{cultivationId} method: delete operationId: deleteCultivation 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: /cultivation/organization/{organizationId}/cultivation/{cultivationId} method: patch operationId: patchCultivation 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: /cultivation/organization/{organizationId} method: get operationId: getCultivationsByOrganization x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /cultivation/organization/{organizationId}/cultivation/{cultivationId}/passport-image method: post operationId: uploadCultivationFile 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: /cultivation-target/organization/{organizationId}/cultivation/{cultivationId} method: get operationId: getTargetsForCultivation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /cultivation-target/organization/{organizationId}/cultivation/{cultivationId}/target/{cultivationTargetId} method: get operationId: getCultivationTargetById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /cultivation-target/organization/{organizationId}/cultivation/{cultivationId}/target/{cultivationTargetId} method: put operationId: putCultivationTarget 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: /cultivation-target/organization/{organizationId}/cultivation/{cultivationId}/target/{cultivationTargetId} method: delete operationId: deleteCultivationTarget 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: /cultivation-target/organization/{organizationId}/cultivation/{cultivationId}/target/{cultivationTargetId} method: patch operationId: patchCultivationTarget 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: /cultivation-target method: get operationId: getAllCultivationTargets x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /cultivation-target method: post operationId: createCultivationTarget 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: /downtime/{checkId}/interval/{interval} method: get operationId: getCheckCurrentDowntime x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /downtime/{checkId}/{period} method: get operationId: getCheckCurrentDowntimeInfo x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /downtime/{checkId}/from/{startDate}/until/{endDate} method: get operationId: getDowntimeInfoByPeriod x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /stats/aggregate method: post operationId: aggregate 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: /stats/condition/{checkId} method: get operationId: getCheckCondition x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /stats/events/check/{checkId}/interval/{interval} method: get operationId: getCheckEventsCountForTimeInterval x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /stats/events/check/{checkId}/from/{startDate}/until/{endDate} method: get operationId: getCheckEventsForTimeRange x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /stats/check/{checkId} method: get operationId: getCheckLastRecordedState x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /stats/check/{checkId}/interval/{interval} method: get operationId: getCheckStatsByInterval x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /stats/check/{checkId}/from/{startDate}/until/{endDate} method: get operationId: getCheckStatsByTimeInterval x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /stats method: post operationId: getChecksLastRecordedStatInfo 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: /stats/checks/interval/{interval} method: post operationId: getChecksStatsByInterval 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: /stats/from/{startDate}/until/{endDate} method: post operationId: getChecksStatsByTimeInterval 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: /stats/network/organization/{organizationId} method: get operationId: getNetworkStatusOverview x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /uptime/checks/from/{startDate}/until/{endDate} method: post operationId: getCheckUptimeBetweenDates 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: /uptime/check/{checkId}/interval/{interval} method: get operationId: getCheckUptimeByInterval x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /uptime/checks/interval/{interval} method: post operationId: getChecksUptimeByInterval 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: /status/backup-healthcheck method: get operationId: backupHealthCheck x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /status/ingest method: get operationId: IngestStatus x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /status/compareReadChecksOperations method: get operationId: checksReadOperations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /status/compareWriteChecksOperations method: get operationId: checksWriteOperations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /status/cloudwatch-alarm/{alarmName} method: get operationId: cloudWatchAlarm x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /status/cloudwatch-alarm method: get operationId: cloudWatchAlarms x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /status/compareThroughput method: get operationId: compareThroughput x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /status/alarm/throughput/location/{locationName} method: post operationId: createLocationThroughputAlarms 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: /status/alarm/mother/location/{locationName}/device/{deviceId} method: post operationId: createMotherAlarm 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: /status/alarm/throughput/organization/{organization} method: post operationId: createOrganizationThroughputAlarms 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: /status/elasticsearch/nodesstats/{nodesStatsName}/statsName/{statsName} method: get operationId: elasticsearchNodesStats x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /status/mothers/organization/{organizationId} method: get operationId: getOrganizationMothersStatus x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /xbee-factory/{macAddress} method: get operationId: getFactory x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /xbee-factory/{macAddress} method: post operationId: saveFactory 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: /xbee-factory/{macAddress} method: delete operationId: removeFactory 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: /xbee-factory/history/{macAddress} method: get operationId: getFactoryHistory x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /xbee-factory/history/test-result/{macAddress} method: get operationId: getTestResultHistory x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /xbee-factory-update/{macAddress} method: post operationId: updateFactoryConfiguration 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