Lucid · Agentic Access

Lucid Agentic Access

x-agentic-access generated

Lucid exposes 220 API operations that an AI agent could call, of which 126 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: 94 read, 124 write, 1 physical, and 1 safety-critical.

1 operation 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.

Visual CollaborationDiagrammingWhiteboardingProductivitySaaSCloud VisualizationSCIMIdentityDataMCP
Operations: 220 Acting: 126 Human-in-the-loop: 1 Method: generated

By consequence

read 94 write 124 physical 1 safety-critical 1

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
POST /v1/oauth2/token/revoke safety-critical required
POST /v1/transferUserContent physical conditional

Source

Agentic Access

Raw ↑
generated: '2026-08-01'
method: generated
source: openapi/lucid-chatgpt-plugin-openapi.yaml, openapi/lucid-data-api-openapi.yml, openapi/lucid-rest-api-openapi.yml,
  openapi/lucid-scim-api-openapi.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: 220
  by_action_class:
    acting: 126
    connected: 94
  by_consequence:
    write: 124
    read: 94
    safety-critical: 1
    physical: 1
  human_in_the_loop_required: 1
operations:
- path: /createDiagram
  method: post
  operationId: createDiagram
  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: /rateLimits
  method: get
  operationId: getRateLimits
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - data-service.admin
    token:
      max-ttl: 3600
    audit: none
- path: /dataSets
  method: head
  operationId: getDataSetCount
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - data-service.admin
    token:
      max-ttl: 3600
    audit: none
- path: /dataSets
  method: get
  operationId: getAllDataSets
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - data-service.admin
    token:
      max-ttl: 3600
    audit: none
- path: /dataSets
  method: post
  operationId: createDataSet
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /dataSets/{dataSetId}
  method: get
  operationId: getDataSet
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - data-service.admin
    token:
      max-ttl: 3600
    audit: none
- path: /dataSets/{dataSetId}
  method: patch
  operationId: updateDataSetName
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /dataSets/{dataSetId}
  method: delete
  operationId: deleteDataSet
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /dataSetGrants/{dataSetId}
  method: get
  operationId: getDataSetGrant
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - data-service.admin
    token:
      max-ttl: 3600
    audit: none
- path: /dataSetGrants/{dataSetId}
  method: delete
  operationId: deleteDataSetGrant
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /dataSetGrants
  method: get
  operationId: getAllDataSetGrants
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - data-service.admin
    token:
      max-ttl: 3600
    audit: none
- path: /dataSetGrants
  method: post
  operationId: createDataSetGrant
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /dataSets/{dataSetId}/properties
  method: get
  operationId: getDataSetProperties
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - data-service.admin
    token:
      max-ttl: 3600
    audit: none
- path: /dataSets/{dataSetId}/properties
  method: patch
  operationId: updateDataSetProperties
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /dataSets/{dataSetId}/properties
  method: delete
  operationId: deleteDataSetProperties
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /dataSources
  method: head
  operationId: getDataSourceCount
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - data-service.admin
    token:
      max-ttl: 3600
    audit: none
- path: /dataSources
  method: get
  operationId: getAllDataSources
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - data-service.admin
    token:
      max-ttl: 3600
    audit: none
- path: /dataSources
  method: post
  operationId: createDataSource
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /dataSources/{dataSourceId}
  method: get
  operationId: getDataSource
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - data-service.admin
    token:
      max-ttl: 3600
    audit: none
- path: /dataSources/{dataSourceId}
  method: patch
  operationId: updateDataSource
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /dataSources/{dataSourceId}
  method: delete
  operationId: deleteDataSource
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /adapter/csv
  method: post
  operationId: createDataSourceFromCSV
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /adapter/csv
  method: put
  operationId: updateDataSourceFromCSV
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /collections
  method: head
  operationId: getTotalCollectionsCount
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - data-service.admin
    token:
      max-ttl: 3600
    audit: none
- path: /collections
  method: get
  operationId: getAllCollections
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - data-service.admin
    token:
      max-ttl: 3600
    audit: none
- path: /collections
  method: post
  operationId: createCollection
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /collections/{collectionId}
  method: get
  operationId: getCollection
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - data-service.admin
    token:
      max-ttl: 3600
    audit: none
- path: /collections/{collectionId}
  method: patch
  operationId: updateCollection
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /collections/{collectionId}
  method: delete
  operationId: deleteCollection
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /collections/{collectionId}/metadata
  method: get
  operationId: getAllMetadataCollections
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - data-service.admin
    token:
      max-ttl: 3600
    audit: none
- path: /collections/{collectionId}/metadata
  method: post
  operationId: createMetadataCollection
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /collections/{collectionId}/properties
  method: get
  operationId: getCollectionProperties
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - data-service.admin
    token:
      max-ttl: 3600
    audit: none
- path: /collections/{collectionId}/properties
  method: patch
  operationId: updateCollectionProperties
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /collections/{collectionId}/properties
  method: delete
  operationId: deleteCollectionProperties
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /collections/{collectionId}/schema/{fieldDefinitionId}
  method: get
  operationId: getFieldDefinition
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - data-service.admin
    token:
      max-ttl: 3600
    audit: none
