genko.meDocs
Publishing and integrations

Scheduled publishing and unpublishing

Set a publication window with dates and times, and how delivery, webhooks, and caching are timed.

Set a publish start and end time to deliver announcements and limited-time entries during the period you choose. Scheduled publishing is available on Free. You need the Editor role or higher to set and save it.

Schedule a publish start

  1. Open the content and enter the draft.
  2. In Settings, choose Scheduled as the publication status.
  3. Enter a date and time in "Publish from" under "Publication window".
  4. Select Save and confirm it finished saving.

Scheduled requires a start time. Entering a date and time doesn't save it, so finish by saving the entry.

Set an unpublish time

Enter a date and time in "Unpublish at (optional)" under "Publication window", then save. If you set both a start and an end, make the end later than the start.

You can also set an end time on a published entry. When the end time arrives, the entry leaves regular delivery: it's no longer in lists, and a single-entry request returns 404. The entry itself isn't deleted.

Check the time zone

Dates and times are entered and shown in the time zone from your account settings. For example, publishing at 9:00 on September 10 Japan time is 0:00 on September 10 in UTC. When you confirm with your team, share the time zone too.

Check your time zone in "Account settings" (/settings) from the avatar menu. See Account and authentication for how to set it.

What happens at the start and end

WhatBehavior
New requests to the delivery APIDecides whether to deliver from the request time and the publication window
Settling the status in the dashboardA periodic job updates Scheduled to Published, and Published to Unpublished
Webhooksentry.published / entry.unpublished are sent when the periodic job settles the change
Your siteDepends on your site's own fetching, caching, and rebuild settings

The periodic job normally runs every 60 seconds. The delivery API doesn't wait for the job to update the status. It checks the start and end times itself. A webhook, on the other hand, isn't guaranteed to arrive at exactly the scheduled time.

Once a scheduled publish settles, publishedAt holds the start time you set, not the time the job ran. To see the time of an ordinary edit, use updatedAt.

Prepare your site to update too

A static site or a cached page doesn't update just because the API's state changes. Handle the start and end webhooks by triggering a rebuild or revalidation.

Even when the API stops returning an entry at the end time, content your site already cached doesn't necessarily disappear right away. If the display period matters, also check your site's cache expiry and what happens when an update fails.

Change or cancel a schedule

Before the start, change the date and time and save. To cancel the schedule, set the status to Draft and save. For an entry you want to publish again, also check that no past end time is left over.

If the page doesn't change after the time you set, first check the delivery API directly, to separate the API result from your site's cache. See Webhooks for how to check webhooks.

Publish period per language

For a multilingual API, choose a language in the editor, then save its status, start time, and end time. Each language's period is independent, and you can schedule and publish just an additional language while the main language stays a draft. The delivery API checks the publishing conditions of the language version you ask for. If an additional language isn't published, a regular fetch in that language returns 404 or leaves the entry out of a list. Only when you pass lang_fallback=true does it switch to the live main language.

The webhooks for a settled schedule and for an unpublish also report the language. Notifications for additional languages carry a top-level lang. If your site keeps a separate cache per language, revalidate the pages for that language.

Last updated: October 6, 2026

On this page