Saltar al contenido

Referencia · tasks

Borrar tarea

DELETE/tasks/{id}

Requiere el scope tasks:write.

Las mismas tareas que GET (mismo 404 opaco); en un proyecto archivado responde 409 project_archived. El borrado es definitivo para la API (el undo existe solo dentro de la app).

Si la tarea pertenece a una serie recurrente (recurrence o seriesId de una serie activa), scope es obligatorio: sin él responde 409 recurring_scope_required y no borra nada.

Parámetros de ruta

idstringobligatorio

Id de la tarea.

Parámetros de query

scopestring

Solo para tareas recurrentes. occurrence = solo esta (la serie sigue y se genera la siguiente); series = toda la serie (deja de repetirse y se borra la pendiente; las completadas se conservan).

Valores: occurrenceseries

Respuestas

204

Tarea borrada. Sin cuerpo.

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

Tarea recurrente sin ?scope=occurrence|series (recurring_scope_required) o proyecto archivado (project_archived). No se borró nada.

Códigos: recurring_scope_requiredproject_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).

Códigos: invalid_jsonunknown_fieldmissing_fieldinvalid_fieldinvalid_query_paramempty_patchbody_too_largeinvalid_idempotency_keyvalidation_errorassignee_not_membertask_not_sharedtask_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.

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