Microsoft Dynamics NAV Agentic Access
Microsoft Dynamics NAV exposes 109 API operations that an AI agent could call, of which 50 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: 59 read, 42 write, and 8 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 |
|---|---|---|---|
| POST | /companies({company_id})/purchaseInvoices | physical | conditional |
| POST | /companies({company_id})/purchaseOrders | physical | conditional |
| PATCH | /companies({company_id})/purchaseOrders({purchaseOrder_id}) | physical | conditional |
| DELETE | /companies({company_id})/purchaseOrders({purchaseOrder_id}) | physical | conditional |
| POST | /companies({company_id})/salesInvoices | physical | conditional |
| POST | /companies({company_id})/salesOrders | physical | conditional |
| PATCH | /companies({company_id})/salesOrders({salesOrder_id}) | physical | conditional |
| DELETE | /companies({company_id})/salesOrders({salesOrder_id}) | physical | conditional |
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/admin-center-api.yml, openapi/automation-api.yml, openapi/business-central-api-v2.yml
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: 109
by_action_class:
connected: 59
acting: 50
by_consequence:
read: 59
write: 42
physical: 8
human_in_the_loop_required: 0
operations:
- path: /applications/environments
method: get
operationId: listAllEnvironments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applications/{applicationFamily}/environments
method: get
operationId: listEnvironments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applications/{applicationFamily}/environments/{environmentName}
method: get
operationId: getEnvironment
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applications/{applicationFamily}/environments/{environmentName}
method: put
operationId: createEnvironment
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: /applications/{applicationFamily}/environments/{environmentName}
method: delete
operationId: deleteEnvironment
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: /applications/{applicationFamily}/environments/{environmentName}/copy
method: post
operationId: copyEnvironment
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: /applications/{applicationFamily}/environments/{environmentName}/rename
method: post
operationId: renameEnvironment
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: /applications/{applicationFamily}/environments/{environmentName}/restore
method: post
operationId: restoreEnvironment
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: /applications/{applicationFamily}/environments/{environmentName}/recover
method: post
operationId: recoverEnvironment
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: /applications/{applicationFamily}/environments/{environmentName}/availableRestorePeriods
method: get
operationId: getAvailableRestorePeriods
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /environments/{environmentName}/operations
method: get
operationId: listEnvironmentOperations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applications/{applicationFamily}/environments/operations
method: get
operationId: listAllEnvironmentOperations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applications/{applicationFamily}/environments/{environmentName}/settings
method: get
operationId: getEnvironmentSettings
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applications/{applicationFamily}/environments/{environmentName}/settings/upgrade
method: put
operationId: setUpdateSettings
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: /applications/{applicationFamily}/environments/{environmentName}/settings/appInsightsKey
method: post
operationId: setAppInsightsKey
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: /applications/{applicationFamily}/environments/{environmentName}/apps
method: get
operationId: listInstalledApps
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applications/{applicationFamily}/environments/{environmentName}/apps/{appId}/update
method: post
operationId: updateApp
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: /applications/{applicationFamily}/environments/{environmentName}/apps/{appId}/install
method: post
operationId: installApp
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: /applications/{applicationFamily}/environments/{environmentName}/apps/{appId}/uninstall
method: post
operationId: uninstallApp
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: /applications/{applicationFamily}/environments/{environmentName}/usedstorage
method: get
operationId: getEnvironmentStorage
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /environments/usedstorage
method: get
operationId: getAllEnvironmentsStorage
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /environments/quotas
method: get
operationId: getQuotas
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applications/{applicationFamily}/environments/{environmentName}/notifications
method: get
operationId: listNotificationRecipients
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applications/{applicationFamily}/environments/{environmentName}/notifications
method: post
operationId: addNotificationRecipient
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: /applications/{applicationFamily}/environments/{environmentName}/scheduledUpgrade
method: get
operationId: getScheduledUpgrade
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applications/{applicationFamily}/environments/{environmentName}/supportSettings
method: get
operationId: getSupportSettings
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applications/{applicationFamily}/availableCountries
method: get
operationId: listAvailableCountries
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applications/{applicationFamily}/availableApplicationVersions
method: get
operationId: listAvailableVersions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies
method: get
operationId: listCompanies
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/automationCompanies
method: get
operationId: listAutomationCompanies
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/automationCompanies
method: post
operationId: createAutomationCompany
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: /companies({company_id})/automationCompanies({automationCompany_id})
method: get
operationId: getAutomationCompany
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/automationCompanies({automationCompany_id})
method: patch
operationId: updateAutomationCompany
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: /companies({company_id})/automationCompanies({automationCompany_id})
method: delete
operationId: deleteAutomationCompany
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: /companies({company_id})/extensions
method: get
operationId: listExtensions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/extensions({extension_id})/Microsoft.NAV.install
method: post
operationId: installExtension
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: /companies({company_id})/extensions({extension_id})/Microsoft.NAV.uninstall
method: post
operationId: uninstallExtension
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: /companies({company_id})/extensions({extension_id})/Microsoft.NAV.uninstallAndDeleteExtensionData
method: post
operationId: uninstallAndDeleteExtensionData
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: /companies({company_id})/extensions({extension_id})/Microsoft.NAV.unpublish
method: post
operationId: unpublishExtension
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: /companies({company_id})/extensionUpload
method: post
operationId: createExtensionUpload
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: /companies({company_id})/extensionUpload({extensionUpload_id})/extensionContent
method: patch
operationId: uploadExtensionFile
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: /companies({company_id})/extensionUpload({extensionUpload_id})/Microsoft.NAV.upload
method: post
operationId: installUploadedExtension
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: /companies({company_id})/extensionDeploymentStatus
method: get
operationId: listExtensionDeploymentStatuses
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/users
method: get
operationId: listUsers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/users({user_id})
method: get
operationId: getUser
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/users({user_id})
method: patch
operationId: updateUser
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: /companies({company_id})/users/Microsoft.NAV.getNewUsersFromOffice365
method: post
operationId: getNewUsersFromOffice365
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: /companies({company_id})/users/Microsoft.NAV.getNewUsersFromOffice365Async
method: post
operationId: getNewUsersFromOffice365Async
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: /companies({company_id})/users({user_id})/userPermissions
method: get
operationId: listUserPermissions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/users({user_id})/userPermissions
method: post
operationId: createUserPermission
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: /companies({company_id})/permissionSets
method: get
operationId: listPermissionSets
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/securityGroups
method: get
operationId: listSecurityGroups
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/configurationPackages
method: get
operationId: listConfigurationPackages
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/configurationPackages
method: post
operationId: createConfigurationPackage
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: /companies({company_id})/configurationPackages({package_id})/file('{code}')/content
method: patch
operationId: uploadConfigurationPackageFile
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: /companies({company_id})/configurationPackages({package_id})/Microsoft.NAV.import
method: post
operationId: importConfigurationPackage
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: /companies({company_id})/configurationPackages({package_id})/Microsoft.NAV.apply
method: post
operationId: applyConfigurationPackage
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: /companies({company_id})/features
method: get
operationId: listFeatures
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/features({feature_id})/Microsoft.NAV.activate
method: post
operationId: activateFeature
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: /companies({company_id})/features({feature_id})/Microsoft.NAV.deactivate
method: post
operationId: deactivateFeature
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: /companies({company_id})/profiles
method: get
operationId: listProfiles
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/scheduledJobs
method: get
operationId: listScheduledJobs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies
method: get
operationId: listCompanies
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/customers
method: get
operationId: listCustomers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/customers
method: post
operationId: createCustomer
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: /companies({company_id})/customers({customer_id})
method: get
operationId: getCustomer
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/customers({customer_id})
method: patch
operationId: updateCustomer
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: /companies({company_id})/customers({customer_id})
method: delete
operationId: deleteCustomer
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: /companies({company_id})/vendors
method: get
operationId: listVendors
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/vendors
method: post
operationId: createVendor
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: /companies({company_id})/vendors({vendor_id})
method: get
operationId: getVendor
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/vendors({vendor_id})
method: patch
operationId: updateVendor
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: /companies({company_id})/vendors({vendor_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: /companies({company_id})/items
method: get
operationId: listItems
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/items
method: post
operationId: createItem
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: /companies({company_id})/items({item_id})
method: get
operationId: getItem
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/items({item_id})
method: patch
operationId: updateItem
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: /companies({company_id})/items({item_id})
method: delete
operationId: deleteItem
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: /companies({company_id})/salesOrders
method: get
operationId: listSalesOrders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/salesOrders
method: post
operationId: createSalesOrder
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: /companies({company_id})/salesOrders({salesOrder_id})
method: get
operationId: getSalesOrder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/salesOrders({salesOrder_id})
method: patch
operationId: updateSalesOrder
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: /companies({company_id})/salesOrders({salesOrder_id})
method: delete
operationId: deleteSalesOrder
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: /companies({company_id})/salesOrders({salesOrder_id})/salesOrderLines
method: get
operationId: listSalesOrderLines
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/purchaseOrders
method: get
operationId: listPurchaseOrders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/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: /companies({company_id})/purchaseOrders({purchaseOrder_id})
method: get
operationId: getPurchaseOrder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/purchaseOrders({purchaseOrder_id})
method: patch
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: /companies({company_id})/purchaseOrders({purchaseOrder_id})
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: /companies({company_id})/purchaseOrders({purchaseOrder_id})/purchaseOrderLines
method: get
operationId: listPurchaseOrderLines
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/accounts
method: get
operationId: listAccounts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/accounts({account_id})
method: get
operationId: getAccount
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/generalLedgerEntries
method: get
operationId: listGeneralLedgerEntries
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/journals
method: get
operationId: listJournals
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/journals
method: post
operationId: createJournal
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: /companies({company_id})/journals({journal_id})/journalLines
method: get
operationId: listJournalLines
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/salesInvoices
method: get
operationId: listSalesInvoices
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/salesInvoices
method: post
operationId: createSalesInvoice
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: /companies({company_id})/purchaseInvoices
method: get
operationId: listPurchaseInvoices
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/purchaseInvoices
method: post
operationId: createPurchaseInvoice
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: /companies({company_id})/employees
method: get
operationId: listEmployees
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /companies({company_id})/dimensions
method: get
operationId: listDimensions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: n
# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/navision/refs/heads/main/agentic-access/navision-agentic-access.yml