---
title: Playlists/Dynamic Endpoints (2022/06)
slug: develop/playlistsdynamic-endpoints-202206
docTags: 
createdAt: 2025-03-11T07:03:30.743Z
---

Use these endpoints to manage Dynamic Playlists on the network. 

Base URL for these endpoints:  ***https\://api.bsn.cloud/2022/06/REST/Playlists/Dynamic***

*\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_*

## GET /

Retrieves a list of Dynamic Playlists on the network.

**Required Scope Token**

bsn.api.main.playlists.dynamic.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Query String Parameters**

- `filter` <font color="#704ae0">string</font> <font color="#01a0af">optional: </font>An [expression](docId:3L0afyD3xoOE-yTvfk2vs) for filtering search results. The default value is null.
- `sort` <font color="#704ae0">string</font> <font color="#01a0af">optional: </font>An expression for sorting the search results. The sort expression specifies the entry used for sorting and the ascending/descending (ASC/DESC) sorting order (e.g. "`[Device].[Serial] ASC`"). The default value is null.
- `marker` <font color="#704ae0">string</font> <font color="#01a0af">optional: </font>A value specifying which page to retrieve. This value is useful if the `isTruncated` entry in the response body of the previous GET call indicates that the number of Dynamic Playlists exceeds the `pageSize`. This parameter is only required if you need more elements in the paged list than the `pageSize` (100).
- `pageSize` <font color="#704ae0">int</font> <font color="#01a0af">optional: </font>The maximum number of Dynamic Playlists that can be contained in the response body. This defaults to the maximum allowed page size (100).

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Request Example**

The example request parameters and headers are set as follows:

- `marker` value is set to the `[PagedList].[NextMarker]` property value from the previous BSN.cloud API response.
- `pageSize` is set to `1`
- `filter` is set to `[Name] CONTAINS 'Building'`
- `sort` is set to `[LastModifiedDate] DESC`

```text
GET /2022/06/REST/Playlists/Dynamic/?marker=MjAyMy0xMS0wMVQyMjozNzoyNC40MDNaLDExNjQwNDE3&pageSize=1&filter=%5BName%5D%20CONTAINS%20%27Building%27&sort=%5BLastModifiedDate%5D%20DESC HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Success Response Body**

<font color="#089a4d">200</font>: Returns a [paged list](docId\:Pwwr0Ln3-binNgL-mr3St) of [Dynamic Playlists Entities](docId\:xMoTQL48ev94zyYTfUg9N) on a network. This will return not more than 100 entities along with the information necessary to return any other remaining pages.

**Example**

```json
{
   "items": [   {
      "id": 12345678,
      "name": "WestBuilding",
      "physicalPath": "https://bsncloud.s3.amazonaws.com/JaneDoe/87a992afd6071576647ecd1fd65776ba",
      "fileSize": 1060,
      "fileHash": "SHA1:B995E0604EDD01F5E143B0329AABE9A14D06B821",
      "creationDate": "2023-11-01T22:36:42.153Z",
      "lastModifiedDate": "2023-11-01T22:36:42.253Z",
      "supportsAudio": true,
      "supportsVideo": true,
      "supportsImages": true,
      "content": null,
      "presentations": [      {
         "id": 3210,
         "name": "Test4Buildings",
         "type": "Presentation",
         "link": null
      }],
      "permissions": []
   }],
   "totalItemCount": 3,
   "matchingItemCount": 2,
   "pageSize": 1,
   "nextMarker": "MjAyMy0xMS0wMVQyMjozNjo0Mi4yNTNaLDExNjQwNDE1",
   "prevMarker": "MjAyMy0xMS0wMVQyMjozNjo0Mi4yNTNaLDExNjQwafg9",
   "isTruncated": false,
   "sortExpression": "[LastModifiedDate] DESC",
   "filterExpression": "[Name] CONTAINS 'Building'"
}
```

**Failure Response**

<font color="#9a0808">300</font>: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)

<font color="#9a0808">400</font>: The request is malformed and therefore invalid

<font color="#9a0808">401</font>: The access token is invalid or not specified

<font color="#9a0808">403</font>: The supplied access token, though valid, doesn't provide access to this method 

<font color="#9a0808">406</font>: The server cannot return the data representation that you requested (as specified in the "Accept" header)

<font color="#9a0808">5XX</font>: Any 500 code is an internal server error

## POST /

Create a new Dynamic Playlist on the network.

**Required Scope Token**

bsn.api.main.playlists.dynamic.create

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Request Body**

- The [Dynamic Playlists Entity](docId\:xMoTQL48ev94zyYTfUg9N)

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Request Example**

The example request parameters and headers are set as follows:

```text
POST /2022/06/REST/Playlists/Dynamic/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 328
```

This is the example request body:

```json
{
  "id": 0,
  "name": "NorthwestBuilding",
  "physicalPath": null,
  "fileSize": 0,
  "fileHash": null,
  "creationDate": "0001-01-01T00:00:00",
  "lastModifiedDate": "0001-01-01T00:00:00",
  "supportsAudio": true,
  "supportsVideo": true,
  "supportsImages": true,
  "content": [
    {
      "contentId": 12345,
      "fileName": "Saturday Breakfast Menu.jpg",
      "displayDuration": "00:00:15",
      "validityStartDate": "2023-11-11T08:00:00",
      "validityEndDate": "2023-11-11T12:00:00"
    }
  ],
  "presentations": null,
  "permissions": []
}
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Success Response Body**

<font color="#089a4d">201</font>: Returns the [Dynamic Playlists Entity](docId\:xMoTQL48ev94zyYTfUg9N) created and referenced by the Uri (given by the Location header field) in the response

**Example**

```json
{
  "id": 23456789,
  "name": "NorthwestBuilding",
  "physicalPath": "https://bsncloud.s3.amazonaws.com/JaneDoe/3004b40831e00749a44e646fbe1ad068",
  "fileSize": 334,
  "fileHash": "SHA1:4ADEBD82AB32F6E9FD4733F552D56C0282736BBD",
  "creationDate": "2023-11-03T16:44:44.9301064Z",
  "lastModifiedDate": "2023-11-03T16:44:44.9301064Z",
  "supportsAudio": true,
  "supportsVideo": true,
  "supportsImages": true,
  "content": [
    {
      "contentId": 12345,
      "fileName": "Saturday Breakfast Menu.jpg",
      "displayDuration": "00:00:15",
      "validityStartDate": "2023-11-11T08:00:00",
      "validityEndDate": "2023-11-11T12:00:00"
    }
  ],
  "presentations": [],
  "permissions": []
}
```

