Saltar al contenido

Referencia · reminders

Modificar recordatorio

PATCH/reminders/{id}

Requiere el scope reminders:write.

Los mismos que GET (mismo 404 opaco): en un proyecto compartido cualquier miembro lo edita, pero solo quien lo creó cambia su projectId (403 forbidden si no). En un proyecto archivado responde 409 project_archived. Al menos un campo (422 empty_patch si no).

null en date, recurrence o location quita la fecha, la repetición o el lugar. allDay: true sin date lleva la fecha actual a la medianoche de su día.

Parámetros de ruta

idstringobligatorio

Id del recordatorio.

Cuerpo de la petición

JSON, obligatorio. Modelo ReminderPatch.

titlestring

Rango: al menos 1 carácter

datenumber | null

Rango: ≥ 0

allDayboolean
recurrenceRecurrenceInput | null

Regla de recurrencia al crear o en PATCH. Campos no listados → 422 unknown_field. Los valores deben ser enteros; dayOfMonth admite -1 (último día) o 1..31, nunca 0.

Campos de RecurrenceInput
frequencyRecurrenceFrequencyobligatorio

Valores: dailyweeklymonthlyyearly

intervalinteger

Rango: 1–99

dayOfWeekinteger

Rango: 0–6

dayOfMonthinteger

Rango: -1–31

No admite otros campos: uno desconocido responde 422.

notifyNotify

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.

notesstring
locationstring | null
projectIdstring | null

Solo quien lo creó lo cambia (403 si no).

No admite otros campos: uno desconocido responde 422.

Respuestas

200

El recordatorio tras aplicar el patch.

dataReminderobligatorio

Recordatorio: algo a una hora o un día, sin estado (no se completa: se borra). Todos los campos están siempre presentes; los sin valor van como null. Timestamps en epoch milisegundos UTC.

Campos de Reminder
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.

401

Key ausente, malformada, inexistente, revocada, expirada o API deshabilitada (invalid_api_key, indistinguibles a propósito).

Códigos: invalid_api_key

403

Scope insuficiente (insufficient_scope), recurso sin acceso (forbidden) o sincronización de calendario de una tarea que creó otra persona (calendar_creator_only).

Códigos: insufficient_scopeforbiddencalendar_creator_only

404

Recurso inexistente, de otro usuario o id malformado (not_found, indistinguibles a propósito).

Códigos: not_found

409

El proyecto de la tarea está archivado y es de solo lectura (project_archived). No se aplicó nada.

Códigos: project_archived

422

Entrada inválida (invalid_json, unknown_field, missing_field, invalid_field, invalid_query_param, empty_patch, body_too_large — cuerpos de más de 64 KB —, invalid_idempotency_key, validation_error, y al asignar assignee_not_member, task_not_shared, task_private, share_pending).

Códigos: invalid_jsonunknown_fieldmissing_fieldinvalid_fieldinvalid_query_paramempty_patchbody_too_largeinvalid_idempotency_keyvalidation_errorassignee_not_membertask_not_sharedtask_privateshare_pending

429

Límite superado (rate_limited) — 60 req/min (ráfagas de 20) y 5.000 req/día por key. Reintentar tras Retry-After.

Códigos: rate_limited

Cabecera Retry-After: Segundos (enteros) a esperar antes de reintentar.

500

Error interno (internal_error). Cuerpo opaco a propósito; reintentar con backoff.

Códigos: internal_error

Documentación