- path: /collections/{collectionId}/schema/{fieldDefinitionId}
  method: patch
  operationId: updateFieldDefinition
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /collections/{collectionId}/schema/{fieldDefinitionId}
  method: delete
  operationId: deleteFieldDefinition
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /collections/{collectionId}/schema
  method: get
  operationId: getAllFieldDefinitions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - data-service.admin
    token:
      max-ttl: 3600
    audit: none
- path: /collections/{collectionId}/schema
  method: patch
  operationId: updateFieldDefinitions
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /collections/{collectionId}/schema
  method: delete
  operationId: deleteFieldDefinitions
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /collections/{collectionId}/items
  method: head
  operationId: getTotalDataItemsCount
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - data-service.admin
    token:
      max-ttl: 3600
    audit: none
- path: /collections/{collectionId}/items
  method: get
  operationId: getAllDataItems
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - data-service.admin
    token:
      max-ttl: 3600
    audit: none
- path: /collections/{collectionId}/items
  method: post
  operationId: createDataItems
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /collections/{collectionId}/items
  method: patch
  operationId: updateDataItems
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /collections/{collectionId}/items
  method: delete
  operationId: deleteDataItems
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /collections/{collectionId}/items/{dataItemId}
  method: get
  operationId: getDataItem
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - data-service.admin
    token:
      max-ttl: 3600
    audit: none
- path: /collections/{collectionId}/items/{dataItemId}
  method: post
  operationId: getDataItemsByKey
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /collections/{collectionId}/items/{dataItemId}
  method: patch
  operationId: updateDataItem
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /collections/{collectionId}/items/{dataItemId}
  method: delete
  operationId: deleteDataItem
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /collections/{collectionId}/itemsByKey
  method: patch
  operationId: updateDataItemsByKey
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /collections/{collectionId}/itemsByKey
  method: delete
  operationId: deleteDataItemsByKey
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - data-service.admin
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/oauth2/token
  method: post
  operationId: createOrRefreshAccessToken
  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: /v1/oauth2/token/introspect
  method: post
  operationId: introspectAccessToken
  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: /v1/oauth2/token/revoke
  method: post
  operationId: revokeAccessToken
  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: /v1/accounts/me
  method: get
  operationId: getAccountInformation
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - AccountReadonly
    - account.info
    token:
      max-ttl: 3600
    audit: none
- path: /v1/accounts/me/classifications
  method: get
  operationId: getClassifications
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - AccountReadonly
    - account.info
    token:
      max-ttl: 3600
    audit: none
