Vic.ai Agentic Access
Vic.ai exposes 173 API operations that an AI agent could call, of which 112 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: 61 read, 68 write, and 44 physical.
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 |
|---|---|---|---|
| PUT | /v0/invoiceItems/{id} | physical | conditional |
| POST | /v0/invoices | physical | conditional |
| PATCH | /v0/invoices/{id} | physical | conditional |
| DELETE | /v0/invoices/{id} | physical | conditional |
| POST | /v0/invoices/{id}/confirm | physical | conditional |
| POST | /v0/invoices/{id}/document | physical | conditional |
| PUT | /v0/invoices/{id}/external | physical | conditional |
| POST | /v0/invoices/{id}/process | physical | conditional |
| POST | /v0/invoices/{id}/reject | physical | conditional |
| POST | /v0/invoices/{id}/supporting-attachments | physical | conditional |
| DELETE | /v0/invoices/{id}/supporting-attachments/{attachment_id} | physical | conditional |
| POST | /v0/paymentTerms | physical | conditional |
| POST | /v0/paymentTerms/synchronize | physical | conditional |
| PUT | /v0/paymentTerms/{id} | physical | conditional |
| DELETE | /v0/paymentTerms/{id} | physical | conditional |
| POST | /v0/payments/confirm | physical | conditional |
| POST | /v0/payments/fail | physical | conditional |
| POST | /v0/payments/{id}/confirm | physical | conditional |
| POST | /v0/payments/{id}/fail | physical | conditional |
| POST | /v0/purchaseOrderLineItems | physical | conditional |
| PUT | /v0/purchaseOrderLineItems/{purchaseOrderLineItemId} | physical | conditional |
| DELETE | /v0/purchaseOrderLineItems/{purchaseOrderLineItemId} | physical | conditional |
| POST | /v0/purchaseOrderLineItems/{purchaseOrderLineItemId}/close | physical | conditional |
| POST | /v0/purchaseOrderLineItems/{purchaseOrderLineItemId}/open | physical | conditional |
| POST | /v0/purchaseOrders | physical | conditional |
Source
Agentic Access
generated: '2026-07-21'
method: generated
source: openapi/vicai-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: 173
by_action_class:
acting: 112
connected: 61
by_consequence:
write: 68
read: 61
physical: 44
human_in_the_loop_required: 0
operations:
- path: /v0/token
method: post
operationId: obtainToken
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: /v0/healthCheck
method: get
operationId: healthCheck
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/accounts
method: get
operationId: listAccounts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/accounts/synchronize
method: post
operationId: synchronizeAccounts
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: /v0/accounts/{id}
method: get
operationId: getAccount
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/accounts/{id}
method: put
operationId: upsertAccount
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: /v0/accounts/{id}
method: delete
operationId: deleteAccount
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: /v0/dimensions
method: get
operationId: listDimensions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/dimensions
method: post
operationId: createDimension
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: /v0/dimensions/synchronize
method: post
operationId: synchronizeDimensions
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: /v0/dimensions/{id}
method: get
operationId: getDimension
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/dimensions/{id}
method: put
operationId: upsertDimension
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: /v0/dimensions/{id}
method: delete
operationId: deleteDimension
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: /v0/dimensions/{id}/dependencies
method: get
operationId: listDimensionDependencies
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/dimensions/{id}/dependencies
method: put
operationId: replaceDimensionDependencies
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: /v0/dimensions/{id}/dependencies/{dependent_id}
method: delete
operationId: deleteDimensionDependency
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: /v0/dimensionDependencies
method: post
operationId: bulkUpsertDimensionDependencies
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: /v0/vendors
method: get
operationId: listVendors
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/vendors/synchronize
method: post
operationId: synchronizeVendors
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: /v0/vendors/{id}
method: get
operationId: getVendor
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/vendors/{id}
method: put
operationId: upsertVendor
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: /v0/vendors/{id}
method: delete
operationId: deleteVendor
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: /v0/vendors/{id}/errors
method: post
operationId: setVendorRemoteErrors
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: /v0/vendors/{id}/errors
method: delete
operationId: clearVendorRemoteErrors
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: /v0/vendors/{vendor_id}/tags/{tag_id}
method: delete
operationId: deleteTagFromVendor
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: /v0/vendorGroups
method: get
operationId: listVendorGroups
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/vendorGroups
method: post
operationId: createVendorGroup
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: /v0/vendorGroups/{id}
method: put
operationId: updateVendorGroup
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: /v0/vendorGroups/{id}
method: delete
operationId: deleteVendorGroup
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: /v0/csvReports
method: get
operationId: listCsvReportsStatuses
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/csvReports
method: post
operationId: startCsvReportsGeneration
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: /v0/csvReports/{report_name}
method: get
operationId: downloadCsvReport
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/attachments
method: post
operationId: uploadAttachment
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: /v0/attachments/{id}
method: get
operationId: getAttachmentStatus
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/invoices
method: get
operationId: listInvoices
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/invoices
method: post
operationId: createInvoice
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v0/invoices/{id}
method: get
operationId: getInvoice
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/invoices/{id}
method: patch
operationId: ackInvoice
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v0/invoices/{id}
method: delete
operationId: deleteInvoice
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v0/invoices/{id}/process
method: post
operationId: startProcessingInvoice
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v0/invoices/{id}/document
method: get
operationId: getInvoiceDocument
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/invoices/{id}/document
method: post
operationId: uploadDocumentInvoice
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v2/companies/{company_id}/dimensions/{dimension_id}/dependencies
method: get
operationId: listDimensionDependenciesV2
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/companies/{company_id}/dimensions/{dimension_id}/dependencies
method: put
operationId: upsertDimensionDependencyV2
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: /v2/companies/{company_id}/dimensions/{dimension_id}/dependencies/{dependent_id}
method: delete
operationId: deleteDimensionDependencyV2
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: /v2/companies/{company_id}/dimension_dependencies
method: post
operationId: bulkUpsertDimensionDependenciesV2
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: /v2/companies/{company_id}/email_endpoints
method: get
operationId: listEmailEndpointsV2
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/companies/{company_id}/email_endpoints
method: post
operationId: createEmailEndpointV2
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: /v2/email_endpoints/{id}
method: get
operationId: getEmailEndpointV2
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/email_endpoints/{id}
method: patch
operationId: updateEmailEndpointV2
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: /v2/email_endpoints/{id}
method: delete
operationId: deleteEmailEndpointV2
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: /v2/email_endpoints/{email_endpoint_id}/allowed_senders
method: get
operationId: listEmailEndpointAllowedSendersV2
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/email_endpoints/{email_endpoint_id}/allowed_senders
method: post
operationId: createEmailEndpointAllowedSendersV2
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v2/email_endpoints/{email_endpoint_id}/allowed_senders/{id}
method: delete
operationId: deleteEmailEndpointAllowedSenderV2
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v0/invoices/{id}/supporting-attachments
method: get
operationId: listInvoiceSupportingAttachments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/invoices/{id}/supporting-attachments
method: post
operationId: uploadInvoiceSupportingAttachment
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v0/invoices/{id}/supporting-attachments/{attachment_id}
method: delete
operationId: deleteInvoiceSupportingAttachment
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v2/companies/{company_id}/invoices
method: get
operationId: listInvoicesV2
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/invoices/{id}
method: get
operationId: getInvoiceV2
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/invoices/{id}
method: delete
operationId: deleteInvoiceV2
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v2/invoices/{id}/document
method: get
operationId: getInvoiceDocumentV2
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/invoices/{id}/confirm
method: post
operationId: confirmInvoice
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v0/invoices/{id}/reject
method: post
operationId: rejectInvoice
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v0/invoices/{id}/lineItems
method: get
operationId: getInvoicelineItems
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/invoiceItems/{id}
method: put
operationId: updateInvoiceItem
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v0/invoices/{id}/external
method: put
operationId: updateInvoiceExternal
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v0/trainingInvoices
method: get
operationId: listTrainingInvoices
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/trainingInvoices/{id}
method: get
operationId: getTrainingInvoice
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/trainingInvoices/{id}
method: put
operationId: upsertTrainingInvoice
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v0/trainingInvoices/{id}
method: delete
operationId: deleteTrainingInvoice
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v0/trainingInvoices/{id}/document
method: get
operationId: getTrainingInvoiceDocument
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/vatCodes
method: get
operationId: listVatCodes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/vatCodes/synchronize
method: post
operationId: synchronizeVatCodes
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: /v0/vatCodes/{id}
method: get
operationId: getVatCode
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/vatCodes/{id}
method: put
operationId: upsertVatCode
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: /v0/vatCodes/{id}
method: delete
operationId: deleteVatCode
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: /v0/taxCodes
method: post
operationId: createTaxCode
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: /v0/taxCodes
method: get
operationId: getTaxCodes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/subscription
method: get
operationId: getSubscription
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/subscription
method: put
operationId: subscribe
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: /v0/subscription
method: delete
operationId: unsubscribe
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: /v2/companies/{company_id}/subscriptions
method: get
operationId: listSubscriptions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/companies/{company_id}/subscriptions
method: post
operationId: createSubscription
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: /v2/companies/{company_id}/subscriptions/{id}
method: get
operationId: getSubscriptionById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/companies/{company_id}/subscriptions/{id}
method: put
operationId: updateSubscription
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: /v2/companies/{company_id}/subscriptions/{id}
method: delete
operationId: deleteSubscription
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: /v0/webhooks/events
method: get
operationId: listWebhookEvents
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/webhooks/events/{event_id}
method: get
operationId: getWebhookEvent
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/purchaseOrders
method: get
operationId: listPurchaseOrders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/purchaseOrders
method: post
operationId: createPurchaseOrder
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v0/purchaseOrders/synchronize
method: post
operationId: synchronizePurchaseOrders
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v0/purchaseOrders/{purchaseOrderId}
method: get
operationId: getPurchaseOrder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/purchaseOrders/{purchaseOrderId}
method: put
operationId: updatePurchaseOrder
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v0/purchaseOrders/{purchaseOrderId}
method: delete
operationId: deletePurchaseOrder
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v0/purchaseOrders/{purchaseOrderId}/process
method: post
operationId: processPurchaseOrder
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v0/purchaseOrders/{purchaseOrderId}/close
method: post
operationId: closePurchaseOrder
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v0/purchaseOrders/{purchaseOrderId}/open
method: post
operationId: openPurchaseOrder
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v0/purchaseOrderLineItems
method: post
operationId: createPurchaseOrderLineItem
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v0/purchaseOrderLineItems/{purchaseOrderLineItemId}
method: get
operationId: getPurchaseOrderLineItem
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v0/purchaseOrderLineItems/{purchaseOrderLineItemId}
method: put
operationId: updatePurchaseOrderLineItem
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v0/purchaseOrderLineItems/{purchaseOrderLineItemId}
method: delete
operationId: deletePurchaseOrderLineItem
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v0/purchaseOrderLineItems/{purchaseOrderLineItemId}/close
method: post
operationId: closePurchaseOrderLineItem
x-agentic-access:
action-class: acting
consequence: physical
subject: requi
# --- truncated at 32 KB (54 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vicai/refs/heads/main/agentic-access/vicai-agentic-access.yml