> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pads4.com/llms.txt
> Use this file to discover all available pages before exploring further.

# NDS.Services.Content

## Overview

Manages the PADS4 media library: file upload, Canva design integration, fonts, image processing, and asset metadata. Handles file storage, format conversion triggers, and content versioning for all media assets.

| Field           | Value                                                                    |
| --------------- | ------------------------------------------------------------------------ |
| Swagger UI      | `https://<your-server>/rdx/NDS.Services.Content/swagger/index.html`      |
| OpenAPI spec    | `https://<your-server>/rdx/NDS.Services.Content/swagger/v1/swagger.json` |
| Base URL        | `https://<your-server>/rdx/NDS.Services.Content`                         |
| Total endpoints | 44                                                                       |

***

## Authentication

All endpoints use the standard PADS4 session cookie. Obtain it once and reuse:

```bash theme={null}
# Log in and save the session cookie
curl -c cookies.txt -X POST 'https://<your-server>/api/v1/Account/Logon' \
  -H 'Content-Type: application/json' \
  -d '{"UserName": "admin", "Password": "yourpassword", "Domain": "yourdomain"}'

# Use the cookie on all subsequent requests
curl -b cookies.txt -X GET 'https://<your-server>/rdx/<ServiceName>/...'
```

> Replace `https://<your-server>` with your PADS4 server address and `<ServiceName>` with the service path shown above.

***

## Endpoint Reference

| Method | Path                                                         | Description                |
| ------ | ------------------------------------------------------------ | -------------------------- |
| `POST` | `/api/v1/canva/designs`                                      | Get Canva Items            |
| `POST` | `/api/v1/canva/export`                                       | Export Design              |
| `POST` | `/api/v1/canva/download-image`                               | Download Canva Image       |
| `POST` | `/api/v1/content/fileinfo`                                   | Get File Info              |
| `POST` | `/api/v1/content/setFileAttributes`                          | Set File Attributes        |
| `POST` | `/api/v1/content/folder`                                     | Get Folders                |
| `POST` | `/api/v1/content/contentRoots`                               | Get User Content Roots     |
| `POST` | `/api/v1/content/permission`                                 | Get Permissions            |
| `POST` | `/api/v1/content/setpermission`                              | Set Permissions            |
| `POST` | `/api/v1/content/getHierarchyPermissions`                    | Get Hierarchy Permissions  |
| `POST` | `/api/v1/content/hierarchy`                                  | Get Hierarchy              |
| `POST` | `/api/v1/content/renameFile`                                 | Rename File                |
| `POST` | `/api/v1/content/renameFolder`                               | Rename Folder              |
| `POST` | `/api/v1/content/deleteFile`                                 | Delete File                |
| `POST` | `/api/v1/content/createFolder`                               | Create Folder              |
| `POST` | `/api/v1/content/deleteFolder`                               | Delete Folder              |
| `POST` | `/api/v1/content/moveFile`                                   | Move Files                 |
| `POST` | `/api/v1/content/moveFolder`                                 | Move Folders               |
| `POST` | `/api/v1/content/copyFile`                                   | Copy Files                 |
| `POST` | `/api/v1/content/copyFolder`                                 | Copy Folders               |
| `POST` | `/api/v1/content/uploadFile`                                 | Upload Files               |
| `GET`  | `/api/v1/content/contentPreview`                             | Get Content Preview        |
| `GET`  | `/api/v1/content`                                            | Get Content                |
| `GET`  | `/api/v1/content/External`                                   | Get External Content       |
| `POST` | `/api/v1/font/list`                                          | Get Fonts                  |
| `GET`  | `/api/v1/font/download/{name}`                               | Get Font                   |
| `POST` | `/api/v1/content/presentation/upload`                        | Upload Presentation        |
| `POST` | `/api/v1/content/presentation/convert`                       | Convert Presentation       |
| `GET`  | `/api/v1/ReplicationClient/Diagnostics/contentTransferState` | Get Content Transfer State |
| `GET`  | `/api/v1/ReplicationClient/Diagnostics/busDiagnostics`       | Get Bus Diagnostics        |
| `GET`  | `/api/v1/diagnostics/toggles`                                | Get Toggles                |
| `GET`  | `/api/v1/diagnostics/configuration`                          | Get Config Section         |
| `GET`  | `/api/v1/diagnostics/configurationex`                        | Get Configuration          |
| `GET`  | `/api/v1/diagnostics/circuitbreakers`                        | Get Circuit Breakers       |
| `GET`  | `/api/v1/diagnostics/circuitbreakers/reset`                  | Reset Circuit Breaker      |
| `GET`  | `/api/v1/diagnostics/circuitbreakers/isolate`                | Isolate Circuit Breaker    |
| `POST` | `/api/v1/diagnostics/events`                                 | Get Events                 |
| `GET`  | `/api/v1/health`                                             | Get                        |
| `GET`  | `/api/v1/health/clean`                                       | Get Clean                  |
| `POST` | `/api/v1/Management/RequeueErrorMessages`                    | Requeue Error Messages     |
| `POST` | `/api/v1/Management/PurgeErrorMessages`                      | Purge Error Messages       |
| `GET`  | `/migration`                                                 | Get Migrations             |
| `POST` | `/migration`                                                 | Execute Migration          |
| `GET`  | `/version`                                                   | Get                        |