**Failure Response**

<font color="#9a0808">300</font>: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)

<font color="#9a0808">400</font>: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules

<font color="#9a0808">401</font>: The access token is invalid or not specified

<font color="#9a0808">403</font>: The supplied access token, though valid, doesn't provide access to this method 

<font color="#9a0808">406</font>: The server cannot return the data representation that you requested (as specified in the "Accept" header)

<font color="#9a0808">415</font>: The server cannot accept the data representation that you sent (as specified in the "Content-Type" header)

<font color="#9a0808">5XX</font>: Any 500 code is an internal server error

## DELETE /

Removes Dynamic Playlists, specified by a filter, from a network. This allows multiple Dynamic Playlists to be deleted at once.

**Required Scope Token**

bsn.api.main.playlists.dynamic.delete

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Query String Parameter**

- `filter` <font color="#704ae0">string</font> <font color="#01a0af">required: </font>An [expression](docId:3L0afyD3xoOE-yTvfk2vs) for filtering search results

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Request Example**

The example request parameters and headers are set as follows:

- `filter` is set to `[Name] CONTAINS 'Southeast'`

```text
DELETE /2022/06/REST/Playlists/Dynamic/?filter=%5BName%5D%20CONTAINS%20%27Southeast%27 HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Success Response Body**

<font color="#089a4d">200</font>: Returns the number of affected Dynamic Playlists as an integer value

**Failure Response**

<font color="#9a0808">300</font>: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)

<font color="#9a0808">400</font>: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules (for example, the specified Dynamic Playlist is being used in a presentation and cannot be deleted)

<font color="#9a0808">401</font>: The access token is invalid or not specified

<font color="#9a0808">403</font>: The supplied access token, though valid, doesn't provide access to this method 

<font color="#9a0808">406</font>: The server cannot return the data representation that you requested (as specified in the "Accept" header)

<font color="#9a0808">5XX</font>: Any 500 code is an internal server error

## GET /Count/  

Returns the number of Dynamic Playlists on the network that match the specified filter criteria. If no filter is included, this call returns the total number of Dynamic Playlists on the network. 

**Required Scope Token**

bsn.api.main.playlists.dynamic.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Query String Parameter**

- `filter` <font color="#704ae0">string</font> <font color="#01a0af">optional: </font>An [expression](docId:3L0afyD3xoOE-yTvfk2vs) for filtering search results. The default value is null.

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Request Example**

The example request parameters and headers are set as follows:

- `filter` is set to `[SupportsVideo] IS TRUE`

```text
GET /2022/06/REST/Playlists/Dynamic/Count/?filter=%5BSupportsVideo%5D%20IS%20TRUE HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Success Response Body**

<font color="#089a4d">200</font>: The number of Dynamic Playlists is returned as an integer value.

**Failure Response**

<font color="#9a0808">300</font>: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)

<font color="#9a0808">400</font>: The request is malformed and therefore invalid

<font color="#9a0808">401</font>: The access token is invalid or not specified

<font color="#9a0808">403</font>: The supplied access token, though valid, doesn't provide access to this method 

<font color="#9a0808">406</font>: The server cannot return the data representation that you requested (as specified in the "Accept" header)

<font color="#9a0808">5XX</font>: Any 500 code is an internal server error

## GET /\{id}/  

Returns the specified Dynamic Playlist

**Required Scope Token**

bsn.api.main.playlists.dynamic.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segment**

- `id` <font color="#704ae0">int: </font>A unique identifier for the Dynamic Playlist

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Request Example**

The example request parameters and headers are set as follows:

- `id` is set to `12345678`
- The optional `If-Modified-Since` header value equals the `Last-Modified` header value retrieved from the previous `GET /id` or `GET /name` response

```text
GET /2022/06/REST/Playlists/Dynamic/12345678/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
If-Modified-Since: Wed, 13 Mar 2024 21:32:34 GMT
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Success Response with Body**

<font color="#089a4d">200</font>: Returns the [Dynamic Playlists Entity](docId\:xMoTQL48ev94zyYTfUg9N)

**Example**

This is an example of a 200 level response:

```json
{
  "id": 12345678,
  "name": "WestBuilding",
  "physicalPath": "https://bsncloud.s3.amazonaws.com/JaneDoe/87a992afd6071576647ecd1fd65776ba",
  "fileSize": 1060,
  "fileHash": "SHA1:B895E0604EDD11F5E143B1329AABE9L13D06B821",
  "creationDate": "2023-11-01T22:36:42.153Z",
  "lastModifiedDate": "2024-03-13T21:32:35.093Z",
  "supportsAudio": true,
  "supportsVideo": true,
  "supportsImages": true,
  "content": [
    {
      "contentId": 123456,
      "fileName": "Steampunk Resin Clock With Metallic Cogs And Gears.mp4",
      "displayDuration": "00:00:00",
      "validityStartDate": null,
      "validityEndDate": null
    }
  ],
  "presentations": [
    {
      "id": 987654,
      "name": "Test4Buildings",
      "type": "Presentation",
      "link": null
    }
  ],
  "permissions": []
}
```

**Success Response**

<font color="#089a4d">304</font>: The resource was not modified since the time specified in the “If-Modified-Since” header

**Failure Response**

<font color="#9a0808">300</font>: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)

<font color="#9a0808">400</font>: The request is malformed and therefore invalid

<font color="#9a0808">401</font>: The access token is invalid or not specified

<font color="#9a0808">403</font>: The supplied access token, though valid, doesn't provide access to this method 

<font color="#9a0808">404</font>: The server cannot find the requested resource (the path does not exist)

<font color="#9a0808">406</font>: The server cannot return the data representation that you requested (as specified in the "Accept" header)

<font color="#9a0808">5XX</font>: Any 500 code is an internal server error

## PUT /\{id}/  

Modifies the specified Dynamic Playlist

**Required Scope Token**

bsn.api.main.playlists.dynamic.update

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segment**

- `id` <font color="#704ae0">int: </font>A unique identifier for the Dynamic Playlist

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Request Body**

- The [Dynamic Playlists Entity](docId\:xMoTQL48ev94zyYTfUg9N)

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Request Example**

The example request parameters and headers are set as follows:

- `id` is set to `1234567`
- The optional `If-Unmodified-Since` header value equals the `Last-Modified` header value retrieved from the `GET /id` or `GET /name` response.

```text
PUT /2022/06/REST/Playlists/Dynamic/1234567/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
If-Unmodified-Since: Wed, 13 Mar 2024 21:32:34 GMT
Content-Type: application/json
Content-Length: 320
```

This is the example request body:

```json
{
  "id": 0,
  "name": "Southwest",
  "physicalPath": null,
  "fileSize": 0,
  "fileHash": null,
  "creationDate": "0001-01-01T00:00:00",
  "lastModifiedDate": "0001-01-01T00:00:00",
  "supportsAudio": true,
  "supportsVideo": true,
  "supportsImages": true,
  "content":  [
    {
      "contentId": 123456,
      "fileName": "Steampunk Resin Clock With Metallic Cogs And Gears.mp4",
      "displayDuration": "00:00:00",
      "validityStartDate": null,
      "validityEndDate": null
    }
  ],
  "presentations": null,
  "permissions": []
}
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Success Response**

