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

# API changelog

> Review changes to the OpenPMM public API and CLI contract.

## 2026-08-28

* YouTube Destination options add `thumbnail_timestamp_ms`. OpenPMM uses the
  frame at this time in the video as the custom thumbnail.

## 2026-08-27

* Generic video Assets use `video` instead of `reel`. This value does not
  select a YouTube Short or a provider Reel placement. The retired `reel`
  Asset kind is rejected.
* Destination responses add `unavailable_reason`. Destination refresh warnings
  add a machine-readable `reason`. A non-authoritative provider result no
  longer changes a ready Destination to unavailable.
* Feedback retries with the same idempotency key can recover an unknown email
  outcome during the provider safety window without sending a duplicate email.
* Asset validation is removed from the public API, MCP, and CLI.
* Asset responses no longer include `rendition_summary`.
* Compatible media produces no separate compatibility result. Publication
  returns `media_change_required` only when the caller must change a file or
  Destination. The response confirms that no provider request started.
* Temporary preparation failures return `media_preparation_unavailable` with a
  safe retry instruction instead of asking the caller to change media.
* Facebook placement is automatic. A video publishes as a Reel and other media
  publishes to the Page feed. The API and CLI reject
  `destination_options.facebook`.
* CLI `0.5.0` returns `outcome` for publication commands and exits with code
  `11` when a Post needs action. Structured results and receipts are preserved.
* CLI authorization metadata includes `sensitive: true`.

## 2026-08-26

* A Facebook Post with one video uses the `reel` placement automatically.
* MCP and CLI callers do not have to select a Facebook placement.

## 2026-08-24

* CLI `0.4.0` adds `doctor`, bounded publication waiting, and complete
  command-specific flag tables.
* The CLI and docs define the CLI credential store as an internal detail. A
  direct API client uses a separate credential.
* Post publication docs now distinguish accepted work from provider
  completion. This clarification does not change the API response behavior.
* Public Post ID examples now use the runtime `send_` prefix.
* Writing Assistant settings commands are available again in CLI `0.3.0` and
  later.

## 2026-08-23

* Post responses add lifecycle metadata and optional publishing attempts.
* Post lists add Destination, exact state, creation time, and schedule filters.
* Destination publishing options use provider namespaces and snake case.
* Problem responses add a category, retry contract, and user action.
* Unsafe Post retries require `acknowledge_duplicate_risk: true`.
* Asset responses add status, checksum, inspection, and retention fields.
* Writing Assistant settings are removed from the public API and CLI.

OpenPMM is pre-launch. This update replaces the earlier public wire shapes.
