Onshape · Agentic Access

Onshape Agentic Access

x-agentic-access generated

Onshape exposes 302 API operations that an AI agent could call, of which 142 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: 160 read, 138 write, 2 physical, and 2 safety-critical.

2 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.

CompanyCADPLMProduct Data ManagementEngineeringManufacturingDesignCloudDeveloper Tools
Operations: 302 Acting: 142 Human-in-the-loop: 2 Method: generated

By consequence

read 160 write 138 physical 2 safety-critical 2

Highest-consequence actions

The physical and safety-critical operations an agent could invoke — the ones that most warrant scoped tokens, tight TTLs, and escalation. Full per-operation contracts are in the source below.

MethodPathConsequenceHuman-in-loop
DELETE /folders/{fid}/share/{eid} safety-critical required
POST /publications/{pid}/items safety-critical required
POST /accounts/purchases/{pid}/consume physical conditional
DELETE /accounts/{aid}/purchases/{pid} physical conditional

Source

Agentic Access

Raw ↑
generated: '2026-07-20'
method: generated
source: openapi/onshape-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: 302
  by_action_class:
    connected: 160
    acting: 142
  by_consequence:
    read: 160
    physical: 2
    write: 138
    safety-critical: 2
  human_in_the_loop_required: 2
operations:
- path: /accounts/plans/{planId}/purchases
  method: get
  operationId: getPlanPurchases
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /accounts/purchases
  method: get
  operationId: getPurchases
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /accounts/purchases/{pid}/consume
  method: post
  operationId: consumePurchase
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - OAuth2Purchase
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /accounts/{aid}/purchases/{pid}
  method: delete
  operationId: cancelPurchaseNew
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - OAuth2Purchase
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /aliases
  method: get
  operationId: getAliasesInCompany
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /aliases
  method: post
  operationId: createAlias
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /aliases/{aid}
  method: get
  operationId: getAlias
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /aliases/{aid}
  method: post
  operationId: updateAlias
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /aliases/{aid}
  method: delete
  operationId: deleteAlias
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /aliases/{aid}/members
  method: get
  operationId: getAliasMembers
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /appelements/d/{did}/w/{wid}
  method: post
  operationId: createElement
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /appelements/d/{did}/w/{wid}/bulkcreate
  method: post
  operationId: bulkCreateElement
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /appelements/d/{did}/w/{wid}/e/{eid}/blob/{bid}
  method: get
  operationId: downloadBlobSubelementWorkspace
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /appelements/d/{did}/w/{wid}/e/{eid}/blob/{bid}
  method: post
  operationId: uploadBlobSubelement
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /appelements/d/{did}/w/{wid}/e/{eid}/blob/{bid}
  method: delete
  operationId: deleteBlobSubelement
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /appelements/d/{did}/w/{wid}/e/{eid}/copyassociativedata
  method: post
  operationId: copyAssociativeData
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /appelements/d/{did}/w/{wid}/e/{eid}/transactions
  method: get
  operationId: getElementTransactions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /appelements/d/{did}/w/{wid}/e/{eid}/transactions
  method: post
  operationId: startTransaction
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /appelements/d/{did}/w/{wid}/e/{eid}/transactions/{tid}
  method: delete
  operationId: abortTransaction
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /appelements/d/{did}/w/{wid}/transactions
  method: post
  operationId: commitTransactions
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /appelements/d/{did}/{vm}/{vmid}/e/{eid}/blob/{bid}
  method: get
  operationId: downloadBlobSubelement
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /appelements/d/{did}/{wvm}/{wvmid}/e/{eid}/associativedata
  method: get
  operationId: getAssociativeData
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /appelements/d/{did}/{wvm}/{wvmid}/e/{eid}/associativedata
  method: post
  operationId: postAssociativeData
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Read
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /appelements/d/{did}/{wvm}/{wvmid}/e/{eid}/associativedata
  method: delete
  operationId: deleteAssociativeData
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /appelements/d/{did}/{wvm}/{wvmid}/e/{eid}/blob
  method: get
  operationId: getBlobSubelementIds
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /appelements/d/{did}/{wvm}/{wvmid}/e/{eid}/compare
  method: get
  operationId: compareAppElementJson
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /appelements/d/{did}/{wvm}/{wvmid}/e/{eid}/content
  method: get
  operationId: getSubElementContent
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /appelements/d/{did}/{wvm}/{wvmid}/e/{eid}/content
  method: post
  operationId: updateAppElement
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Read
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /appelements/d/{did}/{wvm}/{wvmid}/e/{eid}/content/history
  method: get
  operationId: getAppElementHistory
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /appelements/d/{did}/{wvm}/{wvmid}/e/{eid}/content/ids
  method: get
  operationId: getSubelementIds
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /appelements/d/{did}/{wvm}/{wvmid}/e/{eid}/content/json
  method: get
  operationId: getJson
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /appelements/d/{did}/{wvm}/{wvmid}/e/{eid}/content/jsonpaths
  method: post
  operationId: getJsonPaths
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Read
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /appelements/d/{did}/{wvm}/{wvmid}/e/{eid}/content/subelements
  method: get
  operationId: getSubElementContentBatch
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /appelements/d/{did}/{wvm}/{wvmid}/e/{eid}/content/subelements
  method: delete
  operationId: deleteAppElementContentBatch
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /appelements/d/{did}/{wvm}/{wvmid}/e/{eid}/content/subelements/{sid}
  method: delete
  operationId: deleteAppElementContent
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /appelements/d/{did}/{wvm}/{wvmid}/e/{eid}/references
  method: post
  operationId: createReference
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /appelements/d/{did}/{wvm}/{wvmid}/e/{eid}/references/{rid}
  method: get
  operationId: resolveReference
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /appelements/d/{did}/{wvm}/{wvmid}/e/{eid}/references/{rid}
  method: post
  operationId: updateReference
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /appelements/d/{did}/{wvm}/{wvmid}/e/{eid}/references/{rid}
  method: delete
  operationId: deleteReference
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /appelements/d/{did}/{wvm}/{wvmid}/e/{eid}/resolvereferences
  method: get
  operationId: resolveReferences
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /appelements/d/{did}/{wvm}/{wvmid}/resolvereferences
  method: get
  operationId: resolveAllElementReferences
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /applications/clients/{cid}/settings/companies/{cpid}
  method: get
  operationId: getCompanyAppSettings
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /applications/clients/{cid}/settings/companies/{cpid}
  method: post
  operationId: updateAppCompanySettings
  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/clients/{cid}/settings/companies/{cpid}
  method: delete
  operationId: deleteCompanyAppSettings
  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/clients/{cid}/settings/users/{uid}
  method: get
  operationId: getUserAppSettings
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /applications/clients/{cid}/settings/users/{uid}
  method: post
  operationId: updateAppSettings
  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/clients/{cid}/settings/users/{uid}
  method: delete
  operationId: deleteAppSettings
  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/extensions/user/{uid}/client/{cid}
  method: get
  operationId: getApplicableExtensionsForClient
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2ReadPII
    token:
      max-ttl: 3600
    audit: none