<font color="#089a4d">204</font>: The specified Dynamic Playlist has been modified

**Failure Response**

<font color="#9a0808">300</font>: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)

<font color="#9a0808">400</font>: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules

<font color="#9a0808">401</font>: The access token is invalid or not specified

<font color="#9a0808">403</font>: The supplied access token, though valid, doesn't provide access to this method 

<font color="#9a0808">404</font>: The server cannot find the requested resource (the path does not exist)

<font color="#9a0808">406</font>: The server cannot return the data representation that you requested (as specified in the "Accept" header)

<font color="#9a0808">412</font>: Precondition failed (the resource changed since the time specified in the “If-Unmodified-Since” header value)

<font color="#9a0808">415</font>: The server cannot accept the data representation that you sent (as specified in the "Content-Type" header)

<font color="#9a0808">5XX</font>: Any 500 code is an internal server error

## DELETE /\{id}/  

Removes the specified Dynamic Playlist

**Required Scope Token**

bsn.api.main.playlists.dynamic.delete

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segment**

- `id` <font color="#704ae0">int: </font>A unique identifier for the Dynamic Playlist

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Request Example**

The example request parameters and headers are set as follows:

- `id` is set to `1234567`
- The optional `If-Unmodified-Since` header value equals the `Last-Modified` header value retrieved from the `GET /id` or `GET /name` response.

```text
DELETE /2022/06/REST/Playlists/Dynamic/1234567/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
If-Unmodified-Since: Wed, 13 Mar 2024 21:32:34 GMT
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Success Response**

<font color="#089a4d">204</font>: The specified Dynamic Playlist file has been removed from the network

**Failure Response**

<font color="#9a0808">300</font>: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)

<font color="#9a0808">400</font>: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules

<font color="#9a0808">401</font>: The access token is invalid or not specified

<font color="#9a0808">403</font>: The supplied access token, though valid, doesn't provide access to this method 

<font color="#9a0808">404</font>: The server cannot find the requested resource (the path does not exist)

<font color="#9a0808">406</font>: The server cannot return the data representation that you requested (as specified in the "Accept" header)

<font color="#9a0808">412</font>: Precondition failed (the resource changed since the time specified in the “If-Unmodified-Since” header value)

<font color="#9a0808">5XX</font>: Any 500 code is an internal server error

## GET /\{name}/  

Returns the specified Dynamic Playlist

**Required Scope Token**

bsn.api.main.playlists.dynamic.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segment**

- `name` <font color="#704ae0">string: </font>The name of the Dynamic Playlist

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Request Example**

The example request parameters and headers are set as follows:

- `name` is set to `WestBuilding`
- The optional `If-Modified-Since` header value equals the `Last-Modified` header value retrieved from the previous `GET /id` or `GET /name` response

```text
GET /2022/06/REST/Playlists/Dynamic/WestBuilding/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
If-Modified-Since: Wed, 13 Mar 2024 21:32:34 GMT
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Success Response with Body**

<font color="#089a4d">200</font>: Returns the [Dynamic Playlists Entity](docId\:xMoTQL48ev94zyYTfUg9N)

**Example**

This is an example of a 200 level response:

```json
{
  "id": 12345678,
  "name": "WestBuilding",
  "physicalPath": "https://bsncloud.s3.amazonaws.com/JaneDoe/87a992afd6071576647ecd1fd65776ba",
  "fileSize": 1060,
  "fileHash": "SHA1:B895E0604EDD11F5E143B0329AABE9A13D06B821",
  "creationDate": "2023-11-01T22:36:42.153Z",
  "lastModifiedDate": "2024-03-13T21:32:35.093Z",
  "supportsAudio": true,
  "supportsVideo": true,
  "supportsImages": true,
  "content": [
    {
      "contentId": 123456,
      "fileName": "Steampunk Resin Clock With Metallic Cogs And Gears.mp4",
      "displayDuration": "00:00:00",
      "validityStartDate": null,
      "validityEndDate": null
    }
  ],
  "presentations": [
    {
      "id": 987654,
      "name": "Test4Buildings",
      "type": "Presentation",
      "link": null
    }
  ],
  "permissions": []
}
```

**Success Response**

<font color="#089a4d">304</font>: The resource was not modified since the time specified in the “If-Modified-Since” header

**Failure Response**

<font color="#9a0808">300</font>: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)

<font color="#9a0808">400</font>: The request is malformed and therefore invalid

<font color="#9a0808">401</font>: The access token is invalid or not specified

<font color="#9a0808">403</font>: The supplied access token, though valid, doesn't provide access to this method 

<font color="#9a0808">404</font>: The server cannot find the requested resource (the path does not exist)

<font color="#9a0808">406</font>: The server cannot return the data representation that you requested (as specified in the "Accept" header)

<font color="#9a0808">5XX</font>: Any 500 code is an internal server error

## PUT /\{name}/  

