Saltar al contenido

Referencia · reminders

Crear recordatorio

POST/reminders

Requiere el scope reminders:write.

Sin notify, avisa el mismo día ({ "onDay": true }). Con allDay: true, date se lleva a la medianoche de ese día en la zona horaria del usuario. recurrence y allDay exigen date.

En un proyecto compartido lo ven y editan todos sus miembros activos.

Idempotencia: igual que en tareas: la misma Idempotency-Key devuelve el recordatorio original (201) sin duplicarlo.

Cabeceras

Idempotency-Keystring

Clave de idempotencia opcional (única por operación lógica). Máximo 128 caracteres, ASCII imprimible sin espacios; el prefijo local: está reservado. Inválida → 422 invalid_idempotency_key.

Rango: hasta 128 caracteres

Cuerpo de la petición

JSON, obligatorio. Modelo ReminderCreate.

titlestringobligatorio

No puede ser vacío (tras trim).

Rango: al menos 1 carácter

datenumber

Rango: ≥ 0

allDayboolean

Exige date, que se lleva a la medianoche de su día.

recurrenceRecurrenceInput

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
projectIdstring | null

Id de proyecto propio o compartido; null = sin proyecto. Proyecto ajeno → 403; inexistente → 404.

No admite otros campos: uno desconocido responde 422.

Respuestas

201

Recordatorio creado (o el original, en un replay idempotente).

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

El projectId asignado no existe.

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