publish
Make a content draft live for a locale or schedule future go-live; reschedule or go live now by omitting the date. Language/branch mismatches are refused unless allowed.
Instructions
Publish the working draft of a content item for a locale. The locale is a LANGUAGE BRANCH — publishing Norwegian text into 'en' puts it on the English site; a strong language/branch mismatch is refused unless allowLanguageMismatch is true. A future publishAt SCHEDULES the go-live instead: the draft stays unpublished (and invisible to readers) until then, and shows on the dashboard under Scheduled publishing. Call publish again with a new publishAt to reschedule, or without one to go live now. NEVER fake scheduling by putting the date in a data field — that publishes immediately.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| site | No | Site slug or id to act in (multisite). Omit to use this server's default site. Call list_sites to see what exists — an empty tree or search usually means the wrong site, not missing content. | |
| locale | No | Locale code. Omit for the document's own locale (its site-default variant, else its only variant). | |
| expireAt | No | When to unpublish automatically (ISO 8601). Must be after publishAt. | |
| publishAt | No | Future go-live time (ISO 8601, e.g. "2026-09-01T09:00:00Z"). Omit to publish immediately. | |
| documentId | Yes | The item's documentId (stable across locales and versions), e.g. from tree, list_pages or get_content. | |
| allowLanguageMismatch | No | Set true ONLY when publishing content whose language deliberately differs from the locale branch |