Referencia · tasks
Crear tarea
/tasks Requiere el scope tasks:write.
Defaults: status: backlog, priority: medium, progress: 0.
Idempotencia: si se envía la cabecera Idempotency-Key, un reintento con la misma clave devuelve la tarea original (también con 201) sin duplicarla. La clave se compara por usuario y el cuerpo NO se compara: misma clave con cuerpo distinto devuelve la tarea original.
Cabeceras
Idempotency-KeystringClave 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.
Cuerpo de la petición
JSON, obligatorio. Modelo TaskCreate.
titlestringobligatorioNo puede ser vacío (tras trim).
priorityTaskPrioritystatusTaskStatusnotesstringprojectIdstring | nullId de proyecto propio o compartido;
null= sin proyecto. Proyecto ajeno →403; inexistente →404.deadlinenumberdeadlineStartnumberdeadlineTypeDeadlineTypeGranularidad del deadline (
deadline= fin o fecha exacta,deadlineStart= inicio opcional).recurrenceRecurrenceInputRegla de recurrencia al crear o en PATCH. Campos no listados →
422 unknown_field. Los valores deben ser enteros;dayOfMonthadmite -1 (último día) o 1..31, nunca 0.Campos de RecurrenceInput
frequencyRecurrenceFrequencyobligatoriointervalintegerdayOfWeekintegerdayOfMonthinteger
No admite otros campos: uno desconocido responde
422.
No admite otros campos: uno desconocido responde 422.
Respuestas
201
Tarea creada (o la original, en un replay idempotente).
dataTaskobligatorioTarea. Todos los campos están siempre presentes; los sin valor van como
null(nunca se omiten). Timestamps en epoch milisegundos UTC.Campos de Task
idstringobligatoriotitlestringobligatoriostatusTaskStatusobligatoriopriorityTaskPriorityobligatorioprogressnumber | nullobligatorionotesstring | nullobligatorioprojectIdstring | nullobligatoriodeadlinenumber | nullobligatorioFin del intervalo o fecha exacta (epoch ms).
deadlineStartnumber | nullobligatorioInicio del intervalo (epoch ms).
deadlineTypeDeadlineType | nullobligatorioGranularidad del deadline (
deadline= fin o fecha exacta,deadlineStart= inicio opcional).recurrenceRecurrence | nullobligatorioSolo la lleva la ocurrencia pendiente de una serie; las completadas van con
null.Campos de Recurrence
frequencyRecurrenceFrequencyobligatoriointervalnumberdayOfWeeknumber0 = domingo … 6 = sábado.
dayOfMonthnumber-1 = último día del mes; si no, 1..31.
seriesIdstring | nullobligatorioSerie recurrente a la que pertenece (pendiente o completada);
nullsi nunca se repitió.createdAtnumberobligatorioupdatedAtnumberobligatoriocompletedAtnumber | nullobligatoriocreatedByPersonobligatorioCuenta de SecretarIA. Sin correo a propósito.
Campos de Person
idstringobligatorionamestring | nullobligatorioNombre de pila;
nullsi la cuenta ya no existe.
assigneePerson | nullobligatorioPersona asignada en un proyecto compartido;
null= sin asignar.Campos de Person
idstringobligatorionamestring | nullobligatorioNombre de pila;
nullsi la cuenta ya no existe.
401
Key ausente, malformada, inexistente, revocada, expirada o API deshabilitada (invalid_api_key, indistinguibles a propósito).
403
Scope insuficiente (insufficient_scope), recurso sin acceso (forbidden) o sincronización de calendario de una tarea que creó otra persona (calendar_creator_only).
404
El projectId asignado no existe.
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).
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.
500
Error interno (internal_error). Cuerpo opaco a propósito; reintentar con backoff.