CreateAlbumDto
| Field | Required | Description |
|---|---|---|
albumName | Yes | Album name |
albumUsers | No | Album users |
assetIds | No | Initial asset IDs |
description | No | Album description |
icon | No | Optional icon: any Material Design Icons name (see GET /albums/icons) |
kind | No | What to create: an album (default), a collection of albums or a shared space |
parentId | No | Collection to create the album inside (omit for top-level). Only albums nest, and only inside a collection. |
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: AlbumUserCreateDto, AlbumKind
{
"properties": {
"albumName": {
"description": "Album name",
"type": "string"
},
"albumUsers": {
"description": "Album users",
"items": {
"$ref": "#/components/schemas/AlbumUserCreateDto"
},
"type": "array"
},
"assetIds": {
"description": "Initial asset IDs",
"items": {
"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"
},
"type": "array"
},
"description": {
"description": "Album description",
"nullable": true,
"type": "string"
},
"icon": {
"description": "Optional icon: any Material Design Icons name (see GET /albums/icons)",
"maxLength": 80,
"type": "string"
},
"kind": {
"$ref": "#/components/schemas/AlbumKind",
"default": "album",
"description": "What to create: an album (default), a collection of albums or a shared space"
},
"parentId": {
"description": "Collection to create the album inside (omit for top-level). Only albums nest, and only inside a collection.",
"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"
}
},
"required": [
"albumName"
],
"type": "object"
}© 2026 Frameleaf Inc. All rights reserved.
Frameleaf and the Frameleaf logo are Trademarks of Frameleaf Inc.