---
title: "Edit EPUB metadata"
method: POST
path: "/metadata/edit"
---

# Edit EPUB metadata

`POST /metadata/edit`

## Request

- Base URL: `https://epublys.com/v1`
- URL: `https://epublys.com/v1/metadata/edit`
- Auth: HTTP bearer

Absent fields are left untouched; an explicit empty string clears a field.

## Request body

- object
  - `file` string, required: Base64-encoded EPUB
  - `name` string: Original filename — the output is named after its stem (e.g. "Book.epub" gives "Book (compressed).epub"); without it the output keeps a fixed name
  - `title` string
  - `author` string
  - `authors` string: Comma-separated contributor list
  - `language` string
  - `publisher` string
  - `description` string
  - `series` string
  - `seriesPosition` string: Position within the series (e.g. "2")
  - `subjects` string: Comma-separated subject/genre tags
  - `date` string: Publication date (ISO 8601)
  - `isbn` string
  - `cover` string: Base64-encoded cover image — JPEG or PNG, 5MB max decoded

## Response `200`

Success — JSON envelope with the base64-encoded output file

- FileResult
  - `success` boolean
  - `file` string: Base64-encoded output file
  - `filename` string
  - `contentType` string
  - `message` string
  - `pro_tip` string: Present on free-tier responses only

## Other responses

- `400`: Invalid input — human message in `error`, machine category in `code`
- `401`: Missing or invalid API key
- `413`: Upload exceeds the per-request total cap
- `429`: Rate limited
- `500`: Processing failure

---

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