Modifies the specified Dynamic Playlist

**Required Scope Token**

bsn.api.main.playlists.dynamic.update

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segment**

- `name` <font color="#704ae0">string: </font>The name of the Dynamic Playlist

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Request Body**

- The [Dynamic Playlists Entity](docId\:xMoTQL48ev94zyYTfUg9N)

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Request Example**

The example request parameters and headers are set as follows:

- `name` is set to `Southwest`
- The optional `If-Unmodified-Since` header value equals the `Last-Modified` header value retrieved from the `GET /id` or `GET /name` response.

```text
PUT /2022/06/REST/Playlists/Dynamic/Southwest/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
If-Unmodified-Since: Wed, 13 Mar 2024 21:32:34 GMT
Content-Type: application/json
Content-Length: 320
```

This is the example request body:

```json
{
  "id": 0,
  "name": "Southwest",
  "physicalPath": null,
  "fileSize": 0,
  "fileHash": null,
  "creationDate": "0001-01-01T00:00:00",
  "lastModifiedDate": "0001-01-01T00:00:00",
  "supportsAudio": true,
  "supportsVideo": true,
  "supportsImages": true,
  "content": [
    {
      "contentId": 123456,
      "fileName": "Steampunk Resin Clock With Metallic Cogs And Gears.mp4",
      "displayDuration": "00:00:00",
      "validityStartDate": null,
      "validityEndDate": null
    }
  ],
  "presentations": null,
  "permissions": []
}
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Success Response**

<font color="#089a4d">204</font>: The specified Dynamic Playlist has been modified

**Failure Response**

<font color="#9a0808">300</font>: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)

<font color="#9a0808">400</font>: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules

<font color="#9a0808">401</font>: The access token is invalid or not specified

<font color="#9a0808">403</font>: The supplied access token, though valid, doesn't provide access to this method 

<font color="#9a0808">404</font>: The server cannot find the requested resource (the path does not exist)

<font color="#9a0808">406</font>: The server cannot return the data representation that you requested (as specified in the "Accept" header)

<font color="#9a0808">412</font>: Precondition failed (the resource changed since the time specified in the “If-Unmodified-Since” header value)

<font color="#9a0808">415</font>: The server cannot accept the data representation that you sent (as specified in the "Content-Type" header)

<font color="#9a0808">5XX</font>: Any 500 code is an internal server error

## DELETE /\{name}/  

Removes the specified Dynamic Playlist

**Required Scope Token**

bsn.api.main.playlists.dynamic.delete

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segment**

- `name` <font color="#704ae0">string: </font>The name of the Dynamic Playlist

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Request Example**

The example request parameters and headers are set as follows:

- `name` is set to `Northeast`
- The optional `If-Unmodified-Since` header value equals the `Last-Modified` header value retrieved from the `GET /id` or `GET /name` response.

```text
DELETE /2022/06/REST/Playlists/Dynamic/Northeast/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
If-Unmodified-Since: Wed, 13 Mar 2024 21:32:34 GMT
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Success Response**

<font color="#089a4d">204</font>: The specified Dynamic Playlist file has been removed from the network

**Failure Response**

<font color="#9a0808">300</font>: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)

<font color="#9a0808">400</font>: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules

<font color="#9a0808">401</font>: The access token is invalid or not specified

<font color="#9a0808">403</font>: The supplied access token, though valid, doesn't provide access to this method 

<font color="#9a0808">404</font>: The server cannot find the requested resource (the path does not exist)

<font color="#9a0808">406</font>: The server cannot return the data representation that you requested (as specified in the "Accept" header)

<font color="#9a0808">412</font>: Precondition failed (the resource changed since the time specified in the “If-Unmodified-Since” header value)

<font color="#9a0808">5XX</font>: Any 500 code is an internal server error

## GET /Operations/  

Returns the operational permissions granted to roles for specific business operations

**Required Scope Token**

bsn.api.main.operations.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Request Example**

The example request parameters and headers are set as follows:

