---
title: Content Endpoints (2022/06)
slug: develop/content-endpoints-202206
docTags: 
createdAt: 2025-03-11T07:03:30.742Z
---

This endpoint allows you to manage Content files (and content tags) on the network. 

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

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

## GET /

Returns a list of Content files on a network.

**Required Scope Token**

bsn.api.main.content.retrieve

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

**Query String Parameters**

- `filter` <font color="#704ae0">string</font> <font color="#01a0af">optional: </font>An [expression](docId:3L0afyD3xoOE-yTvfk2vs) for filtering search results.
- `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 (see [this page](docId:3L0afyD3xoOE-yTvfk2vs) for more information). 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 Content files 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 Content files 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 `[MediaType] IS 'Image' AND ([FileName] IS '.jpg' OR [FileName] IS '.jpeg') AND [UploadDate] IS IN THE RANGE '2020-07-01' AND '2020-08-01'`
- `sort` is set to `[LastModifiedDate] DESC`

```text
GET /2022/06/REST/Content/?marker=MjAyMC0wNy0yN1QxNjoxNjo0Ny44MTdaLDY0Njg2NA%3D%3D&pageSize=1&sort=%5BLastModifiedDate%5D%20DESC&filter=%5BMediaType%5D%20IS%20%27Image%27%20AND%20%28%5BFileName%5D%20IS%20%27*.jpg%27%20OR%20%5BFileName%5D%20IS%20%27*.jpeg%27%29%20AND%20%5BUploadDate%5D%20IS%20IN%20THE%20RANGE%20%272020-07-01%27%20AND%20%272020-08-01%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 a [paged list](docId\:Pwwr0Ln3-binNgL-mr3St) of [Content](docId\:fkVdcafrX380751m5hbNr) entities (generic data type) 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": 123456,
      "fileName": "ZoomBG.jpeg",
      "physicalPath": "https://bsncloud.s3.amazonaws.com/bsts/7abaa3f28f5f824d4f0bbd5eec295f13",
      "virtualPath": "\\Users\\Night\\",
      "thumbPath": "https://bsncloud.s3.amazonaws.com/bsts/e6f6eea4387fcae58b40be611c8c3017",
      "mediaType": "Image",
      "fileSize": 6534,
      "fileHash": "SHA1:79060249FC80G02990175BB4BDE4275E6F05F612",
      "uploadDate": "2020-07-27T16:16:47.817Z",
      "lastModifiedDate": "2020-07-27T16:16:47.817Z",
      "fileLastModifiedDate": "2020-07-16T17:34:20.41Z",
      "probeData": "",
      "metadata": {
        "widthPx": 275,
        "heightPx": 183,
        "colorSpace": "sRGB",
        "colorDepthBit": 8,
        "imageFormat": "Jpeg"
      },
      "dynamicPlaylists": [
        {
          "id": 123,
          "name": "My Dynamic Playlist"
        }
      ],
      "liveMediaFeeds": [
        {
          "id": 124,
          "name": "My Live Media Feed"
        }
      ],
      "taggedPlaylists": [
        {
          "id": 125,
          "name": "My Tagged Playlist"
        }
      ],
      "presentations": [
        {
          "id": 126,
          "name": "My Presentation",
          "type": "Presentation",
          "link": null
        }
      ],
      "tags": {
        "string::[Content].<Location>": "Sea Coast",
        "dateTime::[Content].<TimeTaken>": "2023-10-10T19:06:00.000Z"
      },
      "permissions": [
        {
          "entityId": 123456,
          "operationUID": "db3a6287-8d03-51b4-6528-704fac1ab8c9",
          "principal": {
            "login": "JohnDoe@brightsign.biz",
            "type": "User",
            "id": 101026
          },
          "isFixed": false,
          "isInherited": false,
          "isAllowed": false,
          "creationDate": "2023-10-11T22:07:33.507Z"
        },
        {
          "entityId": 123456,
          "operationUID": "39e69897-8d9a-f634-95cf-7419a3e93c23",
          "principal": {
            "name": "Custom",
            "isCustom": true,
            "type": "Role",
            "id": 10498
          },
          "isFixed": false,
          "isInherited": false,
          "isAllowed": true,
          "creationDate": "2023-10-11T22:07:33.473Z"
        }
      ]
    }
  ],
  "totalItemCount": 23,
  "matchingItemCount": 2,
  "pageSize": 1,
  "nextMarker": "Wm9vbUJHMy5qcGVnLDY0Njg2NA==",
  "prevMarker": "Wm9vbUJHMy5qcGVnLDY0Njg267nb",
  "isTruncated": true,
  "sortExpression": "[LastModifiedDate] DESC",
  "filterExpression": "[FileName] CONTAINS '*.jpeg'"
}
```

**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

## DELETE /

Removes Content files, specified by a filter, from a network. This allows you to simultaneously delete one or more content files of the `Auxiliary`, `Stylesheet`,  `Font`, `Text`, `Image`, `Video`, and/or `Audio` `mediaType`. Folders (virtual paths) cannot be deleted using this method.

**Required Scope Token**

bsn.api.main.content.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 `[VirtualPath] IS '\\Shared\\Presentations\\Archive\\*' AND [UploadDate] IS BEFORE '2020-01-01'`

```text
DELETE /2022/06/REST/Content/?filter=%5BVirtualPath%5D%20IS%20%27%5C%5CShared%5C%5CPresentations%5C%5CArchive%5C%5C*%27%20AND%20%5BUploadDate%5D%20IS%20BEFORE%20%272020-01-01%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 Content files 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 to 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">5XX</font>: Any 500 code is an internal server error

