publ betaReference (MCP guide)
Open publ console

publ Reference

media_schedule_apply

Create, replace or cancel a future-publication task for an owned media post or collection.

Inputs

Provide channelCode, pAppCode, targetModel, targetId, action, expectedRevision from media_schedules_get, requestId and optional dryRun (default false). Supported apps/targets match the reader. The authenticated channel profile must own the target; a coaching target also requires Z00004.

action.kind Fields and requirements
create scheduledAt; target must be unpublished and have no active publication task
replace taskId, scheduledAt; select an existing active publication task
cancel taskId; select an existing active publication task

scheduledAt must be in the future with an explicit timezone and whole seconds; the adapter converts it to the source's UTC representation. taskId is the exact observed upstream value, 1–128 letters, digits, underscores or hyphens. Do not send the bridge recovery requestId here. POST and SERIES correspond to their distinct publication manifests. Fired, completed or deactivated tasks and coaching notifications are not replaceable/cancellable through these actions.

The unpublished/no-existing-task guard applies to create. Replacement checks the selected active task; it does not promise an additional unpublished-target condition beyond the implementation. This is schedule configuration, not execution of publication or message delivery.

Results and recovery

Dry run returns MEDIA_RESOURCE_PLAN. Apply compares target/task snapshots and observes the selected record. Create must receive a usable identity; an uncertain receipt is not permission to create another task. Readback can establish matching scheduled state while publicationExecutionVerified:false remains true to its meaning: future execution has not been verified. Unrelated target/task fields are checked within the projection; there is no atomic upstream compare-and-swap.

Task type: media-schedule. Use the saved requestId as taskId with the matching taskType. Media task_status and task_resume are observation-only, including prepared work. Repeat identical apply to continue a prepared action or an acknowledged next unsent stage; never change requestId to bypass an uncertain sent operation. A matching readback does not prove causality, atomic isolation or restoration. See recovery and revisions.

Read the media workflow guide for authorization, source-versus-runtime availability and common recovery rules.

Input example

Illustrative input only. Replace the channel, installed app, identifiers and revision with values obtained for the selected target.

{
  "channelCode": "selected-channel",
  "pAppCode": "C00002",
  "targetModel": "POST",
  "targetId": 1,
  "action": {
    "kind": "create",
    "scheduledAt": "2030-01-01T12:00:00+09:00"
  },
  "expectedRevision": "0000000000000000000000000000000000000000000000000000000000000000",
  "requestId": "example-request-001",
  "dryRun": true
}