```text
GET /2022/06/REST/Playlists/Dynamic/Operations/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Success Response Body**

<font color="#089a4d">200</font>: Returns the [Business Operations Entity](docId\:eI98k7OUl6z5i-5B-D6js)

:::ExpandableHeading
Example

```json
{
   "uid": "cc86a53e-e63d-4268-b2bf-fe4579d461f4",
   "singularName": "Full Control",
   "pluralName": "Dynamic Playlist (Full Control)",
   "fullName": "Dynamic Playlist (Full Control)",
   "targetEntity": "DynamicPlaylist",
   "appliance": "Instance, Collection",
   "parent": null,
   "descendants":    [
            {
         "uid": "3c2c75a2-b799-8174-3992-f1974b7122a9",
         "singularName": "View Dynamic Playlist",
         "pluralName": "View Dynamic Playlists",
         "fullName": "Dynamic Playlist (Full Control) - View Dynamic Playlists",
         "targetEntity": "DynamicPlaylist",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "cc86a53e-e63d-4268-b2bf-fe4579d461f4",
            "singularName": "Full Control",
            "pluralName": "Dynamic Playlist (Full Control)",
            "fullName": "Dynamic Playlist (Full Control)",
            "targetEntity": "DynamicPlaylist",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "3c2c75a2-b799-8174-3992-f1974b7122a9",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": false,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:06.363Z"
            },
                        {
               "entityId": null,
               "operationUID": "3c2c75a2-b799-8174-3992-f1974b7122a9",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": false,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:06.91Z"
            },
                        {
               "entityId": null,
               "operationUID": "3c2c75a2-b799-8174-3992-f1974b7122a9",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.023Z"
            },
                        {
               "entityId": null,
               "operationUID": "3c2c75a2-b799-8174-3992-f1974b7122a9",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.277Z"
            },
                        {
               "entityId": null,
               "operationUID": "3c2c75a2-b799-8174-3992-f1974b7122a9",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.523Z"
            },
                        {
               "entityId": null,
               "operationUID": "3c2c75a2-b799-8174-3992-f1974b7122a9",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:05.847Z"
            }
         ]
      },
            {
         "uid": "cf5f189b-3be8-0244-65e0-382f9da93c0e",
         "singularName": "View Contents",
         "pluralName": "View Contents",
         "fullName": "Dynamic Playlist (Full Control) - View Contents",
         "targetEntity": "DynamicPlaylist",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "cc86a53e-e63d-4268-b2bf-fe4579d461f4",
            "singularName": "Full Control",
            "pluralName": "Dynamic Playlist (Full Control)",
            "fullName": "Dynamic Playlist (Full Control)",
            "targetEntity": "DynamicPlaylist",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "cf5f189b-3be8-0244-65e0-382f9da93c0e",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": false,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:06.927Z"
            },
                        {
               "entityId": null,
               "operationUID": "cf5f189b-3be8-0244-65e0-382f9da93c0e",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.023Z"
            },
                        {
               "entityId": null,
               "operationUID": "cf5f189b-3be8-0244-65e0-382f9da93c0e",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.277Z"
            },
                        {
               "entityId": null,
               "operationUID": "cf5f189b-3be8-0244-65e0-382f9da93c0e",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.523Z"
            },
                        {
               "entityId": null,
               "operationUID": "cf5f189b-3be8-0244-65e0-382f9da93c0e",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:05.847Z"
            },
                        {
               "entityId": null,
               "operationUID": "cf5f189b-3be8-0244-65e0-382f9da93c0e",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.35Z"
            }
         ]
      },
            {
         "uid": "4c377bf1-0f9c-a194-edbf-ac79f6b7d305",
         "singularName": "Create Dynamic Playlist",
         "pluralName": "Create Dynamic Playlist",
         "fullName": "Dynamic Playlist (Full Control) - Create Dynamic Playlist",
         "targetEntity": "DynamicPlaylist",
         "appliance": "Collection",
         "parent":          {
            "uid": "cc86a53e-e63d-4268-b2bf-fe4579d461f4",
            "singularName": "Full Control",
            "pluralName": "Dynamic Playlist (Full Control)",
            "fullName": "Dynamic Playlist (Full Control)",
            "targetEntity": "DynamicPlaylist",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "4c377bf1-0f9c-a194-edbf-ac79f6b7d305",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.023Z"
            },
                        {
               "entityId": null,
               "operationUID": "4c377bf1-0f9c-a194-edbf-ac79f6b7d305",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.277Z"
            },
                        {
               "entityId": null,
               "operationUID": "4c377bf1-0f9c-a194-edbf-ac79f6b7d305",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.523Z"
            },
                        {
               "entityId": null,
               "operationUID": "4c377bf1-0f9c-a194-edbf-ac79f6b7d305",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:05.847Z"
            },
                        {
               "entityId": null,
               "operationUID": "4c377bf1-0f9c-a194-edbf-ac79f6b7d305",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.35Z"
            },
                        {
               "entityId": null,
               "operationUID": "4c377bf1-0f9c-a194-edbf-ac79f6b7d305",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.897Z"
            }
         ]
      },
            {
         "uid": "f8d54357-096e-cfc4-f153-419b50a4697f",
         "singularName": "Rename Dynamic Playlist",
         "pluralName": "Rename Dynamic Playlist",
         "fullName": "Dynamic Playlist (Full Control) - Rename Dynamic Playlist",
         "targetEntity": "DynamicPlaylist",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "cc86a53e-e63d-4268-b2bf-fe4579d461f4",
            "singularName": "Full Control",
            "pluralName": "Dynamic Playlist (Full Control)",
            "fullName": "Dynamic Playlist (Full Control)",
            "targetEntity": "DynamicPlaylist",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "f8d54357-096e-cfc4-f153-419b50a4697f",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.023Z"
            },
                        {
               "entityId": null,
               "operationUID": "f8d54357-096e-cfc4-f153-419b50a4697f",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.277Z"
            },
                        {
               "entityId": null,
               "operationUID": "f8d54357-096e-cfc4-f153-419b50a4697f",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.523Z"
            },
                        {
               "entityId": null,
               "operationUID": "f8d54357-096e-cfc4-f153-419b50a4697f",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:05.847Z"
            },
                        {
               "entityId": null,
               "operationUID": "f8d54357-096e-cfc4-f153-419b50a4697f",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.35Z"
            },
                        {
               "entityId": null,
               "operationUID": "f8d54357-096e-cfc4-f153-419b50a4697f",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.897Z"
            }
         ]
      },
            {
         "uid": "7d6e1999-ebdc-4ae7-b242-a903c5c6695e",
         "singularName": "Update Dynamic Playlist",
         "pluralName": "Update Dynamic Playlist",
         "fullName": "Dynamic Playlist (Full Control) - Update Dynamic Playlist",
         "targetEntity": "DynamicPlaylist",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "cc86a53e-e63d-4268-b2bf-fe4579d461f4",
            "singularName": "Full Control",
            "pluralName": "Dynamic Playlist (Full Control)",
            "fullName": "Dynamic Playlist (Full Control)",
            "targetEntity": "DynamicPlaylist",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "7d6e1999-ebdc-4ae7-b242-a903c5c6695e",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.023Z"
            },
                        {
               "entityId": null,
               "operationUID": "7d6e1999-ebdc-4ae7-b242-a903c5c6695e",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.277Z"
            },
                        {
               "entityId": null,
               "operationUID": "7d6e1999-ebdc-4ae7-b242-a903c5c6695e",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.523Z"
            },
                        {
               "entityId": null,
               "operationUID": "7d6e1999-ebdc-4ae7-b242-a903c5c6695e",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:05.847Z"
            },
                        {
               "entityId": null,
               "operationUID": "7d6e1999-ebdc-4ae7-b242-a903c5c6695e",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.35Z"
            },
                        {
               "entityId": null,
               "operationUID": "7d6e1999-ebdc-4ae7-b242-a903c5c6695e",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.897Z"
            }
         ]
      },
            {
         "uid": "4cbdae4a-a900-4535-9d32-443ea077fc21",
         "singularName": "Assign Dynamic Playlist",
         "pluralName": "Assign Dynamic Playlist",
         "fullName": "Dynamic Playlist (Full Control) - Assign Dynamic Playlist",
         "targetEntity": "DynamicPlaylist",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "cc86a53e-e63d-4268-b2bf-fe4579d461f4",
            "singularName": "Full Control",
            "pluralName": "Dynamic Playlist (Full Control)",
            "fullName": "Dynamic Playlist (Full Control)",
            "targetEntity": "DynamicPlaylist",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "4cbdae4a-a900-4535-9d32-443ea077fc21",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.023Z"
            },
                        {
               "entityId": null,
               "operationUID": "4cbdae4a-a900-4535-9d32-443ea077fc21",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.277Z"
            },
                        {
               "entityId": null,
               "operationUID": "4cbdae4a-a900-4535-9d32-443ea077fc21",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.523Z"
            },
                        {
               "entityId": null,
               "operationUID": "4cbdae4a-a900-4535-9d32-443ea077fc21",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:05.847Z"
            },
                        {
               "entityId": null,
               "operationUID": "4cbdae4a-a900-4535-9d32-443ea077fc21",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.35Z"
            },
                        {
               "entityId": null,
               "operationUID": "4cbdae4a-a900-4535-9d32-443ea077fc21",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.897Z"
            }
         ]
      },
            {
         "uid": "1c434b6b-355e-4bdb-b6b5-60dc7a145bf9",
         "singularName": "Unassign Dynamic Playlist",
         "pluralName": "Unassign Dynamic Playlist",
         "fullName": "Dynamic Playlist (Full Control) - Unassign Dynamic Playlist",
         "targetEntity": "DynamicPlaylist",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "cc86a53e-e63d-4268-b2bf-fe4579d461f4",
            "singularName": "Full Control",
            "pluralName": "Dynamic Playlist (Full Control)",
            "fullName": "Dynamic Playlist (Full Control)",
            "targetEntity": "DynamicPlaylist",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "1c434b6b-355e-4bdb-b6b5-60dc7a145bf9",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.023Z"
            },
                        {
               "entityId": null,
               "operationUID": "1c434b6b-355e-4bdb-b6b5-60dc7a145bf9",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.277Z"
            },
                        {
               "entityId": null,
               "operationUID": "1c434b6b-355e-4bdb-b6b5-60dc7a145bf9",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.523Z"
            },
                        {
               "entityId": null,
               "operationUID": "1c434b6b-355e-4bdb-b6b5-60dc7a145bf9",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:05.847Z"
            },
                        {
               "entityId": null,
               "operationUID": "1c434b6b-355e-4bdb-b6b5-60dc7a145bf9",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.35Z"
            },
                        {
               "entityId": null,
               "operationUID": "1c434b6b-355e-4bdb-b6b5-60dc7a145bf9",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.897Z"
            }
         ]
      },
            {
         "uid": "4ab8f14f-be27-41d7-9e6f-38317bf269ba",
         "singularName": "Edit Permissions",
         "pluralName": "Edit Permissions",
         "fullName": "Dynamic Playlist (Full Control) - Edit Permissions",
         "targetEntity": "DynamicPlaylist",
         "appliance": "Collection",
         "parent":          {
            "uid": "cc86a53e-e63d-4268-b2bf-fe4579d461f4",
            "singularName": "Full Control",
            "pluralName": "Dynamic Playlist (Full Control)",
            "fullName": "Dynamic Playlist (Full Control)",
            "targetEntity": "DynamicPlaylist",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "4ab8f14f-be27-41d7-9e6f-38317bf269ba",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.023Z"
            },
                        {
               "entityId": null,
               "operationUID": "4ab8f14f-be27-41d7-9e6f-38317bf269ba",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.277Z"
            },
                        {
               "entityId": null,
               "operationUID": "4ab8f14f-be27-41d7-9e6f-38317bf269ba",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.523Z"
            },
                        {
               "entityId": null,
               "operationUID": "4ab8f14f-be27-41d7-9e6f-38317bf269ba",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:05.847Z"
            },
                        {
               "entityId": null,
               "operationUID": "4ab8f14f-be27-41d7-9e6f-38317bf269ba",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.35Z"
            },
                        {
               "entityId": null,
               "operationUID": "4ab8f14f-be27-41d7-9e6f-38317bf269ba",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.897Z"
            }
         ]
      },
            {
         "uid": "60252669-c9ea-c784-7de0-1d685b99c255",
         "singularName": "Delete Dynamic Playlist",
         "pluralName": "Delete Dynamic Playlist",
         "fullName": "Dynamic Playlist (Full Control) - Delete Dynamic Playlist",
         "targetEntity": "DynamicPlaylist",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "cc86a53e-e63d-4268-b2bf-fe4579d461f4",
            "singularName": "Full Control",
            "pluralName": "Dynamic Playlist (Full Control)",
            "fullName": "Dynamic Playlist (Full Control)",
            "targetEntity": "DynamicPlaylist",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "60252669-c9ea-c784-7de0-1d685b99c255",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": false,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:06.377Z"
            },
                        {
               "entityId": null,
               "operationUID": "60252669-c9ea-c784-7de0-1d685b99c255",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.023Z"
            },
                        {
               "entityId": null,
               "operationUID": "60252669-c9ea-c784-7de0-1d685b99c255",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.277Z"
            },
                        {
               "entityId": null,
               "operationUID": "60252669-c9ea-c784-7de0-1d685b99c255",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.523Z"
            },
                        {
               "entityId": null,
               "operationUID": "60252669-c9ea-c784-7de0-1d685b99c255",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:05.847Z"
            },
                        {
               "entityId": null,
               "operationUID": "60252669-c9ea-c784-7de0-1d685b99c255",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.897Z"
            }
         ]
      }
   ],
   "permissions":    [
            {
         "entityId": null,
         "operationUID": "cc86a53e-e63d-4268-b2bf-fe4579d461f4",
         "principal":          {
            "name": "Administrators",
            "isCustom": false,
            "type": "Role",
            "id": 1
         },
         "isFixed": true,
         "isInherited": false,
         "isAllowed": true,
         "creationDate": "2020-03-05T16:59:05.023Z"
      },
            {
         "entityId": null,
         "operationUID": "cc86a53e-e63d-4268-b2bf-fe4579d461f4",
         "principal":          {
            "name": "General Managers",
            "isCustom": false,
            "type": "Role",
            "id": 2
         },
         "isFixed": true,
         "isInherited": false,
         "isAllowed": true,
         "creationDate": "2020-03-05T16:59:05.277Z"
      },
            {
         "entityId": null,
         "operationUID": "cc86a53e-e63d-4268-b2bf-fe4579d461f4",
         "principal":          {
            "name": "Creators",
            "isCustom": false,
            "type": "Role",
            "id": 3
         },
         "isFixed": true,
         "isInherited": false,
         "isAllowed": true,
         "creationDate": "2020-03-05T16:59:05.523Z"
      },
            {
         "entityId": null,
         "operationUID": "cc86a53e-e63d-4268-b2bf-fe4579d461f4",
         "principal":          {
            "name": "Publishers",
            "isCustom": false,
            "type": "Role",
            "id": 4
         },
         "isFixed": true,
         "isInherited": false,
         "isAllowed": false,
         "creationDate": "2020-03-05T16:59:05.847Z"
      },
            {
         "entityId": null,
         "operationUID": "cc86a53e-e63d-4268-b2bf-fe4579d461f4",
         "principal":          {
            "name": "Network Managers",
            "isCustom": false,
            "type": "Role",
            "id": 5
         },
         "isFixed": true,
         "isInherited": false,
         "isAllowed": false,
         "creationDate": "2020-03-05T16:59:06.35Z"
      },
            {
         "entityId": null,
         "operationUID": "cc86a53e-e63d-4268-b2bf-fe4579d461f4",
         "principal":          {
            "name": "Viewers",
            "isCustom": false,
            "type": "Role",
            "id": 6
         },
         "isFixed": true,
         "isInherited": false,
         "isAllowed": false,
         "creationDate": "2020-03-05T16:59:06.897Z"
      }
   ]
}
```
:::

**Failure Response**

<font color="#9a0808">300</font>: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)

<font color="#9a0808">400</font>: The request is malformed and therefore invalid

<font color="#9a0808">401</font>: The access token is invalid or not specified

<font color="#9a0808">403</font>: The supplied access token, though valid, doesn't provide access to this method 

<font color="#9a0808">406</font>: The server cannot return the data representation that you requested (as specified in the "Accept" header)

<font color="#9a0808">5XX</font>: Any 500 code is an internal server error

## GET /\{id}/Permissions/  

Includes object permissions for a given Dynamic Playlist

**Required Scope Token**

bsn.api.main.playlists.dynamic.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segment**

- `id` <font color="#704ae0">int: </font>A unique identifier for the Dynamic Playlist

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Request Example**

The example request parameters and headers are set as follows:

- `id` is `12345678`

```text
GET /2022/06/REST/Playlists/Dynamic/12345678/Permissions/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Success Response Body**

