Lightroom Services API

Core partner API for accessing Lightroom cloud catalog data, albums, and assets. Partner applications authenticate Lightroom customers through Adobe Identity Management System using a standard OAuth 2.0 workflow.

OpenAPI Specification

lightroom-services-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Adobe Lightroom Lightroom Services API
  description: >-
    Core partner API for accessing Adobe Lightroom cloud catalog data, albums,
    and assets. Partner applications authenticate Lightroom customers through
    Adobe Identity Management System (IMS) using a standard OAuth 2.0 workflow.
    Provides RESTful access to a customer's cloud-synced Lightroom catalog
    including photos, albums, and metadata.
  version: '2'
  contact:
    name: Adobe Lightroom Developer Support
    url: https://community.adobe.com/t5/lightroom/ct-p/ct-lightroom
  license:
    name: Adobe Terms of Service
    url: https://www.adobe.com/legal/terms.html
  termsOfService: https://www.adobe.com/legal/terms.html
externalDocs:
  description: Lightroom Services API Documentation
  url: https://developer.adobe.com/lightroom/lightroom-api-docs/api/
servers:
- url: https://lr.adobe.io/v2
  description: Lightroom Services Production Server
tags:
- name: Albums
  description: Operations on albums and album assets
- name: Assets
  description: >-
    Operations on photo assets including upload, download, metadata, and
    renditions
- name: Catalog
  description: Operations on the customer's Lightroom catalog
- name: Health
  description: API health check endpoints
- name: Renditions
  description: Operations on asset renditions (thumbnails and previews)
security:
- oauth2:
  - lr_partner_apis
