> ## 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.Powerpoint.ToVideo

## Overview

Converts PowerPoint presentations (.pptx) to video files for use as PADS4 content assets. Handles slide timing, transitions, and audio when generating the output video.

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

***

## 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/Powerpoint/Conversion/upload`         | Upload File             |
| `POST` | `/api/v1/Powerpoint/Conversion`                | Convert File            |
| `GET`  | `/api/v1/Powerpoint/Conversion/status/{jobId}` | Get Job Status          |
| `GET`  | `/api/v1/Powerpoint/Conversion/{jobId}`        | Get Result              |
| `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/Powerpoint/Conversion/upload`

**Request:**

```bash theme={null}
curl -b cookies.txt -X POST 'https://<your-server>/rdx/NDS.Services.Powerpoint.ToVideo/api/v1/Powerpoint/Conversion/upload' \
  -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/Powerpoint/Conversion`

**Request:**

```bash theme={null}
curl -b cookies.txt -X POST 'https://<your-server>/rdx/NDS.Services.Powerpoint.ToVideo/api/v1/Powerpoint/Conversion' \
  -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}
```

***

### GET `/api/v1/Powerpoint/Conversion/status/{jobId}`

**Request:**

```bash theme={null}
curl -b cookies.txt -X GET 'https://<your-server>/rdx/NDS.Services.Powerpoint.ToVideo/api/v1/Powerpoint/Conversion/status/{jobId}'
```

**Response `200 OK`:**

```json theme={null}
{"Id": 1, "Name": "Example Item", "IsActive": true, "Code": "OK", "Succeeded": true}
```

***

### GET `/api/v1/Powerpoint/Conversion/{jobId}`

**Request:**

```bash theme={null}
curl -b cookies.txt -X GET 'https://<your-server>/rdx/NDS.Services.Powerpoint.ToVideo/api/v1/Powerpoint/Conversion/{jobId}'
```

**Response `200 OK`:**

```json theme={null}
{"Id": 1, "Name": "Example Item", "IsActive": true, "Code": "OK", "Succeeded": true}
```

***