<font color="#089a4d">200</font>: Returns an array of [Permission](docId\:JWfyMC42cdRG5jY2SkYsU) entities 

**Example**

```json
[
  {
    "entityId": 12345678,
    "operationUID": "60252669-c9ea-c784-7de0-1d685b99c255",
    "principal": {
      "login": "JaneDoe@brightsign.biz",
      "type": "User",
      "id": 10498
    },
    "isFixed": false,
    "isInherited": false,
    "isAllowed": true,
    "creationDate": "2023-10-25T22:17:24.28Z"
  },
  {
    "entityId": 12345678,
    "operationUID": "cc86a53e-e63d-4268-b2bf-fe4579d461f4",
    "principal": {
      "name": "Custom",
      "isCustom": true,
      "type": "Role",
      "id": 10498
    },
    "isFixed": false,
    "isInherited": false,
    "isAllowed": false,
    "creationDate": "2023-10-27T18:48:11.053Z"
  }
]
```

**Failure Response**

<font color="#9a0808">300</font>: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)

<font color="#9a0808">400</font>: The request is malformed and therefore invalid

<font color="#9a0808">401</font>: The access token is invalid or not specified

<font color="#9a0808">403</font>: The supplied access token, though valid, doesn't provide access to this method 

<font color="#9a0808">404</font>: The server cannot find the requested resource (the path does not exist)

