Playlists

Attributes
id Integer Unique numeric identifier
name String Human readable name identifying this playlist
duration Integer Total duration of all clips in milliseconds (only if include_clips=true&download_preferences[videoheight]=540&download_preferences[fallback]=higher)
total_file_size Integer Total file size of all streaming clips matching the download preferences in bytes (only if include_clips=true&download_preferences[videoheight]=540&download_preferences[fallback]=higher)
clip_ids Array of integers Ids of all clips matching filters (only included if include_clips=true)
folder_id Integer Id of the playlist's parent folder
total_clips_count Integer Count of all clips in playlist (only included if include_clips=true)
filter_clips_count Integer Count of all clips matching the filters (only included if include_clips=true and with filters set)
clips Array of clips All clips matching filters (only included if include_clips=true)
clips_match_download_preference Boolean Indicated whether all clips have mediafiles matching download preference (only if include_clips=true&download_preferences[videoheight]=540&download_preferences[fallback]=higher)
Actions
List all playlists in folder GET /projects/{project_id}/folders/{folder_id}/playlists optional: sort by position: ?sort_by=position&direction=desc
List all playlists in folder POST /projects/{project_id}/folders/{folder_id}/playlists/filter optional: sort by position: ?sort_by=position&direction=desc optional: include subfolders: ?include_subfolders=true

Optional pagination: e.g. "?page=1&per_page=20" (both params have to be set)
Navigation links are contained in response header 'Links'; there are also headers for 'Total' and 'Per-Page' It is also possible to filter by part of the clip name with parameter "q":
/projects/{project_id}/playlists/filter?filters%5Bscene%5D%5B%5D=1&q=clipname

It is possible to filter by playlist id:
/projects/{project_id}/playlists/filter?filters%5Bplaylist%5D%5B%5D=782118

See here for getting possible filters: 10.10 Metadata

Download preferences
To get duration and file size of the whole playlist you have to specify download_preferences:
This only works together with include_clips=true

Example:
download_preferences[videoheight]=540&download_preferences[fallback]=higher

Allowed values for videoheight:
180,270,540,720,1080

Allowed values for fallback:
lower,higher
List all playlists in project GET /projects/{project_id}/playlists to include clips in result: ?include_clips=true
to limit amount of clips in result: &clip_limit=5
When you include clips a total_clips_count and a filtered_clips_count will be populated

Optional: sort by created_at: ?sort_by=created_at&direction=desc

List all playlists in project POST /projects/{project_id}/playlists/filter to include clips in result: ?include_clips=true
to limit amount of clips in result: &clip_limit=5
When you include clips a total_clips_count and a filtered_clips_count will be populated

Optional: sort by created_at: ?sort_by=created_at&direction=desc

It is also possible to filter by part of the clip name with parameter "q":
/projects/{project_id}/playlists/filter?filters%5Bscene%5D%5B%5D=1&q=clipname

It is possible to filter by playlist id:
/projects/{project_id}/playlists/filter?filters%5Bplaylist%5D%5B%5D=782118

See here for getting possible filters: 10.10 Metadata

Download preferences
To get duration and file size of the whole playlist you have to specify download_preferences:

Example:
download_preferences[videoheight]=540&download_preferences[fallback]=higher

Allowed values for videoheight:
180,270,540,720,1080

Allowed values for fallback:
lower,higher Optional pagination: e.g. "?page=1&per_page=20" (both params have to be set)
Navigation links are contained in response header 'Links'; there are also headers for 'Total' and 'Per-Page'
Show GET /projects/{project_id}/folders/{folder_id}/playlists/{id} Header MUST contain: "Accept: application/json"
Create POST /projects/{project_id}/folders/{folder_id}/playlists necessary data: {"name":"playlist name"}
Update PUT /projects/{project_id}/folders/{folder_id}/playlists/{id} necessary data: {"name":"updated playlist name"}
Destroy DELETE /projects/{project_id}/folders/{folder_id}/playlists/{id} -

Example:

Creating a playlist with setting an "Accept"-header:

POST /api/projects/6/folders/157/playlists  HTTP/1.1
Authorization: Bearer example-token
Accept: application/json
Content-Type: application/json

data: {"name":"example-playlist"}

response:

HTTP/1.1 201 Created

{
  "status": 201,
  "status_message": "Created",
  "info": "",
  "data": {"playlist":{"id":61441,"name":"example-playlist","folder_id":157}}
}