generated: '2026-07-15' method: generated source: openapi/lightroom-albums-openapi.yml, openapi/lightroom-assets-openapi.yml, openapi/lightroom-catalog-openapi.yml, openapi/lightroom-firefly-services-openapi.yml, openapi/lightroom-services-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: 37 by_action_class: connected: 20 acting: 17 by_consequence: read: 20 write: 16 safety-critical: 1 human_in_the_loop_required: 1 operations: - path: /catalogs/{catalog_id}/albums method: get operationId: listAlbums x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - lr_partner_apis - path: /catalogs/{catalog_id}/albums/{album_id} method: get operationId: getAlbum x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - lr_partner_apis - path: /catalogs/{catalog_id}/albums/{album_id} method: put operationId: createOrUpdateAlbum 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 scope: - lr_partner_apis - path: /catalogs/{catalog_id}/albums/{album_id} method: delete operationId: deleteAlbum 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 scope: - lr_partner_apis - path: /catalogs/{catalog_id}/albums/{album_id}/assets method: get operationId: listAlbumAssets x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - lr_partner_apis - path: /catalogs/{catalog_id}/albums/{album_id}/assets method: put operationId: addAssetsToAlbum 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 scope: - lr_partner_apis - path: /catalogs/{catalog_id}/albums/{album_id}/assets/{asset_id} method: delete operationId: removeAssetFromAlbum 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 scope: - lr_partner_apis - path: /catalogs/{catalog_id}/assets method: get operationId: listAssets x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - lr_partner_apis - path: /catalogs/{catalog_id}/assets/{asset_id} method: get operationId: getAsset x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - lr_partner_apis - path: /catalogs/{catalog_id}/assets/{asset_id} method: put operationId: createOrUpdateAsset 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 scope: - lr_partner_apis - path: /catalogs/{catalog_id}/assets/{asset_id}/master method: put operationId: uploadMaster 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 scope: - lr_partner_apis - path: /catalogs/{catalog_id}/assets/{asset_id}/xmp/develop method: get operationId: getDevelopXmp x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - lr_partner_apis - path: /catalogs/{catalog_id}/assets/{asset_id}/xmp/develop method: put operationId: putDevelopXmp 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 scope: - lr_partner_apis - path: /catalogs/{catalog_id}/assets/{asset_id}/renditions/{rendition_type} method: get operationId: getRendition x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - lr_partner_apis - path: /health method: get operationId: getHealthCheck x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - lr_partner_apis - path: /catalog method: get operationId: getCatalog x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - lr_partner_apis - path: /catalogs/{catalog_id} method: get operationId: getCatalogById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - lr_partner_apis - path: /lrService/autoTone method: post operationId: autoTone 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 scope: - firefly_api - path: /lrService/autoStraighten method: post operationId: autoStraighten 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 scope: - firefly_api - path: /lrService/presets method: post operationId: applyPresets 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 scope: - firefly_api - path: /lrService/edit method: post operationId: editImage 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 scope: - firefly_api - path: /health method: get operationId: getHealthCheck x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - lr_partner_apis - path: /catalog method: get operationId: getCatalog x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - lr_partner_apis - path: /catalogs/{catalog_id} method: get operationId: getCatalogById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - lr_partner_apis - path: /catalogs/{catalog_id}/assets method: get operationId: listCatalogAssets x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - lr_partner_apis - path: /catalogs/{catalog_id}/assets/{asset_id} method: get operationId: getAsset x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - lr_partner_apis - path: /catalogs/{catalog_id}/assets/{asset_id} method: put operationId: createRevisionForAsset 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 scope: - lr_partner_apis - path: /catalogs/{catalog_id}/assets/{asset_id}/master method: put operationId: uploadMasterAsset 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 scope: - lr_partner_apis - path: /catalogs/{catalog_id}/assets/{asset_id}/xmp/develop method: get operationId: getAssetDevelopXmp x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - lr_partner_apis - path: /catalogs/{catalog_id}/assets/{asset_id}/xmp/develop method: put operationId: putAssetDevelopXmp 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 scope: - lr_partner_apis - path: /catalogs/{catalog_id}/assets/{asset_id}/renditions/{rendition_type} method: get operationId: getAssetRendition x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - lr_partner_apis - path: /catalogs/{catalog_id}/albums method: get operationId: listAlbums x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - lr_partner_apis - path: /catalogs/{catalog_id}/albums/{album_id} method: get operationId: getAlbum x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - lr_partner_apis - path: /catalogs/{catalog_id}/albums/{album_id} method: put operationId: createOrUpdateAlbum 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 scope: - lr_partner_apis - path: /catalogs/{catalog_id}/albums/{album_id} method: delete operationId: deleteAlbum 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 scope: - lr_partner_apis - path: /catalogs/{catalog_id}/albums/{album_id}/assets method: get operationId: listAlbumAssets x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - lr_partner_apis - path: /catalogs/{catalog_id}/albums/{album_id}/assets method: put operationId: addAssetsToAlbum 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 scope: - lr_partner_apis