## GET /Root/\{\*virtualPath}/ 

Retrieves a list of Content files in the specified virtual directory folder. This resource maps to the virtual folder in the Content library, accordingly the virtual path is either complete or a partial path to a destination Content folder or file.

**Required Scope Token**

bsn.api.main.content.retrieve

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

**Segment**

- `virtualPath` <font color="#704ae0">string: </font>The Content file location in the BSN.Cloud virtual directory

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

**Query String Parameters**

- `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. "\[Content].\[FileName] ASC").
- `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 Content files exceeds the `pageSize`.
- `pageSize` <font color="#704ae0">int</font> <font color="#01a0af">optional: </font>The maximum number of Content files that can be contained in the response body

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

**Request Example**

The example request parameters and headers are set as follows:

- `virtualPath` is set to `Users/JohnDoe@brightsign.biz/`

```text
GET /2022/06/REST/Content/Root/Users/JohnDoe@brightsign.biz/ 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 [Content](docId\:fkVdcafrX380751m5hbNr) and [Content Folder](docId:1UOdquOarzRZ7X0sLW2NK) entities 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": 123456,
         "name": "My Images",
         "virtualPath": "\\Users\\JohnDoe@brightsign.biz\\",
         "thumbPath": "https://bsncloud.s3.amazonaws.com:443/public/icons/100x100/icon_folder.png",
         "mediaType": "Folder",
         "creationDate": "2020-07-09T19:09:05.103Z",
         "lastModifiedDate": "2020-07-09T19:09:05.103Z",
         "hasSubFolders": false,
         "hasFiles": false,
         "permissions": []
      },
            {
         "id": 1234567,
         "name": "My Incoming",
         "virtualPath": "\\Users\\JohnDoe@brightsign.biz\\",
         "thumbPath": "https://bsncloud.s3.amazonaws.com:443/public/icons/100x100/icon_folder_incoming.png",
         "mediaType": "Folder",
         "creationDate": "2020-07-09T19:09:05.067Z",
         "lastModifiedDate": "2020-07-09T19:09:05.067Z",
         "hasSubFolders": false,
         "hasFiles": false,
         "permissions": []
      },
            {
         "id": 12345678,
         "name": "My Videos",
         "virtualPath": "\\Users\\JohnDoe@brightsign.biz\\",
         "thumbPath": "https://bsncloud.s3.amazonaws.com:443/public/icons/100x100/icon_folder.png",
         "mediaType": "Folder",
         "creationDate": "2020-07-09T19:09:05.143Z",
         "lastModifiedDate": "2020-07-09T19:09:05.143Z",
         "hasSubFolders": false,
         "hasFiles": false,
         "permissions": []
      }
   ],
   "totalItemCount": 3,
   "matchingItemCount": 3,
   "pageSize": 100,
   "nextMarker": "LDYwMjg0Nw==",
   "prevMarker": "LDYwMjg089nh",
   "isTruncated": false,
   "sortExpression": "[Content].[FileName] ASC",
   "filterExpression": "[Type] IN ('Image', 'Video', 'Audio', 'Folder') AND [VirtualPath] = \\Users\\JohnDoe@brightsign.biz\\"
}
```

**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 /Root/\{\*virtualPath}/ 

Creates a Content folder in the specified virtual directory folder and returns the URL link to the folder location. This resource maps to the virtual folder in the Content library, accordingly the virtual path is either complete or a partial path to a destination content folder or file.

**Required Scope Token**

bsn.api.main.content.create

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

**Segment**

- `virtualPath` <font color="#704ae0">string</font> <font color="#01a0af">optional: </font>The Content location in the BSN.Cloud virtual directory

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

**Request Body**

- The [Content Folder Entity](docId:1UOdquOarzRZ7X0sLW2NK)&#x20;

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

**Request Example**

The example request parameters and headers are set as follows:

- `virtualPath` is set to `/Users/JohnDoe@brightsign.biz/`

```text
POST /2022/06/REST/Content/Root/Users/JohnDoe@brightsign.biz/ 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: 95
```

This is the example request body:

```json
{
    "id": 0,
    "name": "Testing",
    "virtualPath": "\\Users\\JohnDoe@brightsign.biz\\",
    "thumbPath": "",
    "mediaType": "Folder",
    "creationDate": "0001-01-01T00:00:00",
    "lastModifiedDate": "0001-01-01T00:00:00",
    "hasSubFolders": false,
    "hasFiles": false,
    "permissions": []
}
```

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

