Skip to main content

Projects

Project CRUD and collaborator management

📄️Import a project from an Excel (.xlsx) workbook (multipart/form-data)

Import a project from an Excel (.xlsx) workbook (multipart/form-data). PT-737: the create-vs-update choice is EXPLICIT — send `mode=create` or `mode=upsert`; it wins over the legacy ID-column heuristic, which applies only when `mode` is omitted (any row with an ID then makes the whole import an upsert). Send `projectId` to bind an update to that project: it forces `upsert` and resolves the workbook's Task Keys strictly within that project (a key from another project is rejected), and such an import may carry only new blank-ID rows, which become new tasks there. The create-mode project name comes from the optional in-workbook 'Project' sheet. Permission is enforced in the import tool by mode: a create requires `projects.create`; an upsert requires `tasks.update.any` for its keyed (update) rows and `tasks.create` for its unkeyed (new) rows, on the target project's organisation (a mixed workbook requires both). Returns 201 when a project was created, 200 when an existing project was updated.