***

## Request & Response Examples

### POST `/api/v1/canva/designs`

**Request:**

```bash theme={null}
curl -b cookies.txt -X POST 'https://<your-server>/rdx/NDS.Services.Content/api/v1/canva/designs' \
  -H 'Content-Type: application/json' \
  -d '{"PageIndex": 0, "PageSize": 20}'
```

**Response `200 OK`:**

```json theme={null}
{"Items": [], "TotalCount": 0, "PageIndex": 0, "PageSize": 20, "Code": "OK", "Succeeded": true}
```

***

### POST `/api/v1/canva/export`

**Request:**

```bash theme={null}
curl -b cookies.txt -X POST 'https://<your-server>/rdx/NDS.Services.Content/api/v1/canva/export' \
  -H 'Content-Type: application/json' \
  -d '{"PageIndex": 0, "PageSize": 20}'
```

**Response `200 OK`:**

```json theme={null}
{"Items": [], "TotalCount": 0, "PageIndex": 0, "PageSize": 20, "Code": "OK", "Succeeded": true}
```

***

### POST `/api/v1/canva/download-image`

**Request:**

```bash theme={null}
curl -b cookies.txt -X POST 'https://<your-server>/rdx/NDS.Services.Content/api/v1/canva/download-image' \
  -H 'Content-Type: application/json' \
  -d '{"PageIndex": 0, "PageSize": 20}'
```

**Response `200 OK`:**

```json theme={null}
{"Items": [], "TotalCount": 0, "PageIndex": 0, "PageSize": 20, "Code": "OK", "Succeeded": true}
```

***

### POST `/api/v1/content/fileinfo`

**Request:**

```bash theme={null}
curl -b cookies.txt -X POST 'https://<your-server>/rdx/NDS.Services.Content/api/v1/content/fileinfo' \
  -H 'Content-Type: application/json' \
  -d '{"PageIndex": 0, "PageSize": 20}'
```

**Response `200 OK`:**

```json theme={null}
{"Items": [], "TotalCount": 0, "PageIndex": 0, "PageSize": 20, "Code": "OK", "Succeeded": true}
```

***

### POST `/api/v1/content/setFileAttributes`

**Request:**

```bash theme={null}
curl -b cookies.txt -X POST 'https://<your-server>/rdx/NDS.Services.Content/api/v1/content/setFileAttributes' \
  -H 'Content-Type: application/json' \
  -d '{"PageIndex": 0, "PageSize": 20}'
```

**Response `200 OK`:**

```json theme={null}
{"Items": [], "TotalCount": 0, "PageIndex": 0, "PageSize": 20, "Code": "OK", "Succeeded": true}
```

***

### POST `/api/v1/content/folder`

**Request:**

```bash theme={null}
curl -b cookies.txt -X POST 'https://<your-server>/rdx/NDS.Services.Content/api/v1/content/folder' \
  -H 'Content-Type: application/json' \
  -d '{"PageIndex": 0, "PageSize": 20}'
```

**Response `200 OK`:**

```json theme={null}
{"Items": [], "TotalCount": 0, "PageIndex": 0, "PageSize": 20, "Code": "OK", "Succeeded": true}
```

***

> Additional endpoints follow the same patterns shown above. See the Swagger UI for full parameter schemas.
