farmOS · Agentic Access
farmOS Agentic Access
x-agentic-access
generated
farmOS exposes 100 API operations that an AI agent could call, of which 57 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.
By consequence: 43 read and 57 write.
Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.
AgricultureFarm ManagementOpen SourceJSON:APIRecord KeepingSelf-HostedDrupal
Operations: 100
Acting: 57
Human-in-the-loop: 0
Method: generated
By consequence
read 43
write 57
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/farmos-farmos-api-openapi.yml
description: Recommended x-agentic-access execution contracts, classified heuristically from
the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind
audience per deployment. See research/curity/agentic-governance/.
summary:
operations: 100
by_action_class:
connected: 43
acting: 57
by_consequence:
read: 43
write: 57
human_in_the_loop_required: 0
operations:
- path: /
method: get
operationId: getServerInfo
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /asset/animal
method: get
operationId: listAnimalAssets
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /asset/animal
method: post
operationId: createAnimalAsset
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /asset/animal/{id}
method: get
operationId: getAnimalAsset
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /asset/animal/{id}
method: patch
operationId: updateAnimalAsset
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /asset/animal/{id}
method: delete
operationId: deleteAnimalAsset
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /asset/land
method: get
operationId: listLandAssets
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /asset/land
method: post
operationId: createLandAsset
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /asset/land/{id}
method: get
operationId: getLandAsset
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /asset/land/{id}
method: patch
operationId: updateLandAsset
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /asset/land/{id}
method: delete
operationId: deleteLandAsset
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /asset/plant
method: get
operationId: listPlantAssets
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /asset/plant
method: post
operationId: createPlantAsset
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /asset/plant/{id}
method: get
operationId: getPlantAsset
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /asset/plant/{id}
method: patch
operationId: updatePlantAsset
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /asset/plant/{id}
method: delete
operationId: deletePlantAsset
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /asset/equipment
method: get
operationId: listEquipmentAssets
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /asset/equipment
method: post
operationId: createEquipmentAsset
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /asset/equipment/{id}
method: get
operationId: getEquipmentAsset
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /asset/equipment/{id}
method: patch
operationId: updateEquipmentAsset
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /asset/equipment/{id}
method: delete
operationId: deleteEquipmentAsset
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /asset/structure
method: get
operationId: listStructureAssets
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /asset/structure
method: post
operationId: createStructureAsset
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /asset/structure/{id}
method: get
operationId: getStructureAsset
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /asset/structure/{id}
method: patch
operationId: updateStructureAsset
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /asset/structure/{id}
method: delete
operationId: deleteStructureAsset
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /asset/sensor
method: get
operationId: listSensorAssets
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /asset/sensor
method: post
operationId: createSensorAsset
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /asset/sensor/{id}
method: get
operationId: getSensorAsset
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /asset/sensor/{id}
method: patch
operationId: updateSensorAsset
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /asset/sensor/{id}
method: delete
operationId: deleteSensorAsset
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /asset/group
method: get
operationId: listGroupAssets
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /asset/group
method: post
operationId: createGroupAsset
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /asset/group/{id}
method: get
operationId: getGroupAsset
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /asset/group/{id}
method: patch
operationId: updateGroupAsset
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /asset/group/{id}
method: delete
operationId: deleteGroupAsset
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/activity
method: get
operationId: listActivityLogs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /log/activity
method: post
operationId: createActivityLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/activity/{id}
method: get
operationId: getActivityLog
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /log/activity/{id}
method: patch
operationId: updateActivityLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/activity/{id}
method: delete
operationId: deleteActivityLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/observation
method: get
operationId: listObservationLogs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /log/observation
method: post
operationId: createObservationLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/observation/{id}
method: get
operationId: getObservationLog
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /log/observation/{id}
method: patch
operationId: updateObservationLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/observation/{id}
method: delete
operationId: deleteObservationLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/input
method: get
operationId: listInputLogs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /log/input
method: post
operationId: createInputLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/input/{id}
method: get
operationId: getInputLog
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /log/input/{id}
method: patch
operationId: updateInputLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/input/{id}
method: delete
operationId: deleteInputLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/harvest
method: get
operationId: listHarvestLogs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /log/harvest
method: post
operationId: createHarvestLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/harvest/{id}
method: get
operationId: getHarvestLog
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /log/harvest/{id}
method: patch
operationId: updateHarvestLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/harvest/{id}
method: delete
operationId: deleteHarvestLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/seeding
method: get
operationId: listSeedingLogs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /log/seeding
method: post
operationId: createSeedingLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/seeding/{id}
method: get
operationId: getSeedingLog
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /log/seeding/{id}
method: patch
operationId: updateSeedingLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/seeding/{id}
method: delete
operationId: deleteSeedingLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/transplanting
method: get
operationId: listTransplantingLogs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /log/transplanting
method: post
operationId: createTransplantingLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/transplanting/{id}
method: get
operationId: getTransplantingLog
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /log/transplanting/{id}
method: patch
operationId: updateTransplantingLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/transplanting/{id}
method: delete
operationId: deleteTransplantingLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/maintenance
method: get
operationId: listMaintenanceLogs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /log/maintenance
method: post
operationId: createMaintenanceLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/maintenance/{id}
method: get
operationId: getMaintenanceLog
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /log/maintenance/{id}
method: patch
operationId: updateMaintenanceLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/maintenance/{id}
method: delete
operationId: deleteMaintenanceLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/medical
method: get
operationId: listMedicalLogs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /log/medical
method: post
operationId: createMedicalLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/medical/{id}
method: get
operationId: getMedicalLog
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /log/medical/{id}
method: patch
operationId: updateMedicalLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/medical/{id}
method: delete
operationId: deleteMedicalLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/birth
method: get
operationId: listBirthLogs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /log/birth
method: post
operationId: createBirthLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/birth/{id}
method: get
operationId: getBirthLog
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /log/birth/{id}
method: patch
operationId: updateBirthLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/birth/{id}
method: delete
operationId: deleteBirthLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/lab_test
method: get
operationId: listLabTestLogs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /log/lab_test
method: post
operationId: createLabTestLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/lab_test/{id}
method: get
operationId: getLabTestLog
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /log/lab_test/{id}
method: patch
operationId: updateLabTestLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /log/lab_test/{id}
method: delete
operationId: deleteLabTestLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /plan/plan
method: get
operationId: listPlans
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /plan/plan
method: post
operationId: createPlan
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /plan/plan/{id}
method: get
operationId: getPlan
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /plan/plan/{id}
method: patch
operationId: updatePlan
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /plan/plan/{id}
method: delete
operationId: deletePlan
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /taxonomy_term/plant_type
method: get
operationId: listPlantTypes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /taxonomy_term/animal_type
method: get
operationId: listAnimalTypes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /taxonomy_term/log_category
method: get
operationId: listLogCategories
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /taxonomy_term/unit
method: get
operationId: listUnits
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /quantity/standard
method: get
operationId: listStandardQuantities
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /quantity/standard
method: post
operationId: createStandardQuantity
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /quantity/standard/{id}
method: get
operationId: getStandardQuantity
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
scope:
- farm_manager
- path: /quantity/standard/{id}
method: patch
operationId: updateStandardQuantity
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager
- path: /quantity/standard/{id}
method: delete
operationId: deleteStandardQuantity
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
scope:
- farm_manager