- path: /assemblies/d/{did}/e/{eid}/namedViews
  method: get
  operationId: getNamedViews
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /assemblies/d/{did}/w/{wid}
  method: post
  operationId: createAssembly
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /assemblies/d/{did}/w/{wid}/e/{eid}/bomelement
  method: post
  operationId: getOrCreateBillOfMaterialsElement
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Read
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /assemblies/d/{did}/w/{wid}/e/{eid}/features/featureid/{fid}
  method: post
  operationId: updateFeature
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /assemblies/d/{did}/w/{wid}/e/{eid}/features/featureid/{fid}
  method: delete
  operationId: deleteFeature
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /assemblies/d/{did}/w/{wid}/e/{eid}/instance/nodeid/{nid}
  method: delete
  operationId: deleteInstance
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /assemblies/d/{did}/w/{wid}/e/{eid}/instances
  method: post
  operationId: createInstance
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Read
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /assemblies/d/{did}/w/{wid}/e/{eid}/matevalues
  method: post
  operationId: updateMateValues
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /assemblies/d/{did}/w/{wid}/e/{eid}/modify
  method: post
  operationId: modify
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /assemblies/d/{did}/w/{wid}/e/{eid}/occurrencetransforms
  method: post
  operationId: transformOccurrences
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Read
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /assemblies/d/{did}/w/{wid}/e/{eid}/transformedinstances
  method: post
  operationId: insertTransformedInstances
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Read
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /assemblies/d/{did}/{wvm}/{wvmid}/e/{eid}
  method: get
  operationId: getAssemblyDefinition
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /assemblies/d/{did}/{wvm}/{wvmid}/e/{eid}/bom
  method: get
  operationId: getBillOfMaterials
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /assemblies/d/{did}/{wvm}/{wvmid}/e/{eid}/boundingboxes
  method: get
  operationId: getAssemblyBoundingBoxes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /assemblies/d/{did}/{wvm}/{wvmid}/e/{eid}/displaystates
  method: get
  operationId: getDisplayStates
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /assemblies/d/{did}/{wvm}/{wvmid}/e/{eid}/explodedviews
  method: get
  operationId: getExplodedViews
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /assemblies/d/{did}/{wvm}/{wvmid}/e/{eid}/features
  method: get
  operationId: getFeatures
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /assemblies/d/{did}/{wvm}/{wvmid}/e/{eid}/features
  method: post
  operationId: addFeature
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /assemblies/d/{did}/{wvm}/{wvmid}/e/{eid}/featurespecs
  method: get
  operationId: getFeatureSpecs
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /assemblies/d/{did}/{wvm}/{wvmid}/e/{eid}/massproperties
  method: get
  operationId: getAssemblyMassProperties
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /assemblies/d/{did}/{wvm}/{wvmid}/e/{eid}/namedpositions
  method: get
  operationId: getNamedPositions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /assemblies/d/{did}/{wvm}/{wvmid}/e/{eid}/shadedviews
  method: get
  operationId: getAssemblyShadedViews
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /assemblies/d/{did}/{wv}/{wvid}/e/{eid}/export/gltf
  method: post
  operationId: createAssemblyExportGltf
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Read
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /assemblies/d/{did}/{wv}/{wvid}/e/{eid}/export/obj
  method: post
  operationId: createAssemblyExportObj
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Read
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /assemblies/d/{did}/{wv}/{wvid}/e/{eid}/export/step
  method: post
  operationId: createAssemblyExportStep
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Read
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /assemblies/d/{did}/{wv}/{wvid}/e/{eid}/matevalues
  method: get
  operationId: getMateValues
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /assemblies/d/{did}/{wv}/{wvid}/e/{eid}/translations
  method: post
  operationId: translateFormat
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Read
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /billing/plans/client/{cid}
  method: get
  operationId: getClientPlans
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /blobelements/d/{did}/w/{wid}
  method: post
  operationId: uploadFileCreateElement
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /blobelements/d/{did}/w/{wid}/e/{eid}
  method: get
  operationId: downloadFileWorkspace
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /blobelements/d/{did}/w/{wid}/e/{eid}
  method: post
  operationId: uploadFileUpdateElement
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /blobelements/d/{did}/w/{wid}/e/{eid}/units
  method: post
  operationId: updateUnits
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /blobelements/d/{did}/{wv}/{wvid}/e/{eid}/translations
  method: post
  operationId: createBlobTranslation
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Read
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /comments
  method: get
  operationId: getComments
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /comments
  method: post
  operationId: createComment
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Read
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /comments/{cid}
  method: get
  operationId: getComment
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /comments/{cid}
  method: post
  operationId: updateComment
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /comments/{cid}
  method: delete
  operationId: deleteComment
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Delete
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /comments/{cid}/attachment
  method: post
  operationId: addAttachment
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /comments/{cid}/attachment
  method: delete
  operationId: deleteAttachments
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Delete
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /comments/{cid}/attachment/{fdid}.{ext}
  method: get
  operationId: getAttachment
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /comments/{cid}/reopen
  method: post
  operationId: reopen
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /comments/{cid}/resolve
  method: post
  operationId: resolve
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /companies
  method: get
  operationId: findCompany
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{cid}
  method: get
  operationId: getCompany
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{cid}/documentsbyname
  method: get
  operationId: getDocumentsByName
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - OAuth2Read
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{cid}/globalpermission/{type}/{id}
  method: post
  operationId: addGlobalPermissionsForIdentity
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /companies/{cid}/globalpermission/{type}/{id}
  method: delete
  operationId: clearGlobalPermissions
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - OAuth2Delete
    audience: null
    token:
      max-ttl: 90

# --- truncated at 32 KB (95 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/onshape/refs/heads/main/agentic-access/onshape-agentic-access.yml