Saltar al contenido

Referencia · projects

Listar proyectos

GET/projects

Requiere el scope projects:read.

Incluye proyectos propios y compartidos como miembro activo, ordenados por nombre. Sin paginación a propósito (la colección por usuario es pequeña): la respuesta no lleva nextCursor.

Parámetros de query

statusProjectStatus

Filtra por estado del proyecto.

Valores: activearchived

Respuestas

200

Todos los proyectos accesibles.

dataarray<Project>obligatorio
Campos de Project
idstringobligatorio
namestringobligatorio
descriptionstring | nullobligatorio
colorstring | nullobligatorio
iconstring | nullobligatorio
tipoProjectTipo | nullobligatorio

Valores: trabajoociopersonal

statusProjectStatusobligatorio

Valores: activearchived

sharedbooleanobligatorio

Tiene al menos un miembro activo además del propietario/a.

rolestringobligatorio

Rol de la persona dueña de la key en el proyecto.

Valores: ownermember

createdAtnumberobligatorio
updatedAtnumberobligatorio

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

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