Invendor · Agentic Access

Invendor Agentic Access

x-agentic-access generated

Invendor exposes 353 API operations that an AI agent could call, of which 194 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: 159 read, 170 write, 21 physical, and 3 safety-critical.

3 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.

CompanyInventory ManagementVendor Managed InventoryIndustrial VendingSupply ChainWarehouse ManagementAsset Tracking
Operations: 353 Acting: 194 Human-in-the-loop: 3 Method: generated

By consequence

read 159 write 170 physical 21 safety-critical 3

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.

MethodPathConsequenceHuman-in-loop
DELETE /v1/Accounts/{accountId} safety-critical required
POST /v1/Users/{userId}/password-reset-email safety-critical required
POST /v1/Users/{userId}/reset-mfa safety-critical required
POST /v1/Devices/{deviceId}/command physical conditional
POST /v1/Items/bulk physical conditional
POST /v1/Items/sendToTenant physical conditional
PUT /v1/Locations/{locationId}/accounts/{accountId}/order-notifications physical conditional
PUT /v1/Locations/{locationId}/order-notifications physical conditional
PUT /v1/Locations/{locationId}/vendors/{accountIdToUpdate} physical conditional
POST /v1/Orders/location/param physical conditional
DELETE /v1/Orders/location/{locationId}/param physical conditional
POST /v1/Orders/purchase physical conditional
POST /v1/Orders/replenishment physical conditional
PUT /v1/Orders/{orderId} physical conditional
DELETE /v1/Orders/{orderId} physical conditional
POST /v1/Orders/{orderId}/cancel physical conditional
POST /v1/Orders/{orderId}/complete physical conditional
POST /v1/Orders/{orderId}/confirm physical conditional
POST /v1/Orders/{orderId}/journal/reception physical conditional
POST /v1/Orders/{orderId}/line physical conditional
POST /v1/Orders/{orderId}/line/{orderLineId}/cancel physical conditional
PUT /v1/Orders/{orderId}/lines physical conditional
POST /v1/Orders/{orderId}/receive physical conditional
POST /v1/Orders/{orderId}/ship physical conditional

Source

Agentic Access

Raw ↑
generated: '2026-07-19'
method: generated
source: openapi/invendor-common-openapi-original.json, openapi/invendor-reporting-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: 353
  by_action_class:
    connected: 159
    acting: 194
  by_consequence:
    read: 159
    write: 170
    safety-critical: 3
    physical: 21
  human_in_the_loop_required: 3
operations:
- path: /v1/Accounts/me
  method: get
  operationId: My account details
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Accounts
  method: get
  operationId: Accounts list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Accounts
  method: post
  operationId: Create account
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Accounts/{accountId}
  method: get
  operationId: Account details
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Accounts/{accountId}
  method: put
  operationId: Update account
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Accounts/{accountId}
  method: delete
  operationId: Delete account
  x-agentic-access:
    action-class: acting
    consequence: safety-critical
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 120
      exchange: true
      purpose-required: true
      proof-of-possession: true
    escalation:
      human-in-the-loop: required
    audit: required