**Success Response Body**

<font color="#089a4d">201</font>: Returns the new resource created and referenced by the Uri (given by the Location header field) in the response. The response includes the [Content Folder Entity](docId:1UOdquOarzRZ7X0sLW2NK).

**Example**

```json
{
    "id": 123456,
    "name": "Testing",
    "virtualPath": "\\Users\\JohnDoe@brightsign.biz\\",
    "thumbPath": "",
    "mediaType": "Folder",
    "creationDate": "2023-06-07T19:00:08.156Z",
    "lastModifiedDate": "2023-06-07T19:00:08.156Z",
    "hasSubFolders": false,
    "hasFiles": false,
    "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 to 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">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

## GET /Count/ 

Retrieves the number of Content files on the network matching the specified filter criteria. If no filter is included, this call returns the total number of Content files on the network. 

**Required Scope Token**

bsn.api.main.content.retrieve

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

**Query String Parameter**

- `filter` <font color="#704ae0">string</font> <font color="#01a0af">optional: </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 `[FileName] CONTAINS '*.jpeg'`

```text
GET /2022/06/REST/Content/Count/?filter=%5BFileName%5D%20CONTAINS%20%27*.jpeg%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>: The Content file count 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}/ 

Retrieves the specified Content file 

**Required Scope Token**

bsn.api.main.content.retrieve

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

**Segment**

- `id` <font color="#704ae0">int: </font>A unique identifier for the Content. This value is generated by the server when the Content file is uploaded.

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

**Query String Parameters**

These parameters should only be used when requesting an image (they depend on the representation type):

- `maxWidth` <font color="#704ae0">uShort</font> <font color="#01a0af">optional: </font>The maximum content width (this should equal 100).
- `maxHeight` <font color="#704ae0">uShort</font> <font color="#01a0af">optional: </font>The maximum content height (this should equal 100).

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

**Request Examples**

This example request returns JSON metadata. The parameters and headers are set as follows (since the header specifies `application/json`, the `maxWidth` and `maxHeight` parameters are not needed):

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

```text
GET /2022/06/REST/Content/123456/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
If-Modified-Since: Fri, 08 Dec 2023 16:34:43 GMT
Accept-Encoding: gzip,deflate
Accept: application/json, application/vnd.bsn.error+json
```

This example request returns an image file. The parameters and headers are set as follows:

- `id` is set to `123456`
- `maxWidth` is set to `100`
- `maxHeight` is set to `100`

```text
GET /2022/06/REST/Content/123456/?maxWidth=100&maxHeight=100 HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept-Encoding: gzip,deflate
Accept: image/png, image/jpeg, image/gif
```

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

**Success Response with Body**

<font color="#089a4d">200</font>:  Returns either the [Content Entity](docId\:fkVdcafrX380751m5hbNr) or the file associated with the requested content, depending on what is specified in the request.

**Example**

This is an example of a 200 level response:

```json
{
  "id": 123456,
  "fileName": "ZoomBG.jpeg",
  "physicalPath": "https://bsncloud.s3.amazonaws.com/bsts/7abaa3f28f5f824d4f0bbd5eec295f13",
  "virtualPath": "\\Users\\Night\\",
  "thumbPath": "https://bsncloud.s3.amazonaws.com/bsts/e6f6eea4387fcae58b40be611c8c3017",
  "mediaType": "Image",
  "fileSize": 6534,
  "fileHash": "SHA1:79060849FC80F02990175BB4BDE4375E6F05F622",
  "uploadDate": "2020-07-27T16:16:47.817Z",
  "lastModifiedDate": "2023-12-08T16:34:44.093Z",
  "fileLastModifiedDate": "2020-07-27T16:16:47.817Z",
  "probeData": "",
  "metadata": {
    "widthPx": 275,
    "heightPx": 183,
    "colorSpace": "sRGB",
    "colorDepthBit": 8,
    "imageFormat": "Jpeg"
  },
  "dynamicPlaylists": [
    {
      "id": 123,
      "name": "My Dynamic Playlist"
    }
  ],
  "liveMediaFeeds": [
    {
      "id": 124,
      "name": "My Live Media Feed"
    }
  ],
  "taggedPlaylists": [
    {
      "id": 125,
      "name": "My Tagged Playlist"
    }
  ],
  "presentations": [
    {
      "id": 126,
      "name": "My Presentation",
      "type": "Presentation",
      "link": null
    }
  ],
  "tags": {
    "string::[Content].<Location>": "Sea Coast",
    "dateTime::[Content].<TimeTaken>": "2023-10-10T19:06:00.000Z"
  },
  "permissions": [
    {
      "entityId": 123456,
      "operationUID": "db3a6287-8d03-51b4-6528-704fac1ab8c9",
      "principal": {
        "login": "JohnDoe@brightsign.biz",
        "type": "User",
        "id": 101026
      },
      "isFixed": false,
      "isInherited": false,
      "isAllowed": false,
      "creationDate": "2023-10-11T22:07:33.507Z"
    },
    {
      "entityId": 123456,
      "operationUID": "39e69897-8d9a-f634-95cf-7419a3e93c23",
      "principal": {
        "name": "Custom",
        "isCustom": true,
        "type": "Role",
        "id": 10498
      },
      "isFixed": false,
      "isInherited": false,
      "isAllowed": true,
      "creationDate": "2023-10-11T22:07:33.473Z"
    }
  ]
}
```

