Katana Agentic Access
Katana exposes 226 API operations that an AI agent could call, of which 139 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: 87 read and 139 safety-critical.
139 operations are classed safety-critical and should require human-in-the-loop approval at runtime.
Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.
By consequence
Highest-consequence actions
The physical and safety-critical operations an agent could invoke — the ones that most warrant scoped tokens, tight TTLs, and escalation. Full per-operation contracts are in the source below.
| Method | Path | Consequence | Human-in-loop |
|---|---|---|---|
| PATCH | /batch_stocks/{id} | safety-critical | required |
| POST | /batches | safety-critical | required |
| POST | /bin_locations | safety-critical | required |
| PATCH | /bin_locations/{id} | safety-critical | required |
| DELETE | /bin_locations/{id} | safety-critical | required |
| POST | /bin_transfer_rows | safety-critical | required |
| PATCH | /bin_transfer_rows/{id} | safety-critical | required |
| DELETE | /bin_transfer_rows/{id} | safety-critical | required |
| POST | /bin_transfers | safety-critical | required |
| PATCH | /bin_transfers/{id} | safety-critical | required |
| DELETE | /bin_transfers/{id} | safety-critical | required |
| PATCH | /bin_transfers/{id}/status | safety-critical | required |
| POST | /bom_rows | safety-critical | required |
| POST | /bom_rows/batch/create | safety-critical | required |
| PATCH | /bom_rows/{id} | safety-critical | required |
| DELETE | /bom_rows/{id} | safety-critical | required |
| POST | /custom_field_definitions | safety-critical | required |
| PATCH | /custom_field_definitions/{id} | safety-critical | required |
| DELETE | /custom_field_definitions/{id} | safety-critical | required |
| POST | /customer_addresses | safety-critical | required |
| PATCH | /customer_addresses/{id} | safety-critical | required |
| DELETE | /customer_addresses/{id} | safety-critical | required |
| POST | /customers | safety-critical | required |
| PATCH | /customers/{id} | safety-critical | required |
| DELETE | /customers/{id} | safety-critical | required |
Source
Agentic Access
generated: '2026-07-19'
method: generated
source: openapi/katana-openapi-original.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: 226
by_action_class:
connected: 87
acting: 139
by_consequence:
read: 87
safety-critical: 139
human_in_the_loop_required: 139
operations:
- path: /additional_costs
method: get
operationId: AdditionalCostController.getAdditionalCosts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /batch_stocks/{id}
method: patch
operationId: BatchStockController.updateBatchStock
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: /batch_stocks
method: get
operationId: BatchStockController.getBatchStock
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /batches
method: post
operationId: BatchController.createBatch
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: /bin_inventory
method: get
operationId: BinInventoryController.findAndPaginate
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /bin_locations/{id}
method: patch
operationId: BinLocationController.updateBinLocation
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: /bin_locations/{id}
method: delete
operationId: BinLocationController.deleteBinLocation
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: /bin_locations
method: post
operationId: BinLocationController.createBinLocation
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: /bin_locations
method: get
operationId: BinLocationController.findBinLocations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /bin_transfer_rows/{id}
method: patch
operationId: BinTransferRowController.updateById
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: /bin_transfer_rows/{id}
method: get
operationId: BinTransferRowController.findById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /bin_transfer_rows/{id}
method: delete
operationId: BinTransferRowController.deleteById
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: /bin_transfer_rows
method: post
operationId: BinTransferRowController.create
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: /bin_transfer_rows
method: get
operationId: BinTransferRowController.findAndPaginate
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /bin_transfers/{id}/status
method: patch
operationId: BinTransferController.updateStatus
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: /bin_transfers/{id}
method: patch
operationId: BinTransferController.updateById
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: /bin_transfers/{id}
method: get
operationId: BinTransferController.findById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /bin_transfers/{id}
method: delete
operationId: BinTransferController.deleteById
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: /bin_transfers
method: post
operationId: BinTransferController.create
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: /bin_transfers
method: get
operationId: BinTransferController.findAndPaginate
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /bom_rows/batch/create
method: post
operationId: BomRowController.createBomRowsBatch
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: /bom_rows/{id}
method: patch
operationId: BomRowController.updateBomRow
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: /bom_rows/{id}
method: delete
operationId: BomRowController.deleteBomRow
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: /bom_rows
method: post
operationId: BomRowController.createBomRow
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: /bom_rows
method: get
operationId: BomRowController.getBomRows
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /custom_field_definitions/{id}
method: patch
operationId: CustomFieldDefinitionController.update
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: /custom_field_definitions/{id}
method: get
operationId: CustomFieldDefinitionController.getById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /custom_field_definitions/{id}
method: delete
operationId: CustomFieldDefinitionController.deleteById
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: /custom_field_definitions
method: post
operationId: CustomFieldDefinitionController.create
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: /custom_field_definitions
method: get
operationId: CustomFieldDefinitionController.getAll
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /custom_fields_collections
method: get
operationId: ItemsCustomFieldsCollectionController.getAllCollections
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /customer_addresses/{id}
method: patch
operationId: CustomerAddressController.updateCustomerAddress
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: /customer_addresses/{id}
method: delete
operationId: CustomerAddressController.deleteCustomerAddress
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: /customer_addresses
method: post
operationId: CustomerAddressController.createCustomerAddress
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: /customer_addresses
method: get
operationId: CustomerAddressController.getAllCustomerAddresses
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /customers/{id}
method: patch
operationId: CustomerController.updateVariant
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: /customers/{id}
method: delete
operationId: CustomerController.deleteCustomer
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: /customers
method: post
operationId: CustomerController.createCustomer
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: /customers
method: get
operationId: CustomerController.getAllCustomers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /demand_forecasts
method: post
operationId: DemandForecastController.updateDemandForecast
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: /demand_forecasts
method: get
operationId: DemandForecastController.findDemandForecast
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /demand_forecasts
method: delete
operationId: DemandForecastController.clearDemandForecast
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: /factory
method: get
operationId: FactoryController.getFactory
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /inventory
method: get
operationId: InventoryController.getInventories
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /inventory_movements
method: get
operationId: InventoryController.getInventoryMovements
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /inventory_reorder_points
method: post
operationId: InventorySafetyStockLevelController.createInventoryReorderPoint
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: /inventory_safety_stock_levels
method: post
operationId: InventorySafetyStockLevelController.createInventorySafetyStockLevel
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: /locations/{id}
method: get
operationId: LocationController.getLocation
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /locations
method: get
operationId: LocationController.getAllLocations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /manufacturing_order_make_to_order
method: post
operationId: MakeToOrderMOController.createMTO
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: /manufacturing_order_operation_rows/{id}
method: patch
operationId: ManufacturingOrderOperationRowController.updateManufacturingOrderOperationRow
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: /manufacturing_order_operation_rows/{id}
method: get
operationId: ManufacturingOrderOperationRowController.retrieveManufacturingOrderOperationRow
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /manufacturing_order_operation_rows/{id}
method: delete
operationId: ManufacturingOrderOperationRowController.deleteManufacturingOrderOperationRow
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: /manufacturing_order_operation_rows
method: post
operationId: ManufacturingOrderOperationRowController.createManufacturingOrderOperationRow
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: /manufacturing_order_operation_rows
method: get
operationId: ManufacturingOrderOperationRowController.getManufacturingOrderOperationRows
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /manufacturing_order_production_ingredients/{id}
method: patch
operationId: ManufacturingOrderProductionIngredientController.updateManufacturingOrderProductionIngredient
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: /manufacturing_order_production_ingredients
method: get
operationId: ManufacturingOrderProductionIngredientController.find
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /manufacturing_order_productions/{id}
method: patch
operationId: ManufacturingOrderProductionController.update
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: /manufacturing_order_productions/{id}
method: get
operationId: ManufacturingOrderProductionController.findById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /manufacturing_order_productions/{id}
method: delete
operationId: ManufacturingOrderProductionController.deleteManufacturingOrderProduction
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: /manufacturing_order_productions
method: post
operationId: ManufacturingOrderProductionController.completePartially
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: /manufacturing_order_productions
method: get
operationId: ManufacturingOrderProductionController.find
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /manufacturing_order_recipe_rows/{id}
method: patch
operationId: ManufacturingOrderRecipeRowController.updateManufacturingRecipeRow
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: /manufacturing_order_recipe_rows/{id}
method: get
operationId: ManufacturingOrderRecipeRowController.findManufacturingOrderRecipeRowById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /manufacturing_order_recipe_rows/{id}
method: delete
operationId: ManufacturingOrderRecipeRowController.deleteManufacturingOrderRecipeRow
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: /manufacturing_order_recipe_rows
method: post
operationId: ManufacturingOrderRecipeRowController.createManufacturingOrderRecipeRow
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: /manufacturing_order_recipe_rows
method: get
operationId: ManufacturingOrderRecipeRowController.findManufacturingOrderRecipeRows
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /manufacturing_order_rerank
method: post
operationId: MakeToOrderMOController.rerank
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: /manufacturing_order_unlink
method: post
operationId: MakeToOrderMOController.unlink
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: /manufacturing_orders/{id}
method: patch
operationId: ManufacturingOrderController.updateManufacturingOrder
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: /manufacturing_orders/{id}
method: get
operationId: ManufacturingOrderController.getManufacturingOrder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /manufacturing_orders/{id}
method: delete
operationId: ManufacturingOrderController.deleteManufacturingOrder
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: /manufacturing_orders
method: post
operationId: ManufacturingOrderController.createManufacturingOrder
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: /manufacturing_orders
method: get
operationId: ManufacturingOrderController.getManufacturingOrders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /materials/{id}
method: patch
operationId: MaterialController.updateMaterial
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: /materials/{id}
method: get
operationId: MaterialController.getMaterial
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /materials/{id}
method: delete
operationId: MaterialController.deleteManufacturingOrder
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: /materials
method: post
operationId: MaterialController.createMaterial
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: /materials
method: get
operationId: MaterialController.getAllMaterials
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /negative_stock
method: get
operationId: NegativeStockLatestMovementController.getAllNegativeStockLatestMovements
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /operators
method: get
operationId: OperatorsController.find
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /outsourced_purchase_order_recipe_rows/{id}
method: patch
operationId: PurchaseOrderRecipeRowController.updatePurchaseOrderRecipeRow
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: /outsourced_purchase_order_recipe_rows/{id}
method: get
operationId: PurchaseOrderRecipeRowController.getPurchaseOrderRecipeRow
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /outsourced_purchase_order_recipe_rows/{id}
method: delete
operationId: PurchaseOrderRecipeRowController.deletePurchaseOrderRecipeRow
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: /outsourced_purchase_order_recipe_rows
method: post
operationId: PurchaseOrderRecipeRowController.createPurchaseOrderRecipeRow
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: /outsourced_purchase_order_recipe_rows
method: get
operationId: PurchaseOrderRecipeRowController.getPurchaseOrderRecipeRows
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /po_additional_cost_rows/{id}
method: patch
operationId: PoAdditionalCostRowController.updatePoAdditionalCostRow
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: /po_additional_cost_rows/{id}
method: get
operationId: PoAdditionalCostRowController.getPoAdditionalCostRow
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /po_additional_cost_rows/{id}
method: delete
operationId: PoAdditionalCostRowController.deletePoAdditionalCostRow
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: /po_additional_cost_rows
method: post
operationId: PoAdditionalCostRowController.createPoAdditionalCostRow
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: /po_additional_cost_rows
method: get
operationId: PoAdditionalCostRowController.getPoAdditionalCostRows
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /price_list_customers/{id}
method: patch
operationId: PriceListCustomerController.updateById
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: /price_list_customers/{id}
method: get
operationId: PriceListCustomerController.findById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /price_list_customers/{id}
method: delete
operationId: PriceListCustomerController.deleteById
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: r
# --- truncated at 32 KB (75 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/katana/refs/heads/main/agentic-access/katana-agentic-access.yml