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

Work with this as data

Every access contract here is available over the APIs.io API and to AI agents over MCP. Agentic Access is not yet its own endpoint on the v1 API. Reach it through catalog search and the tag graph, or the MCP server.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for agentic access

3 MCP tools reach this
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
Search the catalog
curl "https://apis.io/api/v1/search?q=invendor-agentic-access&limit=10"
Everything under a tag
curl "https://apis.io/api/v1/tags/invendor-agentic-access"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.