List schedule items
schedule.read
Example
Response
data — array of schedule items. Each item includes timing, location, routing, and metadata:
schedule_item_tags is where an item’s tags come back — read the current set from here before calling PUT /v1/schedule/items/{itemId}/tags, which replaces the whole set rather than appending to it.Create a schedule item
schedule.write
Body — common fields (the underlying model supports more; see notes below):
Time format:
startTime and endTime are 24-hour HH:mm time-of-day strings (e.g. 14:00), not ISO 8601 datetimes. The calendar date is taken from day_id.Travel items require an origin: when type is a travel item type (item types 2–6, e.g. drive, flight, walk), origin is required (and destination is normally included). Each is a { formatted_address, viewport, timeZone } object. Omitting origin on a travel item returns 400 VALIDATION_ERROR — “Travel items (type 2-6) require an origin”.data: { "id": 9021 } — plus the item’s reminders with their server ids when the request sent a reminder list. See Reminder ids on a write.
Visibility
Four fields control who on the tour can see an item:Attachments
Attachments are Daysync-hosted. Upload a file withPOST /v1/attachments (which fetches a URL and stores the file), then pass the returned link here. link is a Daysync storage key, not an external URL:
link is required (get it from POST /v1/attachments). fileSize is in bytes.
Don’t pass an external URL (e.g. your own CDN link) as
link — Daysync treats link as one of its own storage keys and builds the public URL from it, so a foreign URL renders broken. Always upload via POST /v1/attachments first.Update a schedule item
schedule.write
Path parameters
Body — the update input is a different, narrower set than create. Fields not listed below cannot be changed via update.
Not available on update:
tour_id, type. These are set at creation time only. The itemId is taken from the URL path — do not send it in the request body.Attachment upserts on update — each entry in Attachment
attachments is processed by shape:- No
id→ creates a new attachment and links it to the item. - With
id→ updates that existing attachment’s fields. - With
idand"deleted": true→ permanently removes that attachment from the item.
id values come from the item’s attachments in the list response.data: { "id": 9021 } — plus the item’s reminders with their server ids when the request sent a reminder list. See Reminder ids on a write.
Reminder ids on a write
POST /v1/schedule/items and PUT /v1/schedule/items/{itemId} return the item’s reminders with their server-generated ids whenever the request carried a reminder list:
The array is the item’s reminders after the write — not only the ones this request added — sorted by
id ascending, and read inside the same transaction, so the ids are authoritative rather than optimistic.
reminders is present only when the request sent a reminder list. A write that did not touch reminders answers { "id": 9021 } exactly as before, so nothing an existing integration reads has changed shape.POST /v1/schedule/items/batch does not echo reminders — it answers { "ids": [...] }. Use the single-item create when you need the ids back.Over MCP, the same rows come back from create_schedule_item and update_schedule_item.Create many schedule items
POST /v1/schedule/items when adding a set of items — it is one round trip and one transaction.
Scope: schedule.write
Body
Example
data: { "ids": [9021, 9022] } — the new item IDs, in request order.
Every item still needs its own
tour_id and day_id — items in one batch may span different days of the same tour. The visibility rules in Visibility apply per item, explicitVisibility included.Restore a deleted schedule item
DELETE — deletes are soft, so a removed item can be brought back with its content intact.
Scope: schedule.write
Path parameters
Response
data: none (status + message only).
Confirm every item on a day
schedule.write
Path parameters
Response
data — the items the call actually changed, so it can be undone:
Delete a schedule item
schedule.write
Path parameters
Response
data: none.
See also: Tours, Schedule Templates, Venues, Tags, Custom Fields.

