solarOSsolarOS Docs

A project's Sold System can have no quote (2026-11-03)

Get a Project's Sold System returns a system entered at New Project with source.quoteId null, where it used to return 404.

Org API, Get a Project's Sold System (GET /api/v1/projects/{id}/system): a project can now have a Sold System with no quote behind it. When a project is started in solarOS with New Project and its solar details are entered on the System page, the project gets a Sold System from those answers, and this call returns it with 200. Before, a project started this way had no Sold System and the call returned 404. On these projects source.quoteId and source.quoteNumber are null. source.quoteId used to always be a string, so if your code reads it as a string, handle null. A Sold System made from a quote is unchanged.

A Sold System made this way holds what was entered, with sizes from your product catalog where a product was chosen, and the price and payments the project was made with. storage is null even when batteries are listed. usage, utility, and savings are null. production is null unless an annual production or a solar offset was entered. Price, financing, and payments still need the quotes:content:read scope, and moneyWithheld says whether they were left out.

A project with no Sold System still returns 404 with NOT_FOUND. The message is now "This project has no sold system." It used to add "it was not sold from a solar quote."

Webhook, project.created: for a project started in New Project with solar details, the payload adds soldSystem with scope, totals, and summarySentence, as it does for a project made from a solar quote. Other project.created payloads are unchanged.

Was this page helpful?