- path: /v1/accounts/me/documents/search
  method: post
  operationId: SearchAccountDocuments
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - DocumentAdmin
    - lucidchart.document.content:admin.readonly
    - lucidscale.document.content:admin.readonly
    - lucidspark.document.content:admin.readonly
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/accounts/me/legalHolds
  method: post
  operationId: createLegalHold
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - LegalHoldEdit
    - account.legalhold
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/accounts/me/legalHolds
  method: get
  operationId: getLegalHolds
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - LegalHoldReadonly
    - account.legalhold
    - account.legalhold:readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1/accounts/me/legalHolds/{legalHoldId}/users/add
  method: post
  operationId: addLegalHoldUsers
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - LegalHoldEdit
    - account.legalhold
    - account.legalhold.users
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/accounts/me/legalHolds/{legalHoldId}/users/remove
  method: post
  operationId: removeLegalHoldUsers
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - LegalHoldEdit
    - account.legalhold
    - account.legalhold.users
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/accounts/me/legalHolds/{legalHoldId}
  method: patch
  operationId: editLegalHold
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - LegalHoldEdit
    - account.legalhold
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/accounts/me/legalHolds/{legalHoldId}/release
  method: post
  operationId: releaseLegalHold
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - LegalHoldEdit
    - account.legalhold
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/accounts/me/legalHolds/{legalHoldId}/users
  method: get
  operationId: getLegalHoldUsers
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - LegalHoldReadonly
    - account.legalhold
    - account.legalhold.users
    - account.legalhold.users:readonly
    - account.legalhold:readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1/accounts/me/legalHoldDocuments/{legalHoldId}
  method: get
  operationId: getLegalHoldDocuments
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - LegalHoldReadonly
    - account.legalhold
    - account.legalhold:readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1/documents/{id}/shares/users/{userId}
  method: get
  operationId: getDocumentUserCollaborators
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - DocumentReadonly
    - lucidchart.document.app.folder
    - lucidchart.document.app.picker.share.collaborator:readonly
    - lucidchart.document.content.share.collaborator:readonly
    - lucidscale.document.app.folder
    - lucidscale.document.app.picker.share.collaborator:readonly
    - lucidscale.document.content.share.collaborator:readonly
    - lucidspark.document.app.folder
    - lucidspark.document.app.picker.share.collaborator:readonly
    - lucidspark.document.content.share.collaborator:readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1/documents/{id}/shares/users/{userId}
  method: put
  operationId: putDocumentUserCollaborators
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - DocumentEdit
    - lucidchart.document.app.folder
    - lucidchart.document.app.picker.share.collaborator
    - lucidchart.document.content.share.collaborator
    - lucidscale.document.app.folder
    - lucidscale.document.app.picker.share.collaborator
    - lucidscale.document.content.share.collaborator
    - lucidspark.document.app.folder
    - lucidspark.document.app.picker.share.collaborator
    - lucidspark.document.content.share.collaborator
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/documents/{id}/shares/users/{userId}
  method: delete
  operationId: deleteDocumentUserCollaborators
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - DocumentEdit
    - lucidchart.document.app.folder
    - lucidchart.document.app.picker.share.collaborator
    - lucidchart.document.content.share.collaborator
    - lucidscale.document.app.folder
    - lucidscale.document.app.picker.share.collaborator
    - lucidscale.document.content.share.collaborator
    - lucidspark.document.app.folder
    - lucidspark.document.app.picker.share.collaborator
    - lucidspark.document.content.share.collaborator
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/documents/{id}/shares/users
  method: get
  operationId: listDocumentUserCollaborators
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - DocumentReadonly
    - lucidchart.document.app.folder
    - lucidchart.document.app.picker.share.collaborator:readonly
    - lucidchart.document.content.share.collaborator:readonly
    - lucidscale.document.app.folder
    - lucidscale.document.app.picker.share.collaborator:readonly
    - lucidscale.document.content.share.collaborator:readonly
    - lucidspark.document.app.folder
    - lucidspark.document.app.picker.share.collaborator:readonly
    - lucidspark.document.content.share.collaborator:readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1/documents/{id}/shares/teams/{teamId}
  method: get
  operationId: getDocumentTeamCollaborator
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - DocumentReadonly
    - lucidchart.document.app.folder
    - lucidchart.document.app.picker.share.collaborator:readonly
    - lucidchart.document.content.share.collaborator:readonly
    - lucidscale.document.app.folder
    - lucidscale.document.app.picker.share.collaborator:readonly
    - lucidscale.document.content.share.collaborator:readonly
    - lucidspark.document.app.folder
    - lucidspark.document.app.picker.share.collaborator:readonly
    - lucidspark.document.content.share.collaborator:readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1/documents/{id}/shares/teams/{teamId}
  method: put
  operationId: putDocumentTeamCollaborator
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - DocumentEdit
    - lucidchart.document.app.folder
    - lucidchart.document.app.picker.share.collaborator
    - lucidchart.document.content.share.collaborator
    - lucidscale.document.app.folder
    - lucidscale.document.app.picker.share.collaborator
    - lucidscale.document.content.share.collaborator
    - lucidspark.document.app.folder
    - lucidspark.document.app.picker.share.collaborator
    - lucidspark.document.content.share.collaborator
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/documents/{id}/shares/teams/{teamId}
  method: delete
  operationId: deleteDocumentTeamCollaborator
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - DocumentEdit
    - lucidchart.document.app.folder
    - lucidchart.document.app.picker.share.collaborator
    - lucidchart.document.content.share.collaborator
    - lucidscale.document.app.folder
    - lucidscale.document.app.picker.share.collaborator
    - lucidscale.document.content.share.collaborator
    - lucidspark.document.app.folder
    - lucidspark.document.app.picker.share.collaborator
    - lucidspark.document.content.share.collaborator
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/folders/{id}/shares/users/{userId}
  method: get
  operationId: getFolderUserCollaborators
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - FolderReadonly
    - folder:readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1/folders/{id}/shares/users/{userId}
  method: put
  operationId: putFolderUserCollaborator
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - FolderEdit
    - folder
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/folders/{id}/shares/users/{userId}
  method: delete
  operationId: deleteFolderUserCollaborator
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - FolderEdit
    - folder
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/folders/{id}/shares/users
  method: get
  operationId: listFolderUserCollaborators
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - FolderReadonly
    - folder:readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1/folders/{id}/shares/groups/{groupId}
  method: get
  operationId: getFolderGroupCollaborator
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - FolderReadonly
    - folder
    - folder:readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1/folders/{id}/shares/groups/{groupId}
  method: put
  operationId: updateFolderGroupCollaborator
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - FolderEdit
    - folder
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/folders/{id}/shares/groups/{groupId}
  method: delete
  operationId: deleteFolderGroupCollaborator
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - FolderEdit
    - folder
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/folders/{id}/shares/groups
  method: get
  operationId: listFolderGroupCollaborators
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - FolderReadonly
    - folder
    - folder:readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1/folders/{id}/shares/teams/{teamId}
  method: get
  operationId: getFolderTeamCollaborator
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - FolderReadonly
    - folder:readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1/folders/{id}/shares/teams/{teamId}
  method: put
  operationId: putFolderTeamCollaborator
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - FolderEdit
    - folder
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/folders/{id}/shares/teams/{teamId}
  method: delete
  operationId: deleteFolderTeamCollaborator
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - FolderEdit
    - folder
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      trigge

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