{ "opencollection": "1.0.0", "info": { "name": "Lightroom API Documentation", "version": "1.0.0" }, "items": [ { "info": { "name": "Health", "type": "folder" }, "items": [ { "info": { "name": "Lightroom Services health check", "type": "http" }, "http": { "method": "GET", "url": "https://lr.adobe.io/v2/health", "headers": [ { "name": "X-API-Key", "value": "" } ] }, "docs": "Will return the Lightroom server version ID (a hexadecimal value not guaranteed to be sequential) if the services are up." } ] }, { "info": { "name": "Accounts", "type": "folder" }, "items": [ { "info": { "name": "Retrieve the user account metadata", "type": "http" }, "http": { "method": "GET", "url": "https://lr.adobe.io/v2/account", "headers": [ { "name": "X-API-Key", "value": "" }, { "name": "Authorization", "value": "" } ] }, "docs": "An account is associated with each Adobe customer and contains the personal information and subscription status. This information can be obtained through the authentication APIs and is provided by Lightroom as a convenience." } ] }, { "info": { "name": "Catalogs", "type": "folder" }, "items": [ { "info": { "name": "Retrieve the user catalog metadata", "type": "http" }, "http": { "method": "GET", "url": "https://lr.adobe.io/v2/catalog", "headers": [ { "name": "X-API-Key", "value": "" }, { "name": "Authorization", "value": "" } ] }, "docs": "A catalog is the topmost container of resources for a user. Each catalog contains zero or more assets, albums, or other resources." } ] }, { "info": { "name": "Assets", "type": "folder" }, "items": [ { "info": { "name": "Get a catalog asset", "type": "http" }, "http": { "method": "GET", "url": "https://lr.adobe.io/v2/catalogs/:catalog_id/assets/:asset_id", "headers": [ { "name": "X-API-Key", "value": "" }, { "name": "Authorization", "value": "" } ], "params": [ { "name": "catalog_id", "value": "", "type": "path", "description": "Identifier of the catalog" }, { "name": "asset_id", "value": "", "type": "path", "description": "Identifier of the asset" } ] }, "docs": "Retrieves information about a single asset in a catalog that the caller owns. Successful response may also return invalid flag in the rendition link for the asset. A rendition becomes invalid when an asset is edited after rendition has been generated. New renditions (only 2560 and fullsize) can be generated via Generate Renditions API. The read xmp/develop link in the response will have the invalid flag as true if asset with SHA256 has been created but external xmp/develop has not been uploaded " }, { "info": { "name": "Create asset", "type": "http" }, "http": { "method": "PUT", "url": "https://lr.adobe.io/v2/catalogs/:catalog_id/assets/:asset_id", "headers": [ { "name": "X-API-Key", "value": "" }, { "name": "Authorization", "value": "" } ], "params": [ { "name": "catalog_id", "value": "", "type": "path", "description": "Identifier of the catalog in which the asset will be created." }, { "name": "asset_id", "value": "", "type": "path", "description": "Client-generated Lightroom unique identifier for the new asset." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Create a new asset with initial metadata and import information." }, { "info": { "name": "Retrieve assets", "type": "http" }, "http": { "method": "GET", "url": "https://lr.adobe.io/v2/catalogs/:catalog_id/assets", "headers": [ { "name": "X-API-Key", "value": "" }, { "name": "Authorization", "value": "" } ], "params": [ { "name": "catalog_id", "value": "", "type": "path", "description": "Identifier of the catalog containing the album." }, { "name": "updated_since", "value": "", "type": "query", "description": "Starting timestamp" }, { "name": "captured_before", "value": "", "type": "query", "description": "Used to request assets captured before a given time. captured_before will be found in the \"links.next.href\" link. If no links.next is included in a listing response, this is a hint from the server that there are no assets in the catalog with a date captured_before the last asset in the list (the client has reached the \"bottom\" of the list). captured_before may not be used in conjunction with captured_after." }, { "name": "captured_after", "value": "", "type": "query", "description": "Used to request assets captured after a given time. captured_after will be found in the \"links.prev.href\" link. If no links.prev is included in a listing response, this is a hint from the server that there are no assets in the catalog with a date captured_after the first asset in the list (the client has reached the \"top\" of the list). Note: assets imported without a captureDate payload property default to the value \"0000-00-00T00:00:00\". To list these assets set captured_after to \"-0001-12-31T23:59:59\". captured_after may not be used in conjunction with captured_before." }, { "name": "limit", "value": "", "type": "query", "description": "Number of assets to return. Default value is 100. Maximum is 500. Please note that the response may contain more than 'limit' number of assets returned if the assets at the 'limit' boundary has the same capture_date. For example if there are 5 assets in a catalog and the 3rd, 4th and 5th assets all have the same capture dates the response will contain all 5 assets whether 'limit' is 3, 4 or 5." }, { "name": "sha256", "value": "", "type": "query", "description": "SHA256 hash value of original file. Assets with a matching SHA256 hash will be returned. May be used in conjunction with subtype." }, { "name": "hide_stacked_assets", "value": "", "type": "query", "description": "To show or hide assets inside stacks in the catalog. If hide_stacked_assets is passed as true, assets inside stacks won't be returned. Default value is false." }, { "name": "subtype", "value": "", "type": "query", "description": "Semi-colon separated asset subtype values." }, { "name": "asset_ids", "value": "", "type": "query", "description": "Set of 1 - 100 comma separated asset_id values. Other parameters can not be used in conjunction with this parameter." }, { "name": "exclude", "value": "", "type": "query", "description": "Used to request the list for different types of assets excluding incomplete or complete image and video assets. The valid values are \"incomplete\" and \"complete\". An image or video asset is considered to be complete if its proxy or original upload exists. An asset of subtypes profile, preset, camera_profile or lens_profile is considered complete if its original upload exists." }, { "name": "group", "value": "", "type": "query", "description": "Semi-colon separated group values. Subtype parameter of \"preset\" or \"profile\" is required when using this parameter." }, { "name": "name", "value": "", "type": "query", "description": "Semi-colon separated name values. Subtype parameter of \"preset\" or \"profile\" is required when using this parameter." }, { "name": "favorite", "value": "", "type": "query", "description": "Favorite status, subtype parameter of \"preset\" is required when using this parameter." } ] }, "docs": "Retrieve a list of existing assets that caller owns. Successful response may also return invalid flag in the rendition link for the asset. A rendition becomes invalid when an asset is edited after rendition has been generated. New renditions (only 2560 and fullsize) can be generated via Generate Renditions API. The read xmp/develop link in the response will have the invalid flag as true if asset with SHA256 has been created but external xmp/develop has not been uploaded yet." }, { "info": { "name": "Create an asset original file", "type": "http" }, "http": { "method": "PUT", "url": "https://lr.adobe.io/v2/catalogs/:catalog_id/assets/:asset_id/master", "headers": [ { "name": "X-API-Key", "value": "" }, { "name": "Authorization", "value": "" }, { "name": "Content-Length", "value": "" }, { "name": "Content-Range", "value": "" }, { "name": "Content-Type", "value": "" } ], "params": [ { "name": "catalog_id", "value": "", "type": "path", "description": "Identifier of the catalog in which the asset will be created." }, { "name": "asset_id", "value": "", "type": "path", "description": "Identifier of the asset to which the XMP settings are associated." } ] }, "docs": "Create and upload an original file for the asset. Up to 200 MB may be uploaded per invocation, and larger files may be uploaded by calling this API multiple times with Content-Range headers for each part. When all parts are received the upload will be consolidated asynchronously. All partial uploads should include optional rendition type parameters to ensure the last part received has the necessary options for request post-processing." }, { "info": { "name": "Generate renditions for an original file", "type": "http" }, "http": { "method": "POST", "url": "https://lr.adobe.io/v2/catalogs/:catalog_id/assets/:asset_id/renditions", "headers": [ { "name": "X-API-Key", "value": "" }, { "name": "X-Generate-Renditions", "value": "" }, { "name": "Authorization", "value": "" }, { "name": "Content-Length", "value": "" } ], "params": [ { "name": "catalog_id", "value": "", "type": "path", "description": "Identifier of the catalog in which the asset was created." }, { "name": "asset_id", "value": "", "type": "path", "description": "Identifier of the asset for which rendition gets generated." } ] }, "docs": "Generate renditions for an original file asynchronously. Allowed rendition types are fullsize and 2560. Generated rendition will be deleted after 1 day automatically." }, { "info": { "name": "Get latest asset rendition", "type": "http" }, "http": { "method": "GET", "url": "https://lr.adobe.io/v2/catalogs/:catalog_id/assets/:asset_id/renditions/:rendition_type", "headers": [ { "name": "X-API-Key", "value": "" }, { "name": "Authorization", "value": "" } ], "params": [ { "name": "catalog_id", "value": "", "type": "path", "description": "Identifier of the catalog in which asset exists." }, { "name": "asset_id", "value": "", "type": "path", "description": "Identifier of the asset for which to fetch rendition." }, { "name": "rendition_type", "value": "", "type": "path", "description": "One of the supported rendition types. Supported rendition types are : ['thumbnail2x', 'fullsize', '640', '1280', '2048', '2560']." } ] }, "docs": "Get latest asset rendition of specified type. It returns 404 if rendition does not exist. It returns 404 in another case when rendition is invalid (only for rendition type 2560 and fullsize)" }, { "info": { "name": "Get latest asset external xmp develop setting", "type": "http" }, "http": { "method": "GET", "url": "https://lr.adobe.io/v2/catalogs/:catalog_id/assets/:asset_id/xmp/develop", "headers": [ { "name": "X-API-Key", "value": "" }, { "name": "Authorization", "value": "" } ], "params": [ { "name": "catalog_id", "value": "", "type": "path", "description": "Identifier of the catalog in which asset exists." }, { "name": "asset_id", "value": "", "type": "path", "description": "Identifier of the asset for which to fetch rendition." } ] }, "docs": "Get latest asset external xmp develop setting file" }, { "info": { "name": "Create asset external xmp develop setting file", "type": "http" }, "http": { "method": "PUT", "url": "https://lr.adobe.io/v2/catalogs/:catalog_id/assets/:asset_id/xmp/develop", "headers": [ { "name": "X-API-Key", "value": "" }, { "name": "Authorization", "value": "" }, { "name": "Content-Length", "value": "" }, { "name": "Content-Type", "value": "" } ], "params": [ { "name": "catalog_id", "value": "", "type": "path", "description": "Identifier of the catalog in which the asset will be created." }, { "name": "asset_id", "value": "", "type": "path", "description": "Client-generated Lightroom unique identifier for the new asset." } ], "body": { "type": "json", "data": "{}" } }, "docs": "This API support two workflows. The first workflow is to upload external XMP develop settings file for the asset. Content-type header for this case is application/rdf+xml. The second workflow is to create an external XMP develop settings file by copying from another asset's external xmp develop setting file. Content-type header for this case is application/json." } ] }, { "info": { "name": "Albums", "type": "folder" }, "items": [ { "info": { "name": "Get album", "type": "http" }, "http": { "method": "GET", "url": "https://lr.adobe.io/v2/catalogs/:catalog_id/albums/:album_id", "headers": [ { "name": "X-API-Key", "value": "" }, { "name": "Authorization", "value": "" } ], "params": [ { "name": "catalog_id", "value": "", "type": "path", "description": "Identifier of the catalog containing the album." }, { "name": "album_id", "value": "", "type": "path", "description": "Client-generated Lightroom unique identifier for the new album." } ] }, "docs": "Read a album." }, { "info": { "name": "Update album", "type": "http" }, "http": { "method": "POST", "url": "https://lr.adobe.io/v2/catalogs/:catalog_id/albums/:album_id", "headers": [ { "name": "X-API-Key", "value": "" }, { "name": "Authorization", "value": "" } ], "params": [ { "name": "catalog_id", "value": "", "type": "path", "description": "Identifier of the catalog containing the album." }, { "name": "album_id", "value": "", "type": "path", "description": "Identifier for the album." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Update an existing album. The existing album should be created via the same client app and of subtype project or project_set." }, { "info": { "name": "Create album", "type": "http" }, "http": { "method": "PUT", "url": "https://lr.adobe.io/v2/catalogs/:catalog_id/albums/:album_id", "headers": [ { "name": "X-API-Key", "value": "" }, { "name": "Authorization", "value": "" } ], "params": [ { "name": "catalog_id", "value": "", "type": "path", "description": "Identifier of the catalog containing the album." }, { "name": "album_id", "value": "", "type": "path", "description": "Client-generated Lightroom unique identifier for the new album." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Create a new album." }, { "info": { "name": "Delete album", "type": "http" }, "http": { "method": "DELETE", "url": "https://lr.adobe.io/v2/catalogs/:catalog_id/albums/:album_id", "headers": [ { "name": "X-API-Key", "value": "" }, { "name": "Authorization", "value": "" } ], "params": [ { "name": "catalog_id", "value": "", "type": "path", "description": "Identifier of the catalog containing the album." }, { "name": "album_id", "value": "", "type": "path", "description": "Identifier for the album." }, { "name": "child_albums", "value": "", "type": "query", "description": "This parameter when passed with a value, for example: true would delete all the child albums as well of the album specified. The deletion of child albums will be done asynchronously." } ] }, "docs": "Delete an existing album. The existing album should be created via the same client app and of subtype project or project_set." }, { "info": { "name": "Retrieve albums", "type": "http" }, "http": { "method": "GET", "url": "https://lr.adobe.io/v2/catalogs/:catalog_id/albums", "headers": [ { "name": "X-API-Key", "value": "" }, { "name": "Authorization", "value": "" } ], "params": [ { "name": "catalog_id", "value": "", "type": "path", "description": "Identifier of the catalog containing the album." }, { "name": "subtype", "value": "", "type": "query", "description": "Comma-separated list of subtypes to enumerate. Subtype can be one of 'project' or 'project_set'." }, { "name": "name_after", "value": "", "type": "query", "description": "UTF-8 string representing the name of the album that should precede the current page of results. In other words, the response will contain result with names greater than the 'name_after' value using standard string ordering relations." }, { "name": "limit", "value": "", "type": "query", "description": "Number of albums to return. Default value is 100. Please note that the response may contain more than 'limit' number of albums returned if multiple albums at the 'limit' boundary have the same name_after." } ] }, "docs": "Retrieve a list of existing albums." }, { "info": { "name": "List assets of an album", "type": "http" }, "http": { "method": "GET", "url": "https://lr.adobe.io/v2/catalogs/:catalog_id/albums/:album_id/assets", "headers": [ { "name": "X-API-Key", "value": "" }, { "name": "Authorization", "value": "" } ], "params": [ { "name": "catalog_id", "value": "", "type": "path", "description": "Identifier of the catalog containing the album." }, { "name": "album_id", "value": "", "type": "path", "description": "Identifier of the album." }, { "name": "captured_before", "value": "", "type": "query", "description": "Used to request assets captured before a given time. captured_before will be found in the \"links.next.href\" link. If no links.next is included in a listing response, this is a hint from the server that there are no assets in the catalog with a date captured_before the last asset in the list (the client has reached the \"bottom\" of the list). captured_before may not be used in conjunction with captured_after." }, { "name": "captured_after", "value": "", "type": "query", "description": "Used to request assets captured after a given time. captured_after will be found in the \"links.prev.href\" link. If no links.prev is included in a listing response, this is a hint from the server that there are no assets in the catalog with a date captured_after the first asset in the list (the client has reached the \"top\" of the list). Note: assets imported without a captureDate payload property default to the value \"0000-00-00T00:00:00\". To list these assets set captured_after to \"-0001-12-31T23:59:59\". captured_after may not be used in conjunction with captured_before." }, { "name": "order_after", "value": "", "type": "query", "description": "Used to request assets having order value greater than specified value. Next and previous pages will be found in the \"links.next.href\" and \"links.prev.href\" links respectively. If next/prev link is missing, it indicates that there is no next/prev page. Some rules about using order_after: 1) Specify \"-\" to get the first page. 2) Can be max of 1024 characters. 3) Should be a lex64 sort order string with characters in the set: [-0-9A-Z_a-z] with sort order in the same sequence as in the set [-0-9A-Z_a-z]. 4) captured_before cannot be used with order_after 5) captured_after can be used only if order_after==\"\"" }, { "name": "order_before", "value": "", "type": "query", "description": "Used to request assets having order value lesser than specified value. Next and previous pages will be found in the \"links.next.href\" and \"links.prev.href\" links respectively. If next/prev link is missing, it indicates that there is no next/prev page. Some rules about using order_before: 1) Specify order_before as \"\" and captured_before as a future date to get the first page. 2) Can be max of 1024 characters. 3) Should be a lex64 sort order string with characters in the set: [-0-9A-Z_a-z] with sort order in the same sequence as in the set [-0-9A-Z_a-z]. 4) captured_after cannot be used with order_before 5) captured_before can be used only if order_before==\"\"" }, { "name": "limit", "value": "", "type": "query", "description": "Number of assets to return. Default value is 100. Maximum is 500. Please note that the response may contain more than 'limit' number of assets returned if the assets at the 'limit' boundary has the same capture_date. For example if there are 5 assets in a catalog and the 3rd, 4th and 5th assets all have the same capture dates the response will contain all 5 assets whether 'limit' is 3, 4 or 5." }, { "name": "hide_stacked_assets", "value": "", "type": "query", "description": "To show or hide assets inside stacks in the catalog. If hide_stacked_assets is passed as true, assets inside stacks won't be returned. Default value is false." }, { "name": "subtype", "value": "", "type": "query", "description": "Semi-colon separated asset subtype values." }, { "name": "flag", "value": "", "type": "query", "description": "Semi-colon separated review flag values used to filter assets returned. Can be combined with subtype filter. Valid values for flags are 'pick', 'unflagged' and 'reject'. This parameter cannot be used along with album_filters parameter. Default behavior is to display all assets." }, { "name": "embed", "value": "", "type": "query", "description": "Semicolon-delimited list of additional data to include. When the list includes \"asset\", the asset subdocuments contains all the fields. Otherwise, only the id and self href link are returned in the asset subdocuments." }, { "name": "exclude", "value": "", "type": "query", "description": "Used to request the list for different types of assets excluding incomplete or complete image and video assets. The valid values are \"incomplete\" and \"complete\". An image or video asset is considered to be complete if its proxy or original upload exists. An asset of subtypes profile, preset, camera_profile or lens_profile is considered complete if its original upload exists." }, { "name": "asset_ids", "value": "", "type": "query", "description": "Set of 1 - 100 comma separated asset_id values. Other parameters can not be used in conjunction with this parameter." }, { "name": "album_filters", "value": "", "type": "query", "description": "When album_filters is set to 'true', it filters out all the album assets based on the presentation filters set on the album. With this parameter, rejected assets always get filtered out irrespective of settings in presentation filters. Presentation filters are not applied when any value other than 'true' is set for album_filters. Default behavior is to display all assets. This parameter cannot be used along with flag parameter.\t\tno\nResponse: 200 OK" } ] }, "docs": "Lists assets in an album. The assets in an album are returned sorted on either order if order* parameters are used. The assets in an album are returned sorted on captured date if order* parameters are not used and captured* parameters are used. Please note that the created and updated dates for Album asset documents will be returned as \"0000-00-00T00:00:00\". Successful response may also return invalid flag in the rendition link for the asset. A rendition becomes invalid when an asset is edited a" }, { "info": { "name": "Add assets to album", "type": "http" }, "http": { "method": "PUT", "url": "https://lr.adobe.io/v2/catalogs/:catalog_id/albums/:album_id/assets", "headers": [ { "name": "X-API-Key", "value": "" }, { "name": "Authorization", "value": "" } ], "params": [ { "name": "catalog_id", "value": "", "type": "path", "description": "Identifier of the catalog containing the album." }, { "name": "album_id", "value": "", "type": "path", "description": "Identifier of the album." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Add many assets to the album. Note that there is no default defined order/position for the asset in the album. A payload may be provided with cover, order, and any other data allowed in the data model. If the asset already exists in the album and the cover field is supplied, then no error is thrown but only the cover update is applied and other entries in the payload are completely ignored. In all other cases trying to add an asset to an album that is already in the album will return an error. L" } ] } ], "bundled": true }