Saltar al contenido

Modelos

Recordatorio

En esta página

Un recordatorio es algo que pasa a una hora o un día: una cita, una clase, un cumpleaños. No tiene estado: no se completa ni se descarta; cuando sobra, se borra.

Campos

idstringobligatorio
titlestringobligatorio
datenumber | nullobligatorio

Instante (epoch ms); en uno recurrente, la primera ocurrencia. null = sin fecha.

allDaybooleanobligatorio

Sin hora; date es la medianoche de ese día en la zona horaria de quien lo creó.

recurrenceRecurrence | nullobligatorio

Regla de recurrencia de la tarea. Los campos opcionales pueden estar ausentes.

Campos de Recurrence
frequencyRecurrenceFrequencyobligatorio

Valores: dailyweeklymonthlyyearly

intervalnumber

Rango: 1–99

dayOfWeeknumber

0 = domingo … 6 = sábado.

Rango: 0–6

dayOfMonthnumber

-1 = último día del mes; si no, 1..31.

Rango: -1–31

notifyNotifyobligatorio

Aviso del recordatorio. onDay = avisar el día; daysBefore = días de antelación; minutesBefore = minutos antes de la hora (0 = a la hora; sin él, la antelación por defecto del usuario). En uno de todo el día el aviso sale al empezar la jornada.

Campos de Notify
onDaybooleanobligatorio
daysBeforeinteger

Rango: 0–365

minutesBeforeinteger

Rango: 0–1440

No admite otros campos: uno desconocido responde 422.

locationstring | nullobligatorio
notesstring | nullobligatorio
projectIdstring | nullobligatorio
createdByPersonobligatorio

Cuenta de SecretarIA. Sin correo a propósito.

Campos de Person
idstringobligatorio
namestring | nullobligatorio

Nombre de pila; null si la cuenta ya no existe.

createdAtnumberobligatorio
excludedKeysarray<string>obligatorio

Días (YYYY-MM-DD) quitados de un recurrente con DELETE ?scope=occurrence.

  • Siempre presentes: un campo sin valor llega como null; nunca se omite.
  • Fechas: date y createdAt son milisegundos desde 1970, en UTC.
  • Al crear: solo title es obligatorio. Sin notify, avisa el mismo día ({"onDay": true}).

Fecha y hora

  • date es el instante del recordatorio; en uno recurrente, su primera ocurrencia. null significa sin fecha.
  • allDay: true lo deja sin hora: date se lleva a la medianoche de ese día en la zona horaria de quien lo creó. Exige date.

Avisos

notify decide cuándo llega la notificación:

  • onDay: avisar el día del recordatorio.
  • daysBefore: días de antelación, de 0 a 365.
  • minutesBefore: minutos antes de la hora, de 0 a 1440; 0 es a la hora. Sin él, se usa la antelación por defecto de la persona.

En uno de todo el día, el aviso sale al empezar la jornada.

Editar

  • PATCH solo cambia los campos que envías, y al menos uno (422 empty_patch si no).
  • null en date, recurrence, location o projectId quita la fecha, la repetición, el lugar o el proyecto.
  • allDay: true sin date lleva la fecha que ya tenía a la medianoche de su día.

Recurrencia

Un recordatorio se repite si lleva recurrence, con los mismos campos que una tarea: frequency, interval, dayOfWeek y dayOfMonth. Necesita date, que marca la primera ocurrencia.

A diferencia de las tareas, un recordatorio recurrente es un único objeto: no hay una ocurrencia por día ni seriesId. Los días que se han quitado con DELETE ?scope=occurrence aparecen en excludedKeys, como fechas YYYY-MM-DD en la zona horaria de quien lo creó.

Proyectos compartidos

Una clave ve y edita lo mismo que su dueño en la app: sus recordatorios y los de los proyectos en los que es propietario o miembro.

  • projectId lo mete en un proyecto propio o compartido; a uno de otra persona responde 403 y a uno que no existe, 404.
  • Cualquier miembro edita y borra los recordatorios del proyecto, pero solo quien lo creó cambia su projectId: si no, 403 forbidden.
  • Cada recordatorio lleva createdBy, con id y name (nunca el correo).
  • Un proyecto archivado es de solo lectura: crear, editar o borrar sus recordatorios responde 409 project_archived.
  • Lo que el asistente deja pendiente de confirmar antes de compartir solo lo ve quien lo creó; para el resto responde 404. La API nunca crea recordatorios pendientes.

Borrar

DELETE /reminders/{id} responde 204 sin cuerpo y es definitivo: deshacer solo existe dentro de la app. Si el recordatorio se repite, tienes que indicar qué borrar:

  • ?scope=occurrence&occurrenceKey=2026-12-25: solo ese día, que pasa a excludedKeys. Tiene que ser hoy o después y un día en que el recordatorio ocurre; si no, 422.
  • ?scope=series: el recordatorio entero.

Sin scope, la respuesta es 409 recurring_scope_required y no se borra nada.

Documentación