---
title: "Import a PowerPoint or EaseWeb file"
method: POST
path: "/api/v1/presentations/import"
tags: ["presentations"]
---

# Import a PowerPoint or EaseWeb file

`POST /api/v1/presentations/import`

## Request

- Base URL: `https://easeweb.host`
- URL: `https://easeweb.host/api/v1/presentations/import`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `sessionid`

Create a new presentation of yours from a PowerPoint file (.pptx) or an EaseWeb archive (.zip, as exported by the
site): slides, texts with their formatting, shapes, pictures, backgrounds and links become editable blocks, the way
the "Import" button of the site does it. Returns the new presentation (ids only unless "response" is "full") and
"warnings" about what could not be converted.
With "into" (the slug of a presentation you may edit) the file updates that presentation instead: slide N of the
file replaces the blocks and the background of slide N, which keeps its id, so links to it, notes and history stay;
unchanged texts keep their translations. "slides" limits it to some numbers of the file; slides of the file after
the last one of the presentation are added. Its title, theme, slide names and database scripts stay.

## Request body

- object
  - `data_base64` string, required: The file, base64 (a data: URL prefix is allowed; at most 28 MB).
  - `filename` string: Name of the file, like "lecture.pptx" (its extension helps to recognise the format; without a title, it gives the title).
  - `title` string: Title of the new presentation (optional).
  - `project` string: Slug of one of your projects to put the presentation in.
  - `access` 'open' | 'public' | 'private': Who sees it (default "private": only you, until you publish it; "public": everybody reads it; "open": every signed-in person edits it too).
  - `into` string: Slug of an existing presentation to update from the file (instead of creating a new one).
  - `slides` integer[]: With "into": only these slide numbers of the file (1-based); all by default.
  - `remove_extra` boolean: With "into": remove the slides of the presentation after the last slide of the file (default false).
  - `rename` boolean: With "into": give the slides the names the file has (default false: they keep theirs).
  - `base_version` string: With "into": the "version" of the presentation as you read it; refused (409) when it changed meanwhile.
  - `response` 'brief' | 'full': "brief" (default): only the ids, numbers and types of the slides and blocks; "full": every prop of every block too.

## Response `200`

OK

- object

## Other responses

- `4XX`: Error

---

[API](https://skmtc.dev/easeweb/apis/easeweb-presentations-api.md) · [All operations](https://skmtc.dev/easeweb/apis/easeweb-presentations-api/llms.txt) · [OpenAPI document](https://skmtc.dev/easeweb/apis/easeweb-presentations-api/revisions/9f5566adb5d1?raw)
