Convenciones

Reglas transversales que se cumplen en toda la API. Conocerlas evita la mayoría de sorpresas.

Fechas

Planely piensa en días civiles de Madrid. Los campos de día — dueDate de las tareas, startDate y endDate de los sprints — entran y salen como YYYY-MM-DD, sin hora ni zona horaria: exactamente el mismo día que ves en la app. Los timestamps (createdAt, updatedAt, completedAt) son instantes ISO 8601 en UTC.

Cuerpos estrictos

Los cuerpos JSON son estrictos: un campo desconocido — una errata como titel — responde validation_error en vez de ignorarse en silencio. En las actualizaciones (PATCH), un campo ausente no se toca y un null explícito limpia el campo, donde aplica.

Identificadores

  • Todos los ids son opacos (UUID). No construyas lógica sobre su forma.
  • Las tareas se asignan por membershipId (la pertenencia de una persona a ESTE proyecto), no por email ni por id de usuario. Se obtienen en el recurso Miembros.
  • Un id de otro proyecto responde 404 — indistinguible de un id inexistente, a propósito.