publ betaReference (MCP guide)
Open publ console

web_delivery_apply

# web_delivery_apply

Send a web message now, create or activate a schedule, edit an active schedule, or change an inactive schedule's audience in the Web Message app (pApp F00001). Requires confirmation SEND_WEB_MESSAGE, CREATE_WEB_SCHEDULE, ACTIVATE_WEB_SCHEDULE or EDIT_ACTIVE_WEB_SCHEDULE. Title 1–40, body 2–200. Sends to members and cannot be recalled; needs host delivery authorization. When sending cannot run here, the answer is MESSAGING_DELIVERY_CONSOLE with the console send screen (consoleUrl), and nothing is sent. A lost receipt stays pending and is never resent; task_resume only observes, and prepared work needs the identical apply. Called without confirmToken it previews and returns a confirmToken; repeating the same input with it executes once. Ask the user again before executing; this cannot be undone. When the preview has requiresReconfirmation, execute only with irreversibleConfirmed: true after the person confirms again.

## Inputs

| Field | Required here | Contract |
| --- | --- | --- |
| `target` | Yes | one of: `new`, `schedule` (by `mode`) |
| `target.audience` | Yes | When `target.mode` is `new`: one of: `MEMBER_ALL`, `SEGMENT` (by `type`) |
| `target.audience.segmentId` | Yes | When `target.mode` is `new` and `target.audience.type` is `SEGMENT`: string; pattern `^[A-Za-z0-9_-]{1,200}$` |
| `target.scheduleId` | Yes | When `target.mode` is `schedule`: integer; greater than 0 |
| `target.audience` | No | When `target.mode` is `schedule`: one of: `MEMBER_ALL`, `SEGMENT` (by `type`) |
| `target.audience.segmentId` | Yes | When `target.mode` is `schedule` and `target.audience.type` is `SEGMENT`: string; pattern `^[A-Za-z0-9_-]{1,200}$` |
| `change` | Yes | one of: `send`, `create-schedule`, `activate`, `edit`, `audience` (by `action`) |
| `change.title` | Yes | When `change.action` is `send`: string; min length 1; max length 40 |
| `change.body` | Yes | When `change.action` is `send`: string; min length 2; max length 200 |
| `change.linkUri` | No | When `change.action` is `send`: `` or string; format `uri` |
| `change.isSendPwaPush` | Yes | When `change.action` is `send`: boolean |
| `change.isMarketingMessage` | Yes | When `change.action` is `send`: boolean |
| `change.confirmation` | Yes | When `change.action` is `send`: `SEND_WEB_MESSAGE` |
| `change.title` | Yes | When `change.action` is `create-schedule`: string; min length 1; max length 40 |
| `change.body` | Yes | When `change.action` is `create-schedule`: string; min length 2; max length 200 |
| `change.linkUri` | No | When `change.action` is `create-schedule`: `` or string; format `uri` |
| `change.isSendPwaPush` | Yes | When `change.action` is `create-schedule`: boolean |
| `change.isMarketingMessage` | Yes | When `change.action` is `create-schedule`: boolean |
| `change.schedule` | Yes | When `change.action` is `create-schedule`: one of: `ONCE`, `DAILY`, `WEEKLY` (by `type`) |
| `change.schedule.sendAt` | Yes | When `change.action` is `create-schedule` and `change.schedule.type` is `ONCE`: string; pattern `^(?:(?:\d\d[2468][048]\|\d\d[13579][26]\|\d\d0[48]\|[02468][048]00\|[13579][26]00)-02-29\|\d{4}-(?:(?:0[13578]\|1[02])-(?:0[1-9]\|[12]\d\|3[01])\|(?:0[469]\|11)-(?:0[1-9]\|[12]\d\|30)\|(?:02)-(?:0[1-9]\|1\d\|2[0-8])))T(?:(?:[01]\d\|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z\|([+-](?:[01]\d\|2[0-3]):[0-5]\d)))$`; format `date-time` |
| `change.schedule.startAt` | Yes | When `change.action` is `create-schedule` and `change.schedule.type` is `DAILY`: string; pattern `^(?:(?:\d\d[2468][048]\|\d\d[13579][26]\|\d\d0[48]\|[02468][048]00\|[13579][26]00)-02-29\|\d{4}-(?:(?:0[13578]\|1[02])-(?:0[1-9]\|[12]\d\|3[01])\|(?:0[469]\|11)-(?:0[1-9]\|[12]\d\|30)\|(?:02)-(?:0[1-9]\|1\d\|2[0-8])))T(?:(?:[01]\d\|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z\|([+-](?:[01]\d\|2[0-3]):[0-5]\d)))$`; format `date-time` |
| `change.schedule.endAt` | Yes | When `change.action` is `create-schedule` and `change.schedule.type` is `DAILY`: string; pattern `^(?:(?:\d\d[2468][048]\|\d\d[13579][26]\|\d\d0[48]\|[02468][048]00\|[13579][26]00)-02-29\|\d{4}-(?:(?:0[13578]\|1[02])-(?:0[1-9]\|[12]\d\|3[01])\|(?:0[469]\|11)-(?:0[1-9]\|[12]\d\|30)\|(?:02)-(?:0[1-9]\|1\d\|2[0-8])))T(?:(?:[01]\d\|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z\|([+-](?:[01]\d\|2[0-3]):[0-5]\d)))$`; format `date-time` |
| `change.schedule.scheduleTime` | Yes | When `change.action` is `create-schedule` and `change.schedule.type` is `DAILY`: string; pattern `^(?:[01]\d\|2[0-3]):[0-5]\d$` |
| `change.schedule.timeZone` | No | When `change.action` is `create-schedule` and `change.schedule.type` is `DAILY`: string; max length 100; IANA timezone used for the source minimum-start-calendar-date rule. Defaults to UTC; scheduleTime and weekday values remain UTC. |
| `change.schedule.startAt` | Yes | When `change.action` is `create-schedule` and `change.schedule.type` is `WEEKLY`: string; pattern `^(?:(?:\d\d[2468][048]\|\d\d[13579][26]\|\d\d0[48]\|[02468][048]00\|[13579][26]00)-02-29\|\d{4}-(?:(?:0[13578]\|1[02])-(?:0[1-9]\|[12]\d\|3[01])\|(?:0[469]\|11)-(?:0[1-9]\|[12]\d\|30)\|(?:02)-(?:0[1-9]\|1\d\|2[0-8])))T(?:(?:[01]\d\|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z\|([+-](?:[01]\d\|2[0-3]):[0-5]\d)))$`; format `date-time` |
| `change.schedule.endAt` | Yes | When `change.action` is `create-schedule` and `change.schedule.type` is `WEEKLY`: string; pattern `^(?:(?:\d\d[2468][048]\|\d\d[13579][26]\|\d\d0[48]\|[02468][048]00\|[13579][26]00)-02-29\|\d{4}-(?:(?:0[13578]\|1[02])-(?:0[1-9]\|[12]\d\|3[01])\|(?:0[469]\|11)-(?:0[1-9]\|[12]\d\|30)\|(?:02)-(?:0[1-9]\|1\d\|2[0-8])))T(?:(?:[01]\d\|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z\|([+-](?:[01]\d\|2[0-3]):[0-5]\d)))$`; format `date-time` |
| `change.schedule.scheduleTime` | Yes | When `change.action` is `create-schedule` and `change.schedule.type` is `WEEKLY`: string; pattern `^(?:[01]\d\|2[0-3]):[0-5]\d$` |
| `change.schedule.timeZone` | No | When `change.action` is `create-schedule` and `change.schedule.type` is `WEEKLY`: string; max length 100; IANA timezone used for the source minimum-start-calendar-date rule. Defaults to UTC; scheduleTime and weekday values remain UTC. |
| `change.schedule.daysOfWeek` | Yes | When `change.action` is `create-schedule` and `change.schedule.type` is `WEEKLY`: array; items: integer; minimum 0; maximum 6; min items 1; max items 7 |
| `change.isActivated` | No | When `change.action` is `create-schedule`: boolean; default `false` |
| `change.confirmation` | Yes | When `change.action` is `create-schedule`: `CREATE_WEB_SCHEDULE` |
| `change.confirmation` | Yes | When `change.action` is `activate`: `ACTIVATE_WEB_SCHEDULE` |
| `change.title` | No | When `change.action` is `edit`: string; min length 1; max length 40 |
| `change.body` | No | When `change.action` is `edit`: string; min length 2; max length 200 |
| `change.linkUri` | No | When `change.action` is `edit`: `` or string; format `uri` |
| `change.isSendPwaPush` | No | When `change.action` is `edit`: boolean |
| `change.isMarketingMessage` | No | When `change.action` is `edit`: boolean |
| `change.schedule` | No | When `change.action` is `edit`: one of: `ONCE`, `DAILY`, `WEEKLY` (by `type`) |
| `change.schedule.sendAt` | Yes | When `change.action` is `edit` and `change.schedule.type` is `ONCE`: string; pattern `^(?:(?:\d\d[2468][048]\|\d\d[13579][26]\|\d\d0[48]\|[02468][048]00\|[13579][26]00)-02-29\|\d{4}-(?:(?:0[13578]\|1[02])-(?:0[1-9]\|[12]\d\|3[01])\|(?:0[469]\|11)-(?:0[1-9]\|[12]\d\|30)\|(?:02)-(?:0[1-9]\|1\d\|2[0-8])))T(?:(?:[01]\d\|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z\|([+-](?:[01]\d\|2[0-3]):[0-5]\d)))$`; format `date-time` |
| `change.schedule.startAt` | Yes | When `change.action` is `edit` and `change.schedule.type` is `DAILY`: string; pattern `^(?:(?:\d\d[2468][048]\|\d\d[13579][26]\|\d\d0[48]\|[02468][048]00\|[13579][26]00)-02-29\|\d{4}-(?:(?:0[13578]\|1[02])-(?:0[1-9]\|[12]\d\|3[01])\|(?:0[469]\|11)-(?:0[1-9]\|[12]\d\|30)\|(?:02)-(?:0[1-9]\|1\d\|2[0-8])))T(?:(?:[01]\d\|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z\|([+-](?:[01]\d\|2[0-3]):[0-5]\d)))$`; format `date-time` |
| `change.schedule.endAt` | Yes | When `change.action` is `edit` and `change.schedule.type` is `DAILY`: string; pattern `^(?:(?:\d\d[2468][048]\|\d\d[13579][26]\|\d\d0[48]\|[02468][048]00\|[13579][26]00)-02-29\|\d{4}-(?:(?:0[13578]\|1[02])-(?:0[1-9]\|[12]\d\|3[01])\|(?:0[469]\|11)-(?:0[1-9]\|[12]\d\|30)\|(?:02)-(?:0[1-9]\|1\d\|2[0-8])))T(?:(?:[01]\d\|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z\|([+-](?:[01]\d\|2[0-3]):[0-5]\d)))$`; format `date-time` |
| `change.schedule.scheduleTime` | Yes | When `change.action` is `edit` and `change.schedule.type` is `DAILY`: string; pattern `^(?:[01]\d\|2[0-3]):[0-5]\d$` |
| `change.schedule.timeZone` | No | When `change.action` is `edit` and `change.schedule.type` is `DAILY`: string; max length 100; IANA timezone used for the source minimum-start-calendar-date rule. Defaults to UTC; scheduleTime and weekday values remain UTC. |
| `change.schedule.startAt` | Yes | When `change.action` is `edit` and `change.schedule.type` is `WEEKLY`: string; pattern `^(?:(?:\d\d[2468][048]\|\d\d[13579][26]\|\d\d0[48]\|[02468][048]00\|[13579][26]00)-02-29\|\d{4}-(?:(?:0[13578]\|1[02])-(?:0[1-9]\|[12]\d\|3[01])\|(?:0[469]\|11)-(?:0[1-9]\|[12]\d\|30)\|(?:02)-(?:0[1-9]\|1\d\|2[0-8])))T(?:(?:[01]\d\|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z\|([+-](?:[01]\d\|2[0-3]):[0-5]\d)))$`; format `date-time` |
| `change.schedule.endAt` | Yes | When `change.action` is `edit` and `change.schedule.type` is `WEEKLY`: string; pattern `^(?:(?:\d\d[2468][048]\|\d\d[13579][26]\|\d\d0[48]\|[02468][048]00\|[13579][26]00)-02-29\|\d{4}-(?:(?:0[13578]\|1[02])-(?:0[1-9]\|[12]\d\|3[01])\|(?:0[469]\|11)-(?:0[1-9]\|[12]\d\|30)\|(?:02)-(?:0[1-9]\|1\d\|2[0-8])))T(?:(?:[01]\d\|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z\|([+-](?:[01]\d\|2[0-3]):[0-5]\d)))$`; format `date-time` |
| `change.schedule.scheduleTime` | Yes | When `change.action` is `edit` and `change.schedule.type` is `WEEKLY`: string; pattern `^(?:[01]\d\|2[0-3]):[0-5]\d$` |
| `change.schedule.timeZone` | No | When `change.action` is `edit` and `change.schedule.type` is `WEEKLY`: string; max length 100; IANA timezone used for the source minimum-start-calendar-date rule. Defaults to UTC; scheduleTime and weekday values remain UTC. |
| `change.schedule.daysOfWeek` | Yes | When `change.action` is `edit` and `change.schedule.type` is `WEEKLY`: array; items: integer; minimum 0; maximum 6; min items 1; max items 7 |
| `change.confirmation` | Yes | When `change.action` is `edit`: `EDIT_ACTIVE_WEB_SCHEDULE` |
| `confirmToken` | No | string; pattern `^ct[a-f\d]{32}$`; The confirmToken from this tool's preview result. Omit it to preview; repeat the same input with it to execute. |
| `irreversibleConfirmed` | No | `true`; true only after the person confirmed again, when the preview has requiresReconfirmation: the action cannot be undone. |