- path: /v1/Accounts/fromInvitation
  method: post
  operationId: Create account from invitation
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Accounts/{accountId}/fromInvitation
  method: put
  operationId: Create account linked settings from invitation
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Accounts/{accountId}/linkedLocations
  method: put
  operationId: Update linked account locations mapping
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Accounts/{accountId}/linkedOperations
  method: put
  operationId: Update linked account operations mapping
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Accounts/{accountId}/profiles
  method: post
  operationId: Add related profile
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Accounts/{accountId}/profiles/{userProfileId}
  method: delete
  operationId: Delete related profile
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Accounts/vendors
  method: get
  operationId: Account vendors
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Accounts/invitation
  method: get
  operationId: Client accepts vendor invitation
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Accounts/invitation
  method: post
  operationId: Vendor invitation
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Accounts/linkedClientsTenants
  method: get
  operationId: Account's clients' tenants
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Accounts/{accountId}/linkedSettings/validation
  method: get
  operationId: Validate linked account configuration
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Accounts/integration
  method: delete
  operationId: Delete account integration
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Accounts/validate
  method: get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Accounts/validate
  method: post
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/Auth/login
  method: post
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/Auth/logout
  method: post
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/Auth/status
  method: get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Barcodes/item/scaleLocker
  method: get
  operationId: Get all items barcodes for scale lockers
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/DataJobs
  method: get
  operationId: GetDataJobs
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/DataJobs/{jobId}/download
  method: get
  operationId: DownloadDataJobResult
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Devices/commands
  method: get
  operationId: Device commands
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Devices
  method: get
  operationId: Devices list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Devices/{deviceId}
  method: get
  operationId: Device details
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Devices/{deviceId}
  method: put
  operationId: Update tenant device information
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Devices/{deviceId}
  method: delete
  operationId: Delete tenant device
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Devices/{deviceId}/command
  method: post
  operationId: Send command to the device
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Devices/locations/{locationId}/sync_users
  method: post
  operationId: Sync location users in related devices
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Devices/{deviceId}/heartbeats
  method: get
  operationId: Device heartbeats list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Devices/{deviceId}/events
  method: get
  operationId: Device events list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Devices/dedicated/register/pre
  method: post
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Devices/{deviceId}/regen
  method: post
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Devices/free-cabinets
  method: get
  operationId: Free cabinets list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Dimensions
  method: get
  operationId: GetDimensionsList
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Dimensions
  method: post
  operationId: CreateDimension
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Dimensions/{id}
  method: get
  operationId: GetDimensionDetails
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Dimensions/{id}
  method: put
  operationId: UpdateDimension
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Dimensions/{id}
  method: delete
  operationId: DeleteDimension
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Dimensions/{id}/operations
  method: get
  operationId: GetDimensionOperations
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Dimensions/properties
  method: get
  operationId: GetAllUsedDimensionProperties
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Dimensions/values/properties
  method: get
  operationId: GetAllUsedDimensionValueProperties
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Dimensions/params
  method: get
  operationId: Account dimensions parameters
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Dimensions/params
  method: post
  operationId: Account dimensions parameters
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Dimensions/{dimId}/values
  method: get
  operationId: Get dimension values
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Dimensions/{dimId}/values
  method: post
  operationId: CreateDimensionValue
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Dimensions/{dimId}/values
  method: put
  operationId: UpdateDimensionValue
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Dimensions/{dimId}/values/{valueId}
  method: get
  operationId: GetDimensionValue
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Dimensions/{dimId}/values/{valueId}/parents
  method: get
  operationId: GetDimensionValueParents
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Dimensions/{dimId}/values/{valueId}/children
  method: get
  operationId: GetDimensionValueChildren
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Dimensions/{dimId}/values/{valueId}/children
  method: post
  operationId: SaveDimensionValueChildren
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Dimensions/{dimId}/values/bulk
  method: post
  operationId: CreateDimensionValuesBulk
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Dimensions/{dimId}/values/bulk
  method: delete
  operationId: DeleteDimensionValuesBulk
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Doors
  method: get
  operationId: Get doors list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/DynamicScanContent/datasources
  method: get
  operationId: DynamicContentFieldDatasources
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/DynamicScanContent/datasources/{operationId}
  method: get
  operationId: OperationDynamicContentFieldDatasources
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/ExtendedProperties/{affinity}
  method: get
  operationId: Get global extended properties
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/ExtendedProperties/{affinity}/{ownerId}
  method: get
  operationId: Get extended properties for the object
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/ExtendedProperties/{affinity}/{ownerId}
  method: post
  operationId: Create extended property for the object
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/ExtendedProperties/{affinity}/{ownerId}/{key}
  method: put
  operationId: Update extended property for the object
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/ExtendedProperties/{affinity}/{ownerId}/{key}
  method: delete
  operationId: Delete extended property for the object
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/FlagTypes
  method: get
  operationId: Get flag types
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/FlagTypes
  method: post
  operationId: Create flag type
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/FlagTypes/{id}
  method: get
  operationId: Get flag type
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/FlagTypes/{id}
  method: put
  operationId: Update flag type
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/FlagTypes/{id}
  method: delete
  operationId: Delete flag type
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/GlobalSettings/types
  method: get
  operationId: Get global settings types list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/GlobalSettings
  method: get
  operationId: Get global settings list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/GlobalSettings
  method: post
  operationId: Create global setting
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/GlobalSettings/{id}
  method: get
  operationId: Get a global setting by it's id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/GlobalSettings/{id}
  method: put
  operationId: Change global setting
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/GlobalSettings/{id}
  method: delete
  operationId: Delete global setting
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/GlobalSettings/bulk
  method: put
  operationId: Bulk update global settings
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/GlobalSettings/logo
  method: get
  operationId: Get tenant logo
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/GlobalSettings/logo
  method: post
  operationId: Upload tenant logo
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/GlobalSettings/logo/url
  method: post
  operationId: Update tenant logo URL
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/ItemQuantities
  method: get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/ItemQuantities/stockValue
  method: get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Items
  method: get
  operationId: GetItems
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Items
  method: post
  operationId: CreateItem
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Items/{serviceId}/items
  method: get
  operationId: GetServiceItems
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Items/{itemId}
  method: get
  operationId: GetItemDetails
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Items/{itemId}
  method: put
  operationId: UpdateItem
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Items/{itemId}
  method: delete
  operationId: DeleteItem
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Items/{itemId}/conversions
  method: get
  operationId: GetItemUnitConversions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Items/{itemId}/altitems
  method: get
  operationId: GetItemAltItems
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Items/{itemId}/altitems
  method: post
  operationId: CreateItemAltItem
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Items/{itemId}/altitems
  method: put
  operationId: UpdateItemAltItemByItemId
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Items/{itemId}/altitems
  method: delete
  operationId: DeleteItemAltItemByItemId
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Items/altitems/{altItemId}
  method: put
  operationId: UpdateItemAltItemById
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Items/altitems/{altItemId}
  method: delete
  operationId: DeleteItemAltItemById
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Items/altitems/bulk
  method: post
  operationId: BulkUpsertAltItems
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Items/properties
  method: get
  operationId: GetAllUsedItemProperties
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Items/definedProperties
  method: get
  operationId: Get defined properties for items
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - io.common
    token:
      max-ttl: 3600
    audit: none
- path: /v1/Items/definedProperties
  method: post
  operationId: Create item defined property with parameters
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Items/definedProperties/{id}
  method: put
  operationId: Update item defined property with parameters
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Items/definedProperties/{id}
  method: delete
  operationId: Delete item defined propety with parameters
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - io.common
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/Items/definedProperties/bulk
  method: post
  operationId: Create or

# --- truncated at 32 KB (111 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/invendor/refs/heads/main/agentic-access/invendor-agentic-access.yml