**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}/ 

Update the specified Content files. 

**Required Scope Token**

bsn.api.main.content.update

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

**Segment**

- `id` <font color="#704ae0">int: </font>A unique identifier for the Content. This value is generated by the server when the content file is uploaded.

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

**Request Body**

- The [Content Entity](docId\:fkVdcafrX380751m5hbNr)

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

**Request Example**

The example request parameters and headers are set as follows:

- `id` is `123456`
- The optional `If-Unmodified-Since` header value equals the `Last-Modified` header value retrieved from the `GET /id` response.

```text
PUT /2022/06/REST/Content/123456/ 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, 20 Dec 2023 21:32:34 GMT
Content-Type: application/json
Content-Length: 861
```

This is the example request body:

```json
{
   "id": 0,
   "fileName": "Display.jpeg",
   "physicalPath": null,
   "virtualPath": "\\Users\\Night\\",
   "thumbPath": null,
   "mediaType": "Image",
   "fileSize": 0,
   "fileHash": null,
   "uploadDate": "0001-01-01T00:00:00",
   "lastModifiedDate": "0001-01-01T00:00:00",
   "fileLastModifiedDate": "0001-01-01T00:00:00",
   "probeData": null,
   "metadata": null,
   "dynamicPlaylists": null,
   "liveMediaFeeds": null,
   "taggedPlaylists": null,
   "presentations": null,
   "tags": {},
   "permissions": []
}
```

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

**Success Response**

<font color="#089a4d">204</font>: The specified content file has been updated on 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 to 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

<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

## PATCH /\{id}/ 

Applies a sequence of changes to a specific Content entity specified by id. See [RFC 6902](https://datatracker.ietf.org/doc/html/rfc6902).

**Required Scope Token**

bsn.api.main.content.regular.update

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

**Segment**

- `id` <font color="#704ae0">int: </font>A unique identifier for the Content. This value is generated by the server when the Content file is uploaded.

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

**Request Body**

These properties are entries in an array. Every entry must have all three of these properties:

- `op` <font color="#704ae0">string</font>: The type of operation - in this case it is always "replace"
- `path` <font color="#704ae0">string</font>: A Uri path that references the location within the target document where the update will be performed
- `value` <font color="#704ae0">object</font>: The replacement value(s) for the parameters that must be updated. This can be an array.

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

**Request Example**

The example request parameters and headers are set as follows:

- `id` is `12345`

```text
PATCH /2022/06/REST/Content/12345/ 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-patch+json
Content-Length: 1068
```

This is the example request body:

```json
[
  {
    "op": "replace",
    "path": "/virtualPath/",
    "value": "\\Shared\\Incoming\\"
  },
  {
    "op": "replace",
    "path": "/tags/",
    "value": {
      "String::[Content].<String>": "HelloWorld",
      "Boolean::[Content].<Boolean>": true,
      "Number::[Content].<Number>": 42,
      "DateTime::[Content].<DateTime>": "2024-01-12T22:00:00.123Z",
      "NumericArray::[Content].<NumericArray>": "1, 2, 3",
      "StringArray::[Content].<StringArray>": "\"A\", \"B\", \"C\""
    }
  },
  {
    "op": "replace",
    "path": "/permissions/",
    "value": [
      {
        "entityId": 12345,
        "operationUID": "39e69897-8d9a-f634-95cf-7419a3e93c23",
        "principal": {
          "name": "My Custom Role",
          "isCustom": true,
          "type": "Role",
          "id": 54321
        },
        "isFixed": false,
        "isInherited": false,
        "isAllowed": true,
        "creationDate": "0001-01-01T00:00:00"
      }
    ]
  }
]
```

**Success Response**

<font color="#089a4d">204</font>: The parameters have been successfully replaced.

**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">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}/ 

This method allows you to delete files that are of the `Auxiliary`,  `Stylesheet`,  `Font`,  `Text`,  `Image`,  `Video`, and/or `Audio mediaType`, as well as empty and non-empty folders which contain files that are not currently used.

**Required Scope Token**

bsn.api.main.content.delete

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

**Segment**

- `id` <font color="#704ae0">int: </font>A unique identifier for the Content to delete. 

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

**Request Example**

The example request parameters and headers are set as follows:

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

```text
DELETE /2022/06/REST/Content/123456/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
If-Unmodified-Since: Wed, 20 Dec 2023 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 Content file has been removed

**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 to 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 /\{id}/Tags/ 

Returns tags associated with the specified Content file

**Required Scope Token**

bsn.api.main.content.retrieve

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

**Segment**

- `id` <font color="#704ae0">int: </font>A unique identifier for the Content file. This value is generated by the server when the Content file is uploaded.

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

**Request Example**

The example request parameters and headers are set as follows:

- `id` is set to `123456`

```text
GET /2022/06/REST/Content/123456/Tags/ 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 list of properties and their values.

**Example**

```json
{
   "string::[Content].<Anon>": "image",
   "number::[Content].<BillingRate>": "30"
}
```

**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}/Tags/ 