- apiKey: []
paths:
  /health:
    get:
      operationId: getHealthCheck
      summary: Adobe Lightroom Get Api Health Status
      description: >-
        Returns the health status of the Lightroom Services API. This endpoint
        does not require authentication and can be used to verify API
        availability.
      tags:
      - Health
      security: []
      responses:
        '200':
          description: API is healthy and available
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HealthResponse'
              examples:
                Gethealthcheck200Example:
                  summary: Default getHealthCheck 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /catalog:
    get:
      operationId: getCatalog
      summary: Adobe Lightroom Get the Customer's Catalog
      description: >-
        Retrieves the catalog metadata for the authenticated Lightroom customer.
        Each customer has a single catalog that contains all their assets and
        albums. The catalog_id returned is used as a path parameter in most
        other API calls.
      tags:
      - Catalog
      parameters:
      - $ref: '#/components/parameters/XApiKey'
      responses:
        '200':
          description: Catalog retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogResponse'
              examples:
                Getcatalog200Example:
                  summary: Default getCatalog 200 response
                  x-microcks-default: true
                  value:
                    base: example_value
                    id: abc123
                    type: example_value
                    created: '2026-01-15T10:30:00Z'
                    updated: '2026-01-15T10:30:00Z'
                    payload:
                      name: Example Title
                      userCreated: '2026-01-15T10:30:00Z'
                      userUpdated: '2026-01-15T10:30:00Z'
                    links: {}
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /catalogs/{catalog_id}:
    get:
      operationId: getCatalogById
      summary: Adobe Lightroom Get Catalog by Id
      description: >-
        Retrieves catalog metadata for a specific catalog by its identifier.
      tags:
      - Catalog
      parameters:
      - $ref: '#/components/parameters/CatalogId'
      - $ref: '#/components/parameters/XApiKey'
      responses:
        '200':
          description: Catalog retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogResponse'
              examples:
                Getcatalogbyid200Example:
                  summary: Default getCatalogById 200 response
                  x-microcks-default: true
                  value:
                    base: example_value
                    id: abc123
                    type: example_value
                    created: '2026-01-15T10:30:00Z'
                    updated: '2026-01-15T10:30:00Z'
                    payload:
                      name: Example Title
                      userCreated: '2026-01-15T10:30:00Z'
                      userUpdated: '2026-01-15T10:30:00Z'
                    links: {}
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /catalogs/{catalog_id}/assets:
    get:
      operationId: listCatalogAssets
      summary: Adobe Lightroom List Assets in a Catalog
      description: >-
        Retrieves a paginated list of assets in the specified catalog. Assets
        represent individual photos or videos. Results can be filtered by
        subtype and capture date.
      tags:
      - Assets
      parameters:
      - $ref: '#/components/parameters/CatalogId'
      - $ref: '#/components/parameters/XApiKey'
      - $ref: '#/components/parameters/SubtypeFilter'
      - $ref: '#/components/parameters/CapturedAfter'
      - $ref: '#/components/parameters/CapturedBefore'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Offset'
      responses:
        '200':
          description: Assets retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetsListResponse'
              examples:
                Listcatalogassets200Example:
                  summary: Default listCatalogAssets 200 response
                  x-microcks-default: true
                  value:
                    base: example_value
                    resources:
                    - id: abc123
                      type: example_value
                      subtype: image
                      created: '2026-01-15T10:30:00Z'
                      updated: '2026-01-15T10:30:00Z'
                      revision_ids: {}
                      payload: {}
                    links: {}
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /catalogs/{catalog_id}/assets/{asset_id}:
    get:
      operationId: getAsset
      summary: Adobe Lightroom Get a Specific Asset
      description: >-
        Retrieves metadata for a specific asset including EXIF data, develop
        settings, and available renditions.
      tags:
      - Assets
      parameters:
      - $ref: '#/components/parameters/CatalogId'
      - $ref: '#/components/parameters/AssetId'
      - $ref: '#/components/parameters/XApiKey'
      responses:
        '200':
          description: Asset retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetResponse'
              examples:
                Getasset200Example:
                  summary: Default getAsset 200 response
                  x-microcks-default: true
                  value:
                    base: example_value
                    id: abc123
                    type: example_value
                    subtype: example_value
                    created: '2026-01-15T10:30:00Z'
                    updated: '2026-01-15T10:30:00Z'
                    payload: example_value
                    links: {}
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: createRevisionForAsset
      summary: Adobe Lightroom Create or Update an Asset
      description: >-
        Creates a new asset revision or updates an existing asset in the
        catalog. Used to upload new photos or update metadata on existing ones.
      tags:
      - Assets
      parameters:
      - $ref: '#/components/parameters/CatalogId'
      - $ref: '#/components/parameters/AssetId'
      - $ref: '#/components/parameters/XApiKey'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssetRevisionRequest'
            examples:
              CreaterevisionforassetRequestExample:
                summary: Default createRevisionForAsset request
                x-microcks-default: true
                value:
                  subtype: image
                  payload:
                    captureDate: '2026-01-15T10:30:00Z'
                    userCreated: '2026-01-15T10:30:00Z'
                    userUpdated: '2026-01-15T10:30:00Z'
                    importSource:
                      fileName: example_value
                      importedOnDevice: example_value
                      importTimestamp: '2026-01-15T10:30:00Z'
      responses:
        '200':
          description: Asset updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetResponse'
              examples:
                Createrevisionforasset200Example:
                  summary: Default createRevisionForAsset 200 response
                  x-microcks-default: true
                  value:
                    base: example_value
                    id: abc123
                    type: example_value
                    subtype: example_value
                    created: '2026-01-15T10:30:00Z'
                    updated: '2026-01-15T10:30:00Z'
                    payload: example_value
                    links: {}
        '201':
          description: Asset created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetResponse'
              examples:
                Createrevisionforasset201Example:
                  summary: Default createRevisionForAsset 201 response
                  x-microcks-default: true
                  value:
                    base: example_value
                    id: abc123
                    type: example_value
                    subtype: example_value
                    created: '2026-01-15T10:30:00Z'
                    updated: '2026-01-15T10:30:00Z'
                    payload: example_value
                    links: {}
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /catalogs/{catalog_id}/assets/{asset_id}/master:
    put:
      operationId: uploadMasterAsset
      summary: Adobe Lightroom Upload the Master (original) File for an Asset
      description: >-
        Uploads the original master file for a previously created asset. The
        asset must already exist in the catalog. The request body should contain
        the binary image data.
      tags:
      - Assets
      parameters:
      - $ref: '#/components/parameters/CatalogId'
      - $ref: '#/components/parameters/AssetId'
      - $ref: '#/components/parameters/XApiKey'
      - name: Content-Type
        in: header
        required: true
        schema:
          type: string
          enum:
          - image/jpeg
          - image/png
          - image/tiff
          - image/dng
          - video/mp4
        example: image/jpeg
      - name: Content-Length
        in: header
        required: true
        schema:
          type: integer
        example: 10
      requestBody:
        required: true
        content:
          application/octet-stream:
            schema:
              type: string
              format: binary
            examples:
              UploadmasterassetRequestExample:
                summary: Default uploadMasterAsset request
                x-microcks-default: true
                value: example_value
      responses:
        '200':
          description: Master file uploaded successfully
        '201':
          description: Master file created successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '413':
          description: File too large
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /catalogs/{catalog_id}/assets/{asset_id}/xmp/develop:
    get:
      operationId: getAssetDevelopXmp
      summary: Adobe Lightroom Get the Develop Settings Xmp for an Asset
      description: >-
        Retrieves the external develop XMP sidecar file for the specified asset.
        Contains Lightroom develop settings as XMP metadata.
      tags:
      - Assets
      parameters:
      - $ref: '#/components/parameters/CatalogId'
      - $ref: '#/components/parameters/AssetId'
      - $ref: '#/components/parameters/XApiKey'
      responses:
        '200':
          description: XMP develop settings retrieved successfully
          content:
            application/rdf+xml:
              schema:
                type: string
              examples:
                Getassetdevelopxmp200Example:
                  summary: Default getAssetDevelopXmp 200 response
                  x-microcks-default: true
                  value: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: putAssetDevelopXmp
      summary: Adobe Lightroom Upload Develop Settings Xmp for an Asset
      description: >-
        Uploads an external develop XMP sidecar file for the specified asset,
        applying Lightroom develop settings.
      tags:
      - Assets
      parameters:
      - $ref: '#/components/parameters/CatalogId'
      - $ref: '#/components/parameters/AssetId'
      - $ref: '#/components/parameters/XApiKey'
      requestBody:
        required: true
        content:
          application/rdf+xml:
            schema:
              type: string
            examples:
              PutassetdevelopxmpRequestExample:
                summary: Default putAssetDevelopXmp request
                x-microcks-default: true
                value: example_value
      responses:
        '200':
          description: XMP develop settings updated successfully
        '201':
          description: XMP develop settings created successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /catalogs/{catalog_id}/assets/{asset_id}/renditions/{rendition_type}:
    get:
      operationId: getAssetRendition
      summary: Adobe Lightroom Get an Asset Rendition
      description: >-
        Retrieves a generated rendition (preview image) for the specified asset.
        The rendition_type parameter specifies the size and format. Renditions
        are generated server-side from the master file.
      tags:
      - Renditions
      parameters:
      - $ref: '#/components/parameters/CatalogId'
      - $ref: '#/components/parameters/AssetId'
      - $ref: '#/components/parameters/RenditionType'
      - $ref: '#/components/parameters/XApiKey'
      responses:
        '200':
          description: Rendition retrieved successfully
          content:
            image/jpeg:
              schema:
                type: string
                format: binary
              examples:
                Getassetrendition200Example:
                  summary: Default getAssetRendition 200 response
                  x-microcks-default: true
                  value: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /catalogs/{catalog_id}/albums:
    get:
      operationId: listAlbums
      summary: Adobe Lightroom List Albums in a Catalog
      description: >-
        Retrieves a paginated list of albums in the specified catalog. Albums
        are collections of assets organized by the user.
      tags:
      - Albums
      parameters:
      - $ref: '#/components/parameters/CatalogId'
      - $ref: '#/components/parameters/XApiKey'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Offset'
      responses:
        '200':
          description: Albums retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlbumsListResponse'
              examples:
                Listalbums200Example:
                  summary: Default listAlbums 200 response
                  x-microcks-default: true
                  value:
                    base: example_value
                    resources:
                    - id: abc123
                      type: example_value
                      subtype: collection
                      created: '2026-01-15T10:30:00Z'
                      updated: '2026-01-15T10:30:00Z'
                      payload: {}
                    links: {}
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /catalogs/{catalog_id}/albums/{album_id}:
    get:
      operationId: getAlbum
      summary: Adobe Lightroom Get a Specific Album
      description: >-
        Retrieves metadata for a specific album including its name, cover
        asset, creation date, and update timestamps.
      tags:
      - Albums
      parameters:
      - $ref: '#/components/parameters/CatalogId'
      - $ref: '#/components/parameters/AlbumId'
      - $ref: '#/components/parameters/XApiKey'
      responses:
        '200':
          description: Album retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlbumResponse'
              examples:
                Getalbum200Example:
                  summary: Default getAlbum 200 response
                  x-microcks-default: true
                  value:
                    base: example_value
                    id: abc123
                    type: example_value
                    subtype: example_value
                    created: '2026-01-15T10:30:00Z'
                    updated: '2026-01-15T10:30:00Z'
                    payload: example_value
                    links: {}
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: createOrUpdateAlbum
      summary: Adobe Lightroom Create or Update an Album
      description: >-
        Creates a new album or updates an existing album in the catalog.
      tags:
      - Albums
      parameters:
      - $ref: '#/components/parameters/CatalogId'
      - $ref: '#/components/parameters/AlbumId'
      - $ref: '#/components/parameters/XApiKey'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlbumCreateRequest'
            examples:
              CreateorupdatealbumRequestExample:
                summary: Default createOrUpdateAlbum request
                x-microcks-default: true
                value:
                  subtype: collection
                  payload:
                    name: Example Title
                    userCreated: '2026-01-15T10:30:00Z'
                    userUpdated: '2026-01-15T10:30:00Z'
                    parent:
                      id: abc123
      responses:
        '200':
          description: Album updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlbumResponse'
              examples:
                Createorupdatealbum200Example:
                  summary: Default createOrUpdateAlbum 200 response
                  x-microcks-default: true
                  value:
                    base: example_value
                    id: abc123
                    type: example_value
                    subtype: example_value
                    created: '2026-01-15T10:30:00Z'
                    updated: '2026-01-15T10:30:00Z'
                    payload: example_value
                    links: {}
        '201':
          description: Album created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlbumResponse'
              examples:
                Createorupdatealbum201Example:
                  summary: Default createOrUpdateAlbum 201 response
                  x-microcks-default: true
                  value:
                    base: example_value
                    id: abc123
                    type: example_value
                    subtype: example_value
                    created: '2026-01-15T10:30:00Z'
                    updated: '2026-01-15T10:30:00Z'
                    payload: example_value
                    links: {}
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteAlbum
      summary: Adobe Lightroom Delete an Album
      description: >-
        Deletes the specified album from the catalog. This does not delete the
        assets within the album.
      tags:
      - Albums
      parameters:
      - $ref: '#/components/parameters/CatalogId'
      - $ref: '#/components/parameters/AlbumId'
      - $ref: '#/components/parameters/XApiKey'
      responses:
        '204':
          description: Album deleted successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /catalogs/{catalog_id}/albums/{album_id}/assets:
    get:
      operationId: listAlbumAssets
      summary: Adobe Lightroom List Assets in an Album
      description: >-
        Retrieves a paginated list of assets contained within the specified
        album.
      tags:
      - Albums
      parameters:
      - $ref: '#/components/parameters/CatalogId'
      - $ref: '#/components/parameters/AlbumId'
      - $ref: '#/components/parameters/XApiKey'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Offset'
      responses:
        '200':
          description: Album assets retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetsListResponse'
              examples:
                Listalbumassets200Example:
                  summary: Default listAlbumAssets 200 response
                  x-microcks-default: true
                  value:
                    base: example_value
                    resources:
                    - id: abc123
                      type: example_value
                      subtype: image
                      created: '2026-01-15T10:30:00Z'
                      updated: '2026-01-15T10:30:00Z'
                      revision_ids: {}
                      payload: {}
                    links: {}
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: addAssetsToAlbum
      summary: Adobe Lightroom Add Assets to an Album
      description: >-
        Adds one or more existing assets to the specified album. The assets
        must already exist in the catalog.
      tags:
      - Albums
      parameters:
      - $ref: '#/components/parameters/CatalogId'
      - $ref: '#/components/parameters/AlbumId'
      - $ref: '#/components/parameters/XApiKey'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlbumAssetsRequest'
            examples:
              AddassetstoalbumRequestExample:
                summary: Default addAssetsToAlbum request
                x-microcks-default: true
                value:
                  resources:
                  - id: abc123
                    payload:
                      order: example_value
      responses:
        '200':
          description: Assets added to album successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  securitySchemes:
    oauth2:
      type: oauth2
      description: >-
        OAuth 2.0 authorization code flow via Adobe Identity Management System
        (IMS). Partner applications must be registered in the Adobe Developer
        Console.
      flows:
        authorizationCode:
          authorizationUrl: https://ims-na1.adobelogin.com/ims/authorize/v2
          tokenUrl: https://ims-na1.adobelogin.com/ims/token/v3
          scopes:
            lr_partner_apis: Access Lightroom partner APIs
            openid: OpenID Connect
    apiKey:
      type: apiKey
      name: X-Api-Key
      in: header
      description: >-
        API key from the Adobe Developer Console project (client_id of the
        integration)
  parameters:
    XApiKey:
      name: X-Api-Key
      in: header
      required: true
      description: API key from the Adobe Developer Console
      schema:
        type: string
    CatalogId:
      name: catalog_id
      in: path
      required: true
      description: Unique identifier of the Lightroom catalog
      schema:
        type: string
    AssetId:
      name: asset_id
      in: path
      required: true
      description: Unique identifier of the asset
      schema:
        type: string
    AlbumId:
      name: album_id
      in: path
      required: true
      description: Unique identifier of the album
      schema:
        type: string
    RenditionType:
      name: rendition_type
      in: path
      required: true
      description: >-
        Type of rendition to retrieve. Specifies the size of the generated
        preview image.
      schema:
        type: string
        enum:
        - thumbnail2x
        - 640
        - 1024
        - 2048
        - fullsize
    SubtypeFilter:
      name: subtype
      in: query
      required: false
      description: Filter assets by subtype
      schema:
        type: string
        enum:
        - image
        - video
    CapturedAfter:
      name: captured_after
      in: query
      required: false
      description: Filter assets captured after this ISO 8601 timestamp
      schema:
        type: string
        format: date-time
    CapturedBefore:
      name: captured_before
      in: query
      required: false
      description: Filter assets captured before this ISO 8601 timestamp
      schema:
        type: string
        format: date-time
    Limit:
      name: limit
      in: query
      required: false
      description: Maximum number of results to return
      schema:
        type: integer
        default: 100
        minimum: 1
        maximum: 500
    Offset:
      name: offset
      in: query
      required: false
      description: Number of results to skip for pagination
      schema:
        type: integer
        default: 0
        minimum: 0
  schemas:
    HealthResponse:
      type: object
      properties:
        status:
          type: string
          description: Health status of the API
          examples:
          - available
    CatalogResponse:
      type: object
      properties:
        base:
          type: string
          description: Base URL for the API
          example: example_value
        id:
          type: string
          description: Unique identifier of the catalog
          example: abc123
        type:
          type: string
          description: Resource type
          const: catalog
          example: example_value
        created:
          type: string
          format: date-time
          description: Catalog creation timestamp
          example: '2026-01-15T10:30:00Z'
        updated:
          type: string
          format: date-time
          description: Catalog last updated timestamp
          example: '2026-01-15T10:30:00Z'
        payload:
          type: object
          description: Catalog payload data
          properties:
            name:
              type: string
              description: Name of the catalog
            userCreated:
              type: string
              format: date-time
              description: When the user created the catalog
            userUpdated:
              type: string
              format: date-time
              description: When the user last updated the catalog
          example: example_value
        links:
          $ref: '#/components/schemas/Links'
    AssetsListResponse:
      type: object
      properties:
        base:
          type: string
          description: Base URL for the API
          example: example_value
        resources:
          type: array
          description: List of asset resources
          items:
            $ref: '#/components/schemas/Asset'
          example: []
        links:
          $ref: '#/components/schemas/Links'
    Asset:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the asset
          example: abc123
        type:
          type: string
          description: Resource type
          const: asset
          example: example_value
        subtype:
          type: string
          description: Asset subtype
          enum:
          - image
          - video
          example: image
        created:
          type: string
          format: date-time
          description: Asset creation timestamp
          example: '2026-01-15T10:30:00Z'
        updated:
          type: string
          format: date-time
          description: Asset last updated timestamp
          example: '2026-01-15T10:30:00Z'
        revision_ids:
          type: array
          description: List of revision identifiers
          items:
            type: string
          example: []
        payload:
          type: object
          description: Asset payload containing metadata
          properties:
            captureDate:
              type: string
              format: date-time
              description: Date and time the photo was captured
            userCreated:
              type: string
              format: date-time
              description: When the user created the asset
            userUpdated:
              type: string
              format: date-time
              description: When the user last updated the asset
 

# --- truncated at 32 KB (40 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/lightroom/refs/heads/main/openapi/lightroom-services-openapi.yml