# REST Resource: albums

- [Resource: Album](https://developers.google.com/photos/library/legacy/reference/rest/v1/albums#Album)
  - [JSON representation](https://developers.google.com/photos/library/legacy/reference/rest/v1/albums#Album.SCHEMA_REPRESENTATION)
  - [ShareInfo](https://developers.google.com/photos/library/legacy/reference/rest/v1/albums#Album.ShareInfo)
    - [JSON representation](https://developers.google.com/photos/library/legacy/reference/rest/v1/albums#Album.ShareInfo.SCHEMA_REPRESENTATION)
  - [SharedAlbumOptions](https://developers.google.com/photos/library/legacy/reference/rest/v1/albums#Album.SharedAlbumOptions)
    - [JSON representation](https://developers.google.com/photos/library/legacy/reference/rest/v1/albums#Album.SharedAlbumOptions.SCHEMA_REPRESENTATION)
- [Methods](https://developers.google.com/photos/library/legacy/reference/rest/v1/albums#METHODS_SUMMARY)

## Resource: Album

Representation of an album in Google Photos. Albums are containers for media items. If an album has been shared by the application, it contains an extra `shareInfo` property.

| JSON representation |
|---|
| ``` { "id": string, "title": string, "productUrl": string, "isWriteable": boolean, "shareInfo": { object (`https://developers.google.com/photos/library/legacy/reference/rest/v1/albums#Album.ShareInfo`) }, "mediaItemsCount": string, "coverPhotoBaseUrl": string, "coverPhotoMediaItemId": string } ``` |

| Fields ||
|---|---|
| `id` | `string` Identifier for the album. This is a persistent identifier that can be used between sessions to identify this album. |
| `title` | `string` Name of the album displayed to the user in their Google Photos account. This string shouldn't be more than 500 characters. |
| `productUrl` | `string` \[Output only\] Google Photos URL for the album. The user needs to be signed in to their Google Photos account to access this link. |
| `isWriteable` | `boolean` \[Output only\] True if you can create media items in this album. This field is based on the scopes granted and permissions of the album. If the scopes are changed or permissions of the album are changed, this field is updated. |
| `shareInfo` | ``object (`https://developers.google.com/photos/library/legacy/reference/rest/v1/albums#Album.ShareInfo`)`` \[Output only\] Information related to shared albums. This field is only populated if the album is a shared album, the developer created the album and the user has granted the `photoslibrary.sharing` scope. |
| `mediaItemsCount` | `string (https://developers.google.com/discovery/v1/type-format format)` \[Output only\] The number of media items in the album. |
| `coverPhotoBaseUrl` | `string` \[Output only\] A URL to the cover photo's bytes. This shouldn't be used as is. Parameters should be appended to this URL before use. See the [developer documentation](https://developers.google.com/photos/library/guides/access-media-items#base-urls) for a complete list of supported parameters. For example, `'=w2048-h1024'` sets the dimensions of the cover photo to have a width of 2048 px and height of 1024 px. |
| `coverPhotoMediaItemId` | `string` Identifier for the media item associated with the cover photo. |

### ShareInfo

Information about albums that are shared. This information is only included if you created the album, it is shared and you have the sharing scope.

| JSON representation |
|---|
| ``` { "sharedAlbumOptions": { object (`https://developers.google.com/photos/library/legacy/reference/rest/v1/albums#Album.SharedAlbumOptions`) }, "shareableUrl": string, "shareToken": string, "isJoined": boolean, "isOwned": boolean, "isJoinable": boolean } ``` |

| Fields ||
|---|---|
| `sharedAlbumOptions` | ``object (`https://developers.google.com/photos/library/legacy/reference/rest/v1/albums#Album.SharedAlbumOptions`)`` Options that control whether someone can add media items to, or comment on a shared album. |
| `shareableUrl` | `string` A link to the shared Google Photos album. Anyone with the link can view the contents of the album, so it should be treated with care. The `shareableUrl` parameter is only returned if the album has link sharing turned on. If a user is already joined to an album that isn't link-shared, they can use the album's [`productUrl`](https://developers.google.com/photos/library/legacy/reference/rest/v1/albums#Album) to access it instead. A `shareableUrl` is invalidated if the owner turns off link sharing in the Google Photos app, or if the album is unshared. |
| `shareToken` | `string` A token that is used to join, leave, or retrieve the details of a shared album on behalf of a user who isn't the owner. A `shareToken` is invalidated if the owner turns off link sharing in the Google Photos app, or if the album is unshared. |
| `isJoined` | `boolean` True if the user is joined to the album. This is always true for the owner of the album. |
| `isOwned` | `boolean` True if the user owns the album. |
| `isJoinable` | `boolean` True if the album can be joined by users. |

### SharedAlbumOptions

Options that control the sharing of an album.

| JSON representation |
|---|
| ``` { "isCollaborative": boolean, "isCommentable": boolean } ``` |

| Fields ||
|---|---|
| `isCollaborative` | `boolean` True if the shared album allows collaborators (users who have joined the album) to add media items to it. Defaults to false. |
| `isCommentable` | `boolean` True if the shared album allows collaborators (users who have joined the album) to add comments to the album. Defaults to false. |

| ## Methods ||
|---|---|
| ### `https://developers.google.com/photos/library/legacy/reference/rest/v1/albums/addEnrichment` | Adds an enrichment at a specified position in a defined album. |
| ### `https://developers.google.com/photos/library/legacy/reference/rest/v1/albums/batchAddMediaItems` | Adds one or more media items in a user's Google Photos library to an album. |
| ### `https://developers.google.com/photos/library/legacy/reference/rest/v1/albums/batchRemoveMediaItems` | Removes one or more media items from a specified album. |
| ### `https://developers.google.com/photos/library/legacy/reference/rest/v1/albums/create` | Creates an album in a user's Google Photos library. |
| ### `https://developers.google.com/photos/library/legacy/reference/rest/v1/albums/get` | Returns the album based on the specified `albumId`. |
| ### `https://developers.google.com/photos/library/legacy/reference/rest/v1/albums/list` | Lists all albums shown to a user in the Albums tab of the Google Photos app. |
| ### `https://developers.google.com/photos/library/legacy/reference/rest/v1/albums/patch` | Update the album with the specified `id`. |
| ### `https://developers.google.com/photos/library/legacy/reference/rest/v1/albums/share` | Marks an album as shared and accessible to other users. |
| ### `https://developers.google.com/photos/library/legacy/reference/rest/v1/albums/unshare` | Marks a previously shared album as private. |