Adds one or more tags to the specified Content file. The following are valid system-defined values for Content tags: "FileName", "FileSize", "ContentType",  and "UploadDate".  

**Required Scope Token**

bsn.api.main.content.update

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

**Segment**

- `id` <font color="#704ae0">int: </font>A unique identifier for the Content. This value is generated by the server when the content file is uploaded.

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

**Request Body**

- `tags` <font color="#704ae0">DynamicObject: </font>A collection of key value pairs where the key is tag name, and the value is tag value. See the `Tags` entry in [Player Entity](docId:9PqPrRJAVwfZbka1GYBEA) for more information.

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

**Request Example**

The example request parameters and headers are set as follows:

- `id` is set to `123456`
- A tag is added to set the Billing Rate to 30

```text
POST 2022/06/REST/Content/123456/Tags/ 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: 34
```

This is the example request body:

```json
{
	"[Content].<BillingRate>": 30
}
```

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

**Success Response**

<font color="#089a4d">204</font>:  A new tag has been successfully added to the specified Content file

**Failure Response**

<font color="#9a0808">400</font>: Either a tag with the specified key was already defined, the request is malformed and therefore invalid, or there is a conflict

<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}/Tags/ 

Removes one or more tags from the specified Content file 

**Required Scope Token**

bsn.api.main.content.update

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

**Segment**

- `id` <font color="#704ae0">int: </font>A unique identifier for the Content. This value is generated by the server when the Content file is uploaded.

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

**Request Body**

- `list` <font color="#704ae0">List&lt;string&gt;</font>: A list of key/value pairs that specify the tags to delete from the Content file

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

**Request Example**

The example request parameters and headers are set as follows:

- `id` is set to `123456`
- The `"string::[Content].<Anon>"` tag will be deleted

```text
DELETE /2022/06/REST/Content/123456/Tags/ 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: 28
```

This is the example request body:

```json
[
   "string::[Content].<Anon>"
]
```

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

**Success Response**

<font color="#089a4d">204</font>: The specified tags have been removed from the specified Content file 

