> ## Documentation Index
> Fetch the complete documentation index at: https://developers.redo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# UpdateCalendarEventInput

> Changes to a calendar event. Omitted or null fields are unchanged, except `description`, which null clears. Field changes and `agendaOperations` apply together or not at all.

<ResponseField name="agendaOperations" type={<a href="/docs/api-reference/v3/reference/commerce-agent/calendar-agenda-operation-input">[CalendarAgendaOperationInput!]</a>}>
  Changes to the agenda, applied in order after the field changes. At most 50.

  <Expandable title="fields" lazyRender>
    <ResponseField name="add" type={<a href="/docs/api-reference/v3/reference/commerce-agent/calendar-agenda-item-input">CalendarAgendaItemInput</a>}>
      Append a new item to the end of the agenda.

      <Expandable title="fields" lazyRender>
        <ResponseField name="promotion" type={<a href="/docs/api-reference/v3/reference/commerce-agent/calendar-promotion-agenda-item-input">CalendarPromotionAgendaItemInput</a>}>
          A PROMOTION item.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="remove" type={<a href="/docs/api-reference/v3/reference/commerce-agent/calendar-agenda-item-remove-input">CalendarAgendaItemRemoveInput</a>}>
      Remove an existing item. A promotion Redo found on the brand's homepage returns DETECTED\_PROMOTION\_NOT\_REMOVABLE, since Redo would add it again; delete the event to dismiss it.

      <Expandable title="fields" lazyRender>
        <ResponseField name="id" type="ID!" required>
          The agenda item's `id`.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="update" type={<a href="/docs/api-reference/v3/reference/commerce-agent/calendar-agenda-item-update-input">CalendarAgendaItemUpdateInput</a>}>
      Change fields on an existing item.

      <Expandable title="fields" lazyRender>
        <ResponseField name="id" type="ID!" required>
          The agenda item's `id`.
        </ResponseField>

        <ResponseField name="item" type={<a href="/docs/api-reference/v3/reference/commerce-agent/calendar-agenda-item-input">CalendarAgendaItemInput!</a>} required>
          The fields to change, under the item's own kind key. Omitted fields are unchanged. A different kind returns AGENDA\_ITEM\_KIND\_MISMATCH.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="allDay" type="Boolean">
  Whether the event spans whole days in `timezone`.
</ResponseField>

<ResponseField name="description" type="String">
  Notes about the event, at most 1000 characters. The Commerce Agent reads them for MARKETING events and may repeat them to shoppers, so keep internal notes out.
</ResponseField>

<ResponseField name="endAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime</a>}>
  When the event ends. Must not be before `startAt`.
</ResponseField>

<ResponseField name="startAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime</a>}>
  When the event starts.
</ResponseField>

<ResponseField name="timezone" type="String">
  The IANA time zone the event is written in, such as `America/New_York`.
</ResponseField>

<ResponseField name="title" type="String">
  The name of the event, 1 to 200 characters. The Commerce Agent reads it for MARKETING events and may repeat it to shoppers.
</ResponseField>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.