Autodesk Fusion Agentic Access
Autodesk Fusion exposes 146 API operations that an AI agent could call, of which 64 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: 82 read, 58 write, 3 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 |
|---|---|---|---|
| POST | /authentication/v2/revoke | safety-critical | required |
| PATCH | /authentication/v2/service-accounts/{serviceAccountId} | safety-critical | required |
| PATCH | /authentication/v2/service-accounts/{serviceAccountId}/keys/{keyId} | safety-critical | required |
| POST | /data/v1/projects/{project_id}/folders/{folder_id}/relationships/refs | physical | conditional |
| POST | /data/v1/projects/{project_id}/items/{item_id}/relationships/refs | physical | conditional |
| POST | /data/v1/projects/{project_id}/versions/{version_id}/relationships/refs | physical | conditional |
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/accountadmin.yaml, openapi/authentication.yaml, openapi/datamanagement.yaml,
openapi/issues.yaml, openapi/modelderivative.yaml, openapi/oss.yaml, openapi/secureserviceaccount.yaml,
openapi/webhooks.yaml
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: 146
by_action_class:
connected: 82
acting: 64
by_consequence:
read: 82
write: 58
safety-critical: 3
physical: 3
human_in_the_loop_required: 3
operations:
- path: /construction/admin/v1/accounts/{accountId}/projects
method: get
operationId: getProjects
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /construction/admin/v1/accounts/{accountId}/projects
method: post
operationId: createProject
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: /construction/admin/v1/projects/{projectId}
method: get
operationId: getProject
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /hq/v1/accounts/{account_id}/projects/{project_id}/image
method: patch
operationId: createProjectImage
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: /hq/v1/accounts/{account_id}/companies
method: get
operationId: getCompanies
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /hq/v1/accounts/{account_id}/companies
method: post
operationId: createCompany
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: /hq/v1/accounts/{account_id}/companies/import
method: post
operationId: importCompanies
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: /hq/v1/accounts/{account_id}/companies/{company_id}
method: get
operationId: getCompany
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /hq/v1/accounts/{account_id}/companies/{company_id}
method: patch
operationId: patchCompanyDetails
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: /hq/v1/accounts/{account_id}/companies/{company_id}/image
method: patch
operationId: patchCompanyImage
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: /hq/v1/accounts/{account_id}/companies/search
method: get
operationId: searchCompanies
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /hq/v1/accounts/{account_id}/projects/{project_id}/companies
method: get
operationId: getProjectCompanies
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /hq/v1/accounts/{account_id}/users
method: get
operationId: getUsers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /hq/v1/accounts/{account_id}/users
method: post
operationId: createUser
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: /hq/v1/accounts/{account_id}/users/import
method: post
operationId: importUsers
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: /hq/v1/accounts/{account_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: /hq/v1/accounts/{account_id}/users/{user_id}
method: patch
operationId: patchUserDetails
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: /hq/v1/accounts/{account_id}/users/search
method: get
operationId: searchUsers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /construction/admin/v1/projects/{projectId}/users
method: get
operationId: getProjectUsers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /construction/admin/v1/projects/{projectId}/users
method: post
operationId: assignProjectUser
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: /construction/admin/v2/projects/{projectId}/users:import
method: post
operationId: importProjectUsers
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: /construction/admin/v1/projects/{projectId}/users/{userId}
method: get
operationId: getProjectUser
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /construction/admin/v1/projects/{projectId}/users/{userId}
method: patch
operationId: updateProjectUser
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: /construction/admin/v1/projects/{projectId}/users/{userId}
method: delete
operationId: removeProjectUser
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: /hq/v1/accounts/{account_id}/business_units_structure
method: get
operationId: getBusinessUnits
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /hq/v1/accounts/{account_id}/business_units_structure
method: put
operationId: createBusinessUnits
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: /construction/admin/v1/accounts/{accountId}/users/{userId}/projects
method: get
operationId: getUserProjects
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /construction/admin/v1/accounts/{accountId}/companies
method: get
operationId: getCompaniesWithPagination
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /construction/admin/v1/accounts/{accountId}/users/{userId}/products
method: get
operationId: getUserProducts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /construction/admin/v1/accounts/{accountId}/users/{userId}/roles
method: get
operationId: getUserRoles
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /authentication/v2/authorize
method: get
operationId: authorize
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /authentication/v2/revoke
method: post
operationId: revoke
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /authentication/v2/keys
method: get
operationId: get-keys
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /authentication/v2/token
method: post
operationId: fetch-token
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: /authentication/v2/introspect
method: post
operationId: introspect_token
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: /.well-known/openid-configuration
method: get
operationId: get-oidc-spec
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /authentication/v2/logout
method: get
operationId: logout
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /userinfo
method: get
operationId: get-user-info
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /project/v1/hubs
method: get
operationId: getHubs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /project/v1/hubs/{hub_id}
method: get
operationId: getHub
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /project/v1/hubs/{hub_id}/projects
method: get
operationId: getHubProjects
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /project/v1/hubs/{hub_id}/projects/{project_id}
method: get
operationId: getProject
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /project/v1/hubs/{hub_id}/projects/{project_id}/hub
method: get
operationId: getProjectHub
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /project/v1/hubs/{hub_id}/projects/{project_id}/topFolders
method: get
operationId: getProjectTopFolders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /data/v1/projects/{project_id}/folders/{folder_id}
method: get
operationId: getFolder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /data/v1/projects/{project_id}/folders/{folder_id}
method: patch
operationId: patchFolder
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- data:write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /data/v1/projects/{project_id}/folders/{folder_id}/parent
method: get
operationId: getFolderParent
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /data/v1/projects/{project_id}/folders/{folder_id}/contents
method: get
operationId: getFolderContents
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /data/v1/projects/{project_id}/folders/{folder_id}/refs
method: get
operationId: getFolderRefs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /data/v1/projects/{project_id}/folders/{folder_id}/search
method: get
operationId: getFolderSearch
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
- data:search
token:
max-ttl: 3600
audit: none
- path: /data/v1/projects/{project_id}/folders/{folder_id}/relationships/refs
method: get
operationId: getFolderRelationshipsRefs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /data/v1/projects/{project_id}/folders/{folder_id}/relationships/refs
method: post
operationId: createFolderRelationshipsRef
x-agentic-access:
action-class: acting
consequence: physical
subject: required
scope:
- data:create
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /data/v1/projects/{project_id}/folders/{folder_id}/relationships/links
method: get
operationId: getFolderRelationshipsLinks
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /data/v1/projects/{project_id}/items/{item_id}
method: get
operationId: getItem
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /data/v1/projects/{project_id}/items/{item_id}
method: patch
operationId: patchItem
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- data:write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /data/v1/projects/{project_id}/items/{item_id}/parent
method: get
operationId: getItemParentFolder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /data/v1/projects/{project_id}/items/{item_id}/relationships/refs
method: get
operationId: getItemRelationshipsRefs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /data/v1/projects/{project_id}/items/{item_id}/relationships/refs
method: post
operationId: createItemRelationshipsRef
x-agentic-access:
action-class: acting
consequence: physical
subject: required
scope:
- data:create
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /data/v1/projects/{project_id}/items/{item_id}/refs
method: get
operationId: getItemRefs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /data/v1/projects/{project_id}/items/{item_id}/relationships/links
method: get
operationId: getItemRelationshipsLinks
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /data/v1/projects/{project_id}/items/{item_id}/tip
method: get
operationId: getItemTip
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /data/v1/projects/{project_id}/items/{item_id}/versions
method: get
operationId: getItemVersions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /data/v1/projects/{project_id}/versions/{version_id}
method: get
operationId: getVersion
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /data/v1/projects/{project_id}/versions/{version_id}
method: patch
operationId: patchVersion
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- data:write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /data/v1/projects/{project_id}/versions/{version_id}/item
method: get
operationId: getVersionItem
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /data/v1/projects/{project_id}/versions/{version_id}/refs
method: get
operationId: getVersionRefs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /data/v1/projects/{project_id}/versions/{version_id}/relationships/refs
method: get
operationId: getVersionRelationshipsRefs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /data/v1/projects/{project_id}/versions/{version_id}/relationships/refs
method: post
operationId: createVersionRelationshipsRef
x-agentic-access:
action-class: acting
consequence: physical
subject: required
scope:
- data:create
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /projects/{project_id}/versions/{version_id}/relationships/links
method: get
operationId: getVersionRelationshipsLinks
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /data/v1/projects/{project_id}/storage
method: post
operationId: createStorage
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- data:create
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /data/v1/projects/{project_id}/folders
method: post
operationId: createFolder
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- data:create
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /data/v1/projects/{project_id}/items
method: post
operationId: createItem
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- data:create
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /data/v1/projects/{project_id}/versions
method: post
operationId: createVersion
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- data:create
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /data/v1/projects/{project_id}/versions/{version_id}/downloadFormats
method: get
operationId: getVersionDownloadFormats
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /data/v1/projects/{project_id}/versions/{version_id}/downloads
method: get
operationId: getVersionDownloads
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /data/v1/projects/{project_id}/downloads/{download_id}
method: get
operationId: getDownload
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /data/v1/projects/{project_id}/downloads
method: post
operationId: createDownload
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- data:create
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /data/v1/projects/{project_id}/jobs/{job_id}
method: get
operationId: getDownloadJob
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /data/v1/projects/{project_id}/commands
method: post
operationId: executeCommand
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- data:create
- data:read
- data:write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /construction/issues/v1/projects/{projectId}/users/me
method: get
operationId: getUserProfile
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /construction/issues/v1/projects/{projectId}/issue-types
method: get
operationId: getIssuesTypes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /construction/issues/v1/projects/{projectId}/issue-attribute-definitions
method: get
operationId: getAttributeDefinitions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /construction/issues/v1/projects/{projectId}/issue-attribute-mappings
method: get
operationId: getAttributeMappings
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /construction/issues/v1/projects/{projectId}/issue-root-cause-categories
method: get
operationId: getRootCauseCategories
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /construction/issues/v1/projects/{projectId}/issues
method: get
operationId: getIssues
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /construction/issues/v1/projects/{projectId}/issues
method: post
operationId: createIssue
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: /construction/issues/v1/projects/{projectId}/issues/{issueId}
method: get
operationId: getIssueDetails
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /construction/issues/v1/projects/{projectId}/issues/{issueId}
method: patch
operationId: patchIssueDetails
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: /construction/issues/v1/projects/{projectId}/issues/{issueId}/comments
method: get
operationId: getComments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /construction/issues/v1/projects/{projectId}/issues/{issueId}/comments
method: post
operationId: CreateComments
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: /construction/issues/v1/projects/{projectId}/attachments
method: post
operationId: add-attachments
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: /construction/issues/v1/projects/{projectId}/attachments/{issueId}/items/{attachmentId}
method: delete
operationId: delete-attachment
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: /construction/issues/v1/projects/{projectId}/attachments/{issueId}/items
method: get
operationId: get-attachments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /modelderivative/v2/designdata/formats
method: get
operationId: get-formats
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /modelderivative/v2/designdata/{urn}/metadata
method: get
operationId: get-model-views
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /modelderivative/v2/designdata/{urn}/metadata/{modelGuid}
method: get
operationId: get-object-tree
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /modelderivative/v2/designdata/{urn}/metadata/{modelGuid}/properties
method: get
operationId: get-all-properties
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /modelderivative/v2/designdata/{urn}/metadata/{modelGuid}/properties:query
method: post
operationId: fetch-specific-properties
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- data:read
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /modelderivative/v2/designdata/{urn}/thumbnail
method: get
operationId: get-thumbnail
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /modelderivative/v2/designdata/{urn}/manifest/{derivativeUrn}/signedcookies
method: get
operationId: get-derivative-url
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /modelderivative/v2/designdata/{urn}/manifest/{derivativeUrn}
method: head
operationId: head-check-derivative
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
token:
max-ttl: 3600
audit: none
- path: /modelderivative/v2/designdata/{urn}/manifest
method: get
operationId: get-manifest
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- data:read
- viewable:read
token:
max-ttl: 3600
audit: none
- path: /modelderivative/v2/designdata/{urn}/manifest
method: delete
operationId: delete-manifest
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- data:read
- data:write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /modelderivative/v2/designdata/job
method: post
operationId: start-job
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- data:create
- data:read
- data:write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /modelderivative/v2/designdata/{urn}/references
method: post
operationId: specify-references
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- data:create
# --- truncated at 32 KB (46 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/autodesk-fusion/refs/heads/main/agentic-access/autodesk-fusion-agentic-access.yml