<font color="#9a0808">406</font>: The server cannot return the data representation that you requested (as specified in the "Accept" header)

<font color="#9a0808">5XX</font>: Any 500 code is an internal server error

## POST /\{id}/Permissions/  

Adds permissions to the specified Dynamic Playlist

**Required Scope Token**

bsn.api.main.playlists.dynamic.update

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segment**

- `id` <font color="#704ae0">int: </font>A unique identifier for the Dynamic Playlist

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Request Body**

- An array of [Permission](docId\:JWfyMC42cdRG5jY2SkYsU) entities

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Request Example**

The example request parameters and headers are set as follows:

- `id` is set to `987654321`

```text
POST /2022/06/REST/Playlists/Dynamic/987654321/Permissions/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 318
```

This is the example request body:

```json
[
  {
    "entityId": 987654321,
    "operationUID": "cc86a53e-e63d-4268-b2bf-fe4579d461f4",
    "principal": {
      "name": "Custom",
      "isCustom": true,
      "type": "Role",
      "id": 10701
    },
    "isFixed": false,
    "isInherited": false,
    "isAllowed": true,
    "creationDate": "0001-01-01T00:00:00"
  }
]
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Success Response**

<font color="#089a4d">204</font>: The permissions were successfully added to the specified dynamic playlist

**Failure Response**

<font color="#9a0808">400</font>: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules

<font color="#9a0808">401</font>: The access token is invalid or not specified

<font color="#9a0808">403</font>: The supplied access token, though valid, doesn't provide access to this method

<font color="#9a0808">404</font>: The server cannot find the requested resource (the path does not exist)

<font color="#9a0808">415</font>: The server cannot accept the data representation that you sent (as specified in the "Content-Type" header)

<font color="#9a0808">5XX</font>: Any 500 code is an internal server error

## DELETE /\{id}/Permissions/  

Removes permissions for the specified Dynamic Playlist

**Required Scope Token**

bsn.api.main.playlists.dynamic.update

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segment**

- `id` <font color="#704ae0">int: </font>A unique identifier for the Dynamic Playlist

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Request Body**

- An array of [Permission](docId\:JWfyMC42cdRG5jY2SkYsU) entities

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Request Example**

The example request parameters and headers are set as follows:

- `id` is `12345678`

```text
DELETE /2022/06/REST/Playlists/Dynamic/12345678/Permissions/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 318
```

This is the example request body:

```json
[
  {
    "entityId": 12345678,
    "operationUID": "cc86a53e-e63d-4268-b2bf-fe4579d461f4",
    "principal": {
      "name": "Custom",
      "isCustom": true,
      "type": "Role",
      "id": 10701
    },
    "isFixed": false,
    "isInherited": false,
    "isAllowed": true,
    "creationDate": "0001-01-01T00:00:00"
  }
]
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Success Response**

