Skip to content

AlbumResponseDto

Endpoints · All schemas

FieldRequiredDescription
albumNameYesAlbum name
albumThumbnailAssetIdYesThumbnail asset ID
albumUsersYesFirst entry is always the album owner. Second entry is the auth user, if it differs from the owner. The rest are ordered alphabetically.
assetCountYesNumber of assets
contributorCountsNoarray
coverFollowsNewestNoTrue when the cover always follows the newest item. Populated by GET /albums/{id} and PATCH /albums/{id}.
createdAtYesCreation date
descriptionYesAlbum description
endDateNoEnd date (latest asset)
hasSharedLinkYesHas shared link
iconYesIcon: a Material Design Icons name or legacy key (null = default icon)
idYesAlbum ID
isActivityEnabledYesActivity feed enabled
isSmartNoTrue when the album is filled by smart album rules. Populated by GET /albums/tree and GET /albums/{id}.
kindYesSee definition below
lastModifiedAssetTimestampNoLast modified asset timestamp
orderNoSee definition below
originNopresent on your own album when partner sharing copied it from another library
parentIdYesCollection this album belongs to (null = top-level)
sharedYesIs shared album
smartKindNoBuilt-in smart album kind behind this album, when it is a built-in smart album
smartRuleIdNoYour classification rule behind this smart album, when it is one of yours
sortOrderYesSibling display position. Lower values appear first.
startDateNoStart date (earliest asset)
updatedAtYesLast update date

Complete definition

required lists fields that must be present. nullable allows a null value; it does not make the field optional. Response enums retain exact wire values for compatibility.

Field definitions: AlbumUserResponseDto, ContributorCountResponseDto, AlbumKind, AssetOrder, PartnerOriginDto, SmartAlbumBuiltInKind

{
  "properties": {
    "albumName": {
      "description": "Album name",
      "type": "string"
    },
    "albumThumbnailAssetId": {
      "description": "Thumbnail asset ID",
      "format": "uuid",
      "nullable": true,
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
      "type": "string"
    },
    "albumUsers": {
      "description": "First entry is always the album owner. Second entry is the auth user, if it differs from the owner. The rest are ordered alphabetically.",
      "items": {
        "$ref": "#/components/schemas/AlbumUserResponseDto"
      },
      "minItems": 1,
      "type": "array"
    },
    "assetCount": {
      "description": "Number of assets",
      "maximum": 9007199254740991,
      "minimum": 0,
      "type": "integer"
    },
    "contributorCounts": {
      "items": {
        "$ref": "#/components/schemas/ContributorCountResponseDto"
      },
      "type": "array"
    },
    "coverFollowsNewest": {
      "description": "True when the cover always follows the newest item. Populated by GET /albums/{id} and PATCH /albums/{id}.",
      "type": "boolean"
    },
    "createdAt": {
      "description": "Creation date",
      "format": "date-time",
      "type": "string"
    },
    "description": {
      "description": "Album description",
      "type": "string"
    },
    "endDate": {
      "description": "End date (latest asset)",
      "format": "date-time",
      "type": "string"
    },
    "hasSharedLink": {
      "description": "Has shared link",
      "type": "boolean"
    },
    "icon": {
      "description": "Icon: a Material Design Icons name or legacy key (null = default icon)",
      "nullable": true,
      "type": "string"
    },
    "id": {
      "description": "Album ID",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
      "type": "string"
    },
    "isActivityEnabled": {
      "description": "Activity feed enabled",
      "type": "boolean"
    },
    "isSmart": {
      "description": "True when the album is filled by smart album rules. Populated by GET /albums/tree and GET /albums/{id}.",
      "type": "boolean"
    },
    "kind": {
      "$ref": "#/components/schemas/AlbumKind"
    },
    "lastModifiedAssetTimestamp": {
      "description": "Last modified asset timestamp",
      "format": "date-time",
      "type": "string"
    },
    "order": {
      "$ref": "#/components/schemas/AssetOrder"
    },
    "origin": {
      "$ref": "#/components/schemas/PartnerOriginDto",
      "description": "present on your own album when partner sharing copied it from another library"
    },
    "parentId": {
      "description": "Collection this album belongs to (null = top-level)",
      "nullable": true,
      "type": "string"
    },
    "shared": {
      "description": "Is shared album",
      "type": "boolean"
    },
    "smartKind": {
      "allOf": [
        {
          "$ref": "#/components/schemas/SmartAlbumBuiltInKind"
        }
      ],
      "description": "Built-in smart album kind behind this album, when it is a built-in smart album",
      "nullable": true
    },
    "smartRuleId": {
      "description": "Your classification rule behind this smart album, when it is one of yours",
      "nullable": true,
      "type": "string"
    },
    "sortOrder": {
      "description": "Sibling display position. Lower values appear first.",
      "format": "double",
      "nullable": true,
      "type": "number"
    },
    "startDate": {
      "description": "Start date (earliest asset)",
      "format": "date-time",
      "type": "string"
    },
    "updatedAt": {
      "description": "Last update date",
      "format": "date-time",
      "type": "string"
    }
  },
  "required": [
    "albumName",
    "albumThumbnailAssetId",
    "albumUsers",
    "assetCount",
    "createdAt",
    "description",
    "hasSharedLink",
    "icon",
    "id",
    "isActivityEnabled",
    "kind",
    "parentId",
    "shared",
    "sortOrder",
    "updatedAt"
  ],
  "type": "object"
}