generated: '2026-07-15' method: generated source: openapi/locus-entities-openapi.yml, openapi/locus-oms-openapi.yml, openapi/locus-platform-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: 48 by_action_class: connected: 14 acting: 34 by_consequence: read: 14 write: 16 safety-critical: 10 physical: 8 human_in_the_loop_required: 10 operations: - path: /client/{clientId}/location/{locationId} method: get operationId: getLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /client/{clientId}/location/{locationId} method: put 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: /client/{clientId}/location/{locationId}/disable method: post operationId: disableLocation 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: /client/{clientId}/lineitem/{lineItemId} method: get operationId: getLineItem x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /client/{clientId}/lineitem/{lineItemId} method: put operationId: createLineItem x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /client/{clientId}/lineitem/{lineItemId}/disable method: post operationId: disableLineItem 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: /client/{clientId}/transporter/{transporterId} method: get operationId: getTransporter x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /client/{clientId}/transporter/{transporterId} method: put operationId: createTransporter x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /client/{clientId}/transporter/{transporterId}/disable method: post operationId: disableTransporter 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: /client/{clientId}/rider/{riderId} method: get operationId: getRider x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /client/{clientId}/rider/{riderId} method: put operationId: createRider x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /client/{clientId}/rider/{riderId}/disable method: post operationId: disableRider 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: /client/{clientId}/vehicle/{vehicleId} method: get operationId: getVehicle x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /client/{clientId}/vehicle/{vehicleId} method: put operationId: createVehicle x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /client/{clientId}/vehicle/{vehicleId}/disable method: post operationId: disableVehicle 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: /client/{clientId}/vehicle-model/{vehicleModelId} method: get operationId: getVehicleModel x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /client/{clientId}/vehicle-model/{vehicleModelId} method: put operationId: createVehicleModel x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /client/{clientId}/vehicle-model/{vehicleModelId}/disable method: post operationId: disableVehicleModel 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: /client/{clientId}/rider-persona/{riderPersonaId} method: get operationId: getRiderPersona x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /client/{clientId}/rider-persona/{riderPersonaId} method: put operationId: createRiderPersona x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /client/{clientId}/rider-persona/{riderPersonaId}/disable method: post operationId: disableRiderPersona 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: /client/{clientId}/roster/{rosterId} method: get operationId: getRoster x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /client/{clientId}/rosters-auto-create method: post operationId: createRostersApiRequest x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /client/{clientId}/roster/{rosterId}/disable method: post operationId: disableRoster 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: /client/{clientId}/homebase-master/{homebaseId} method: get operationId: getHomebase x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /client/{clientId}/homebase-master/{homebaseId} method: put operationId: createHomebase x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /client/{clientId}/homebase-master/{homebaseId}/status method: post operationId: updateHomebaseStatus x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /client/{clientId}/shift-manager/{tagId} method: get operationId: getShiftTag x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /client/{clientId}/shift-manager/{tagId} method: put operationId: createShiftTag x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /client/{clientId}/shift-manager/{tagId}/disable method: post operationId: disableShiftTag 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: /client/{clientId}/order method: get operationId: getOrderBySourceId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /client/{clientId}/order/{orderId} method: get operationId: getOrder x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /client/{clientId}/order/{orderId} method: put operationId: createOrder 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: /client/{clientId}/order/{orderId}/park method: put operationId: parkOrder 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: /client/{clientId}/order/{orderId}/cancel method: put operationId: cancelOrder 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: /client/{clientId}/order/{orderId}/open method: put operationId: openOrder 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: /client/{clientId}/order/{orderId}/complete method: put operationId: completeOrder 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: /client/{clientId}/order/{orderId}/reschedule method: post operationId: rescheduleOrder 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: /client/{clientId}/order/{orderId}/verify-inventory method: put operationId: verifyInventory 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: /client/{clientId}/get-slots method: post operationId: getServiceableSlots 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: /client/{clientId}/service-type/{serviceTypeId} method: get operationId: getServiceType x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /client/{clientId}/service-type/{serviceTypeId} method: put operationId: createServiceType x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /client/{clientId}/service-type/{serviceTypeId}/disable method: post operationId: disableServiceType 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: /client/{clientId}/personnel-master/create-compact method: post operationId: createPersonnelCompact x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /client/{clientId}/personnel-master/{personnelId}/status method: post operationId: updatePersonnelStatus x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /client/{clientId}/team-master/{teamId} method: get operationId: getTeam x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /client/{clientId}/team-master/{teamId} method: put operationId: createTeam x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /client/{clientId}/team-master/{teamId}/status method: post operationId: updateTeamStatus x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required