<font color="#089a4d">204</font>: The specified permissions were successfully deleted

**Failure Response**

<font color="#9a0808">300</font>: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)

<font color="#9a0808">400</font>: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules

<font color="#9a0808">401</font>: The access token is invalid or not specified

<font color="#9a0808">403</font>: The supplied access token, though valid, doesn't provide access to this method 

<font color="#9a0808">404</font>: The server cannot find the requested resource (the path does not exist)

<font color="#9a0808">406</font>: The server cannot return the data representation that you requested (as specified in the "Accept" header)

<font color="#9a0808">5XX</font>: Any 500 code is an internal server error

## GET /\{name}/Permissions/  

Includes object permissions for a given Dynamic Playlist

**Required Scope Token**

bsn.api.main.playlists.dynamic.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segment**

- `name` <font color="#704ae0">string: </font>The name of the Dynamic Playlist

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Request Example**

The example request parameters and headers are set as follows:

- `name` is `NorthBuilding`

```text
GET /2022/06/REST/Playlists/Dynamic/NorthBuilding/Permissions/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Success Response Body**

<font color="#089a4d">200</font>: Returns an array of [Permission](docId\:JWfyMC42cdRG5jY2SkYsU) entities 

**Example**

```json
[
  {
    "entityId": 12345678,
    "operationUID": "60252669-c9ea-c784-7de0-1d685b99c255",
    "principal": {
      "login": "JaneDoe@brightsign.biz",
      "type": "User",
      "id": 10498
    },
    "isFixed": false,
    "isInherited": false,
    "isAllowed": true,
    "creationDate": "2023-10-25T22:17:24.28Z"
  },
  {
    "entityId": 4567890,
    "operationUID": "cc86a53e-e63d-4268-b2bf-fe4579d461f4",
    "principal": {
      "name": "Custom",
      "isCustom": true,
      "type": "Role",
      "id": 10498
    },
    "isFixed": false,
    "isInherited": false,
    "isAllowed": false,
    "creationDate": "2023-10-27T18:48:11.053Z"
  }
]
```

**Failure Response**

<font color="#9a0808">300</font>: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)

<font color="#9a0808">400</font>: The request is malformed and therefore invalid

<font color="#9a0808">401</font>: The access token is invalid or not specified

<font color="#9a0808">403</font>: The supplied access token, though valid, doesn't provide access to this method 

<font color="#9a0808">404</font>: The server cannot find the requested resource (the path does not exist)

<font color="#9a0808">406</font>: The server cannot return the data representation that you requested (as specified in the "Accept" header)

<font color="#9a0808">5XX</font>: Any 500 code is an internal server error

## POST /\{name}/Permissions/  

Adds permissions to the specified Dynamic Playlist

**Required Scope Token**

bsn.api.main.playlists.dynamic.update

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segment**

- `name` <font color="#704ae0">string: </font>The name of the Dynamic Playlist

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Request Body**

- An array of [Permission](docId\:JWfyMC42cdRG5jY2SkYsU) entities

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Request Example**

The example request parameters and headers are set as follows:

- `id` is set to `NorthBuilding`

```text
POST /2022/06/REST/Playlists/Dynamic/NorthBuilding/Permissions/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 318
```

This is the example request body:

```json
[
  {
    "entityId": 12345678,
    "operationUID": "cc86a53e-e63d-4268-b2bf-fe4579d461f4",
    "principal": {
      "name": "Custom",
      "isCustom": true,
      "type": "Role",
      "id": 10701
    },
    "isFixed": false,
    "isInherited": false,
    "isAllowed": true,
    "creationDate": "0001-01-01T00:00:00"
  }
]
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Success Response**

<font color="#089a4d">204</font>: The permissions were successfully added to the specified Dynamic Playlist

**Failure Response**

<font color="#9a0808">400</font>: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules

<font color="#9a0808">401</font>: The access token is invalid or not specified

<font color="#9a0808">403</font>: The supplied access token, though valid, doesn't provide access to this method 

<font color="#9a0808">404</font>: The server cannot find the requested resource (the path does not exist)

<font color="#9a0808">415</font>: The server cannot accept the data representation that you sent (as specified in the "Content-Type" header)

<font color="#9a0808">5XX</font>: Any 500 code is an internal server error

## DELETE /\{name}/Permissions/  

Removes permissions for the specified Dynamic Playlist

**Required Scope Token**

bsn.api.main.playlists.dynamic.update

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segment**

- `name` <font color="#704ae0">string: </font>The name of the Dynamic Playlist

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Request Body**

- An array of [Permission](docId\:JWfyMC42cdRG5jY2SkYsU) entities

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Request Example**

The example request parameters and headers are set as follows:

- `id` is `NorthBuilding`

```text
DELETE /2022/06/REST/Playlists/Dynamic/NorthBuilding/Permissions/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 318
```

This is the example request body:

```json
[
  {
    "entityId": 12345678,
    "operationUID": "cc86a53e-e63d-4268-b2bf-fe4579d461f4",
    "principal": {
      "name": "Custom",
      "isCustom": true,
      "type": "Role",
      "id": 10701
    },
    "isFixed": false,
    "isInherited": false,
    "isAllowed": true,
    "creationDate": "0001-01-01T00:00:00"
  }
]
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Success Response**

<font color="#089a4d">204</font>: The specified permissions were successfully deleted

**Failure Response**

<font color="#9a0808">300</font>: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)

<font color="#9a0808">400</font>: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules

<font color="#9a0808">401</font>: The access token is invalid or not specified

<font color="#9a0808">403</font>: The supplied access token, though valid, doesn't provide access to this method 

<font color="#9a0808">404</font>: The server cannot find the requested resource (the path does not exist)

<font color="#9a0808">406</font>: The server cannot return the data representation that you requested (as specified in the "Accept" header)

<font color="#9a0808">5XX</font>: Any 500 code is an internal server error
