Projects
One installation site of a customer, with its roofs. You make offers per project.
List projects
Returns your projects, newest first. Filter with `name`, `state`, `customerId` and `city`, sort with `sort` (e.g. `sort=name.asc`) and page with `limit` and `offset`. Requires the `read:projects` scope.
Create a project
Creates a project for a customer, together with its roofs. You need the customer's `id` (from `POST /v1/customers`) and the team member responsible for the project. Requires the `write:projects` scope.
Get a project
Returns one project. Requires the `read:projects` scope.
Update a project
Changes a project. Send only the fields to change; the others keep their value. If you send `roofs`, send all of them: roofs you leave out are deleted, unless an offer uses them (`409 in_use`). Requires the `write:projects` scope.
Delete a project
Deletes a project together with all of its offers, also published and accepted ones; the customer can no longer see them. This cannot be undone. Requires the `write:projects` scope.