---
title: "Create Public Flow Presentation Export"
method: POST
path: "/v2/public/documents/presentations/{presentation_id}/exports"
tags: ["presentations"]
---

# Create Public Flow Presentation Export

`POST /v2/public/documents/presentations/{presentation_id}/exports`

## Request

- Base URL: `https://api.sanka.com`
- URL: `https://api.sanka.com/v2/public/documents/presentations/{presentation_id}/exports`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/sankahq/apis/sanka-public-api/docs/v2/public/documents/presentations/:presentation_id/exports/post.ts> (a function with typed inputs; its response is checked against the schema)

Start a PowerPoint or PDF export of the current revision; poll it until completed.

## Path parameters

- `presentation_id` string, required

## Query parameters

- `workspace_id` string, nullable

## Headers

- `Idempotency-Key` string, nullable
- `X-Workspace-Code` string

## Request body

- PresentationExportRequest
  - `format` 'pptx' | 'pdf' | 'google_slides', required
  - `slideIds` string[], nullable
  - `includeHidden` boolean
  - `includeNotes` boolean

## Response `202`

Successful Response

- CreatePublicPresentationExport202Envelope
  - `success` true, required
  - `data` PresentationExportData, required
    - `id` string, required
    - `documentId` string, required
    - `product` 'sanka' | 'flow', required
    - `revision` integer, required
    - `format` 'pptx' | 'pdf' | 'google_slides', required
    - `status` 'queued' | 'rendering' | 'writing' | 'uploading' | 'completed' | 'failed' | 'cancelled', required
    - `progress` integer
    - `filename` string, nullable
    - `sizeBytes` integer, nullable
    - `warnings` object[]
    - `errorCode` string, nullable
    - `errorMessage` string, nullable
    - `googleSlidesUrl` string, nullable
    - `downloadPath` string, nullable: App-relative download route; present once the export completed.
    - `createdAt` union
      - string, date-time
      - string
    - `startedAt` union
      - string, date-time
      - string
    - `finishedAt` union
      - string, date-time
      - string
    - `expiresAt` union
      - string, date-time
      - string
  - `meta` EnvelopeMeta, required
    - `ctx_id` string, required
    - `pagination` PaginationMeta
      - `page` integer, required
      - `page_size` integer, required
      - `total` integer, required
      - `next_cursor` string, nullable
    - `toast` ToastMessage
      - `variant` 'success' | 'error' | 'info' | 'warning', required
      - `code` string, required
      - `message` string, required
      - `i18n` ToastMessageI18n, required
        - `en` string, required
        - `ja` string, required

## Other responses

- `401`: Error response
- `403`: Error response
- `422`: Error response

## Changes

- **2026-10-18** `16f03a9e3ab9`: 1 warning, 2 info
  - added the new `google_slides` enum value to the `data/format` response property for the response status `202`
  - added the new `google_slides` enum value to the request property `format`
  - added the optional property `data/googleSlidesUrl` to the response with the `202` status
- **2026-10-09** `6224f51f9e33`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/sankahq/apis/sanka-public-api/changes/v2/public/documents/presentations/:presentation_id/exports/post.md)

---

[API](https://skmtc.dev/sankahq/apis/sanka-public-api.md) - [All operations](https://skmtc.dev/sankahq/apis/sanka-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sankahq/apis/sanka-public-api/revisions/16f03a9e3ab9?raw)
