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.