**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 to 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/Content/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
Origin: http://localhost/
```

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

**Success Response Body**

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

**Example**

:::ExpandableHeading
Expand

```json
{
   "uid": "39e69897-8d9a-f634-95cf-7419a3e93c23",
   "singularName": "Full Control",
   "pluralName": "Content (Full Control)",
   "fullName": "Content (Full Control)",
   "targetEntity": "Content",
   "appliance": "Instance, Collection",
   "parent": null,
   "descendants":    [
            {
         "uid": "db3a6287-8d03-51b4-6528-704fac1ab8c9",
         "singularName": "View Content",
         "pluralName": "View Content",
         "fullName": "Content (Full Control) - View Content",
         "targetEntity": "Content",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "39e69897-8d9a-f634-95cf-7419a3e93c23",
            "singularName": "Full Control",
            "pluralName": "Content (Full Control)",
            "fullName": "Content (Full Control)",
            "targetEntity": "Content",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "db3a6287-8d03-51b4-6528-704fac1ab8c9",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": false,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:47.14Z"
            },
                        {
               "entityId": null,
               "operationUID": "db3a6287-8d03-51b4-6528-704fac1ab8c9",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": false,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:47.663Z"
            },
                        {
               "entityId": null,
               "operationUID": "db3a6287-8d03-51b4-6528-704fac1ab8c9",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:45.817Z"
            },
                        {
               "entityId": null,
               "operationUID": "db3a6287-8d03-51b4-6528-704fac1ab8c9",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.077Z"
            },
                        {
               "entityId": null,
               "operationUID": "db3a6287-8d03-51b4-6528-704fac1ab8c9",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.39Z"
            },
                        {
               "entityId": null,
               "operationUID": "db3a6287-8d03-51b4-6528-704fac1ab8c9",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:46.68Z"
            }
         ]
      },
            {
         "uid": "d61ef4ac-4da7-5f34-d9ba-6fc152313e26",
         "singularName": "Upload Content",
         "pluralName": "Upload Content",
         "fullName": "Content (Full Control) - Upload Content",
         "targetEntity": "Content",
         "appliance": "Collection",
         "parent":          {
            "uid": "39e69897-8d9a-f634-95cf-7419a3e93c23",
            "singularName": "Full Control",
            "pluralName": "Content (Full Control)",
            "fullName": "Content (Full Control)",
            "targetEntity": "Content",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "d61ef4ac-4da7-5f34-d9ba-6fc152313e26",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": false,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.69Z"
            },
                        {
               "entityId": null,
               "operationUID": "d61ef4ac-4da7-5f34-d9ba-6fc152313e26",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:45.817Z"
            },
                        {
               "entityId": null,
               "operationUID": "d61ef4ac-4da7-5f34-d9ba-6fc152313e26",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.077Z"
            },
                        {
               "entityId": null,
               "operationUID": "d61ef4ac-4da7-5f34-d9ba-6fc152313e26",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.39Z"
            },
                        {
               "entityId": null,
               "operationUID": "d61ef4ac-4da7-5f34-d9ba-6fc152313e26",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:47.127Z"
            },
                        {
               "entityId": null,
               "operationUID": "d61ef4ac-4da7-5f34-d9ba-6fc152313e26",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:47.65Z"
            }
         ]
      },
            {
         "uid": "5e5354dc-5ef6-4d9e-a832-a8f1014c85ad",
         "singularName": "Update Content",
         "pluralName": "Update Content",
         "fullName": "Content (Full Control) - Update Content",
         "targetEntity": "Content",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "39e69897-8d9a-f634-95cf-7419a3e93c23",
            "singularName": "Full Control",
            "pluralName": "Content (Full Control)",
            "fullName": "Content (Full Control)",
            "targetEntity": "Content",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "5e5354dc-5ef6-4d9e-a832-a8f1014c85ad",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:45.817Z"
            },
                        {
               "entityId": null,
               "operationUID": "5e5354dc-5ef6-4d9e-a832-a8f1014c85ad",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.077Z"
            },
                        {
               "entityId": null,
               "operationUID": "5e5354dc-5ef6-4d9e-a832-a8f1014c85ad",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.39Z"
            },
                        {
               "entityId": null,
               "operationUID": "5e5354dc-5ef6-4d9e-a832-a8f1014c85ad",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:46.68Z"
            },
                        {
               "entityId": null,
               "operationUID": "5e5354dc-5ef6-4d9e-a832-a8f1014c85ad",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:47.127Z"
            },
                        {
               "entityId": null,
               "operationUID": "5e5354dc-5ef6-4d9e-a832-a8f1014c85ad",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:47.65Z"
            }
         ]
      },
            {
         "uid": "ff7314eb-8094-42c7-8d86-9741d29ce7f1",
         "singularName": "Manage Tags",
         "pluralName": "Manage Tags",
         "fullName": "Content (Full Control) - Manage Tags",
         "targetEntity": "Content",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "39e69897-8d9a-f634-95cf-7419a3e93c23",
            "singularName": "Full Control",
            "pluralName": "Content (Full Control)",
            "fullName": "Content (Full Control)",
            "targetEntity": "Content",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "ff7314eb-8094-42c7-8d86-9741d29ce7f1",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:45.817Z"
            },
                        {
               "entityId": null,
               "operationUID": "ff7314eb-8094-42c7-8d86-9741d29ce7f1",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.077Z"
            },
                        {
               "entityId": null,
               "operationUID": "ff7314eb-8094-42c7-8d86-9741d29ce7f1",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.39Z"
            },
                        {
               "entityId": null,
               "operationUID": "ff7314eb-8094-42c7-8d86-9741d29ce7f1",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:46.68Z"
            },
                        {
               "entityId": null,
               "operationUID": "ff7314eb-8094-42c7-8d86-9741d29ce7f1",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:47.127Z"
            },
                        {
               "entityId": null,
               "operationUID": "ff7314eb-8094-42c7-8d86-9741d29ce7f1",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:47.65Z"
            }
         ]
      },
            {
         "uid": "8cba3c2c-c3ab-4b50-970d-6d6382a05856",
         "singularName": "Assign Content",
         "pluralName": "Assign Content",
         "fullName": "Content (Full Control) - Assign Content",
         "targetEntity": "Content",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "39e69897-8d9a-f634-95cf-7419a3e93c23",
            "singularName": "Full Control",
            "pluralName": "Content (Full Control)",
            "fullName": "Content (Full Control)",
            "targetEntity": "Content",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "8cba3c2c-c3ab-4b50-970d-6d6382a05856",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:45.817Z"
            },
                        {
               "entityId": null,
               "operationUID": "8cba3c2c-c3ab-4b50-970d-6d6382a05856",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.077Z"
            },
                        {
               "entityId": null,
               "operationUID": "8cba3c2c-c3ab-4b50-970d-6d6382a05856",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.39Z"
            },
                        {
               "entityId": null,
               "operationUID": "8cba3c2c-c3ab-4b50-970d-6d6382a05856",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:46.68Z"
            },
                        {
               "entityId": null,
               "operationUID": "8cba3c2c-c3ab-4b50-970d-6d6382a05856",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:47.127Z"
            },
                        {
               "entityId": null,
               "operationUID": "8cba3c2c-c3ab-4b50-970d-6d6382a05856",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:47.65Z"
            }
         ]
      },
            {
         "uid": "2080cb7c-813a-4e9f-90c4-2af213d78d88",
         "singularName": "Unassign Content",
         "pluralName": "Unassign Content",
         "fullName": "Content (Full Control) - Unassign Content",
         "targetEntity": "Content",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "39e69897-8d9a-f634-95cf-7419a3e93c23",
            "singularName": "Full Control",
            "pluralName": "Content (Full Control)",
            "fullName": "Content (Full Control)",
            "targetEntity": "Content",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "2080cb7c-813a-4e9f-90c4-2af213d78d88",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:45.817Z"
            },
                        {
               "entityId": null,
               "operationUID": "2080cb7c-813a-4e9f-90c4-2af213d78d88",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.077Z"
            },
                        {
               "entityId": null,
               "operationUID": "2080cb7c-813a-4e9f-90c4-2af213d78d88",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.39Z"
            },
                        {
               "entityId": null,
               "operationUID": "2080cb7c-813a-4e9f-90c4-2af213d78d88",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:46.68Z"
            },
                        {
               "entityId": null,
               "operationUID": "2080cb7c-813a-4e9f-90c4-2af213d78d88",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:47.127Z"
            },
                        {
               "entityId": null,
               "operationUID": "2080cb7c-813a-4e9f-90c4-2af213d78d88",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:47.65Z"
            }
         ]
      },
            {
         "uid": "9cfe2e6c-bb4f-404e-b94e-54d4d705b299",
         "singularName": "Edit Permissions",
         "pluralName": "Edit Permissions",
         "fullName": "Content (Full Control) - Edit Permissions",
         "targetEntity": "Content",
         "appliance": "Collection",
         "parent":          {
            "uid": "39e69897-8d9a-f634-95cf-7419a3e93c23",
            "singularName": "Full Control",
            "pluralName": "Content (Full Control)",
            "fullName": "Content (Full Control)",
            "targetEntity": "Content",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "9cfe2e6c-bb4f-404e-b94e-54d4d705b299",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:45.817Z"
            },
                        {
               "entityId": null,
               "operationUID": "9cfe2e6c-bb4f-404e-b94e-54d4d705b299",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.077Z"
            },
                        {
               "entityId": null,
               "operationUID": "9cfe2e6c-bb4f-404e-b94e-54d4d705b299",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.39Z"
            },
                        {
               "entityId": null,
               "operationUID": "9cfe2e6c-bb4f-404e-b94e-54d4d705b299",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:46.68Z"
            },
                        {
               "entityId": null,
               "operationUID": "9cfe2e6c-bb4f-404e-b94e-54d4d705b299",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:47.127Z"
            },
                        {
               "entityId": null,
               "operationUID": "9cfe2e6c-bb4f-404e-b94e-54d4d705b299",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:47.65Z"
            }
         ]
      },
            {
         "uid": "1aab37d3-1540-9c34-b116-62090419488e",
         "singularName": "Delete Content",
         "pluralName": "Delete Content",
         "fullName": "Content (Full Control) - Delete Content",
         "targetEntity": "Content",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "39e69897-8d9a-f634-95cf-7419a3e93c23",
            "singularName": "Full Control",
            "pluralName": "Content (Full Control)",
            "fullName": "Content (Full Control)",
            "targetEntity": "Content",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "1aab37d3-1540-9c34-b116-62090419488e",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": false,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:47.15Z"
            },
                        {
               "entityId": null,
               "operationUID": "1aab37d3-1540-9c34-b116-62090419488e",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:45.817Z"
            },
                        {
               "entityId": null,
               "operationUID": "1aab37d3-1540-9c34-b116-62090419488e",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.077Z"
            },
                        {
               "entityId": null,
               "operationUID": "1aab37d3-1540-9c34-b116-62090419488e",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.39Z"
            },
                        {
               "entityId": null,
               "operationUID": "1aab37d3-1540-9c34-b116-62090419488e",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:46.68Z"
            },
                        {
               "entityId": null,
               "operationUID": "1aab37d3-1540-9c34-b116-62090419488e",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:47.65Z"
            }
         ]
      }
   ],
   "permissions":    [
            {
         "entityId": null,
         "operationUID": "39e69897-8d9a-f634-95cf-7419a3e93c23",
         "principal":          {
            "name": "Administrators",
            "isCustom": false,
            "type": "Role",
            "id": 1
         },
         "isFixed": true,
         "isInherited": false,
         "isAllowed": true,
         "creationDate": "2020-08-17T20:49:45.817Z"
      },
            {
         "entityId": null,
         "operationUID": "39e69897-8d9a-f634-95cf-7419a3e93c23",
         "principal":          {
            "name": "General Managers",
            "isCustom": false,
            "type": "Role",
            "id": 2
         },
         "isFixed": true,
         "isInherited": false,
         "isAllowed": true,
         "creationDate": "2020-08-17T20:49:46.077Z"
      },
            {
         "entityId": null,
         "operationUID": "39e69897-8d9a-f634-95cf-7419a3e93c23",
         "principal":          {
            "name": "Creators",
            "isCustom": false,
            "type": "Role",
            "id": 3
         },
         "isFixed": true,
         "isInherited": false,
         "isAllowed": true,
         "creationDate": "2020-08-17T20:49:46.39Z"
      },
            {
         "entityId": null,
         "operationUID": "39e69897-8d9a-f634-95cf-7419a3e93c23",
         "principal":          {
            "name": "Publishers",
            "isCustom": false,
            "type": "Role",
            "id": 4
         },
         "isFixed": true,
         "isInherited": false,
         "isAllowed": false,
         "creationDate": "2020-08-17T20:49:46.68Z"
      },
            {
         "entityId": null,
         "operationUID": "39e69897-8d9a-f634-95cf-7419a3e93c23",
         "principal":          {
            "name": "Network Managers",
            "isCustom": false,
            "type": "Role",
            "id": 5
         },
         "isFixed": true,
         "isInherited": false,
         "isAllowed": false,
         "creationDate": "2020-08-17T20:49:47.127Z"
      },
            {
         "entityId": null,
         "operationUID": "39e69897-8d9a-f634-95cf-7419a3e93c23",
         "principal":          {
            "name": "Viewers",
            "isCustom": false,
            "type": "Role",
            "id": 6
         },
         "isFixed": true,
         "isInherited": false,
         "isAllowed": false,
         "creationDate": "2020-08-17T20:49:47.65Z"
      }
   ]
}
```
:::

**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/ 

Returns object permissions for the specified Content file

**Required Scope Token**

bsn.api.main.content.retrieve

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

**Segment**

- `id` <font color="#704ae0">int: </font>A unique identifier for the specified Content. This value is generated by the server when the Content file is uploaded.

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

**Request Example**

The example request parameters and headers are set as follows:

- `id` is set to `1234567`

```text
GET /2022/06/REST/Content/1234567/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": 1234567,
    "operationUID": "39e69897-8d9a-f634-95cf-7419a3e93c23",
    "principal": {
      "login": "JohnDoe@brightsign.biz",
      "type": "User",
      "id": 101026
    },
    "isFixed": true,
    "isInherited": false,
    "isAllowed": true,
    "creationDate": "2023-09-08T17:15:36.013Z"
  }
]
```

**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 Content file

**Required Scope Token**

bsn.api.main.content.update

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

**Segment**

- `id` <font color="#704ae0">int: </font>A unique identifier for the Content. This value is generated by the server when the Content file is uploaded.

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

**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 `12345`

```text
POST /2022/06/REST/Content/12345/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: 313
```

This is the example request body:

```json
[
  {
    "entityId": 12345,
    "operationUID": "39e69897-8d9a-f634-95cf-7419a3e93c23",
    "principal": {
      "login": "JohnDoe@brightsign.biz",
      "type": "User",
      "id": 101026
    },
    "isFixed": true,
    "isInherited": false,
    "isAllowed": true,
    "creationDate": "0001-01-01T00:00:00"
  },
  {
    "entityId": 12345,
    "operationUID": "ff7314eb-8094-42c7-8d86-9741d29ce7f1",
    "principal": {
      "name": "Custom",
      "isCustom": true,
      "type": "Role",
      "id": 10498
    },
    "isFixed": false,
    "isInherited": false,
    "isAllowed": false,
    "creationDate": "0001-01-01T00:00:00"
  }
]
```

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

**Success Response**

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

**Failure Response**

<font color="#9a0808">400</font>: The request or request body is malformed and therefore invalid, or it is rejected in accordance to 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 from the specified Content file

**Required Scope Token**

bsn.api.main.content.update

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

**Segment**

- `id` <font color="#704ae0">int: </font>A unique identifier for the Content file. This value is generated by the server when the Content file is uploaded.

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

**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 `12345`

```text
DELETE /2022/06/REST/Content/12345/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: 313
```

This is the example request body:

```json
[
  {
    "entityId": 12345,
    "operationUID": "39e69897-8d9a-f634-95cf-7419a3e93c23",
    "principal": {
      "login": "JohnDoe@brightsign.biz",
      "type": "User",
      "id": 101026
    },
    "isFixed": true,
    "isInherited": false,
    "isAllowed": true,
    "creationDate": "0001-01-01T00:00:00"
  },
  {
    "entityId": 12345,
    "operationUID": "ff7314eb-8094-42c7-8d86-9741d29ce7f1",
    "principal": {
      "name": "Custom",
      "isCustom": true,
      "type": "Role",
      "id": 10498
    },
    "isFixed": false,
    "isInherited": false,
    "isAllowed": false,
    "creationDate": "0001-01-01T00:00:00"
  }
]
```

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

**Success Response**

<font color="#089a4d">204</font>: The specified permissions have been removed from the specified Content file 

**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 to 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
