Invendor Agentic Access
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.
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 |
|---|---|---|---|
| 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
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.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/search?q=invendor-agentic-access&limit=10"
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.