solarOS Organization API

Organization API

Get purpose-built Quote builder content

Returns one Quote content graph inside the organization boundary using first-party builder concepts instead of raw child models: sections and lines, pricing inputs/computed totals, solar and system design data, financing scenarios, payment schedule funding shares (paymentSchedule.fundingSources, one per party) and milestones, incentives, assumptions, savings, environmental data, and calculation status. offeredFundingSources lists what financingScenarios may be written as: Cash first, then the saved financing options this Quote offers, each with financingOptionId (null for plain Cash, when the organization has no saved Cash option), name, and type. Hourly lines expose billing=HOURLY, estimated quantity, unitPrice as the technician-hour rate, minimumHours and laborLimit as decimal strings. Their paymentSchedule has one unbilled_hours milestone, amount 0, and no funding shares, even if old deposits are stored. Required scope: quotes:content:read.

/api/v1/quotes/{id}/content

Returns one Quote content graph inside the organization boundary using first-party builder concepts instead of raw child models: sections and lines, pricing inputs/computed totals, solar and system design data, financing scenarios, payment schedule funding shares (paymentSchedule.fundingSources, one per party) and milestones, incentives, assumptions, savings, environmental data, and calculation status. offeredFundingSources lists what financingScenarios may be written as: Cash first, then the saved financing options this Quote offers, each with financingOptionId (null for plain Cash, when the organization has no saved Cash option), name, and type. Hourly lines expose billing=HOURLY, estimated quantity, unitPrice as the technician-hour rate, minimumHours and laborLimit as decimal strings. Their paymentSchedule has one unbilled_hours milestone, amount 0, and no funding shares, even if old deposits are stored. Required scope: quotes:content:read.

Get purpose-built Quote builder content. Use an organization API key with quotes:content:read. Check the response envelope and meta.requestId before triggering dependent workflow steps.

Required scopes

quotes:content:read

Parameters

NameInTypeDescription
idrequiredpathstringQuote identifier returned by the Organization API.

Request body

This endpoint does not accept a JSON request body.

Responses

200

Quote builder content envelope

object

401

Missing or invalid organization API key

#/components/schemas/OrgApiError

402

Organization billing access or an endpoint-specific business quota denied the request

#/components/schemas/OrgApiError

403

Missing quotes:content:read scope

#/components/schemas/OrgApiError

404

Quote not found

#/components/schemas/OrgApiError

429

Rate limit exceeded

#/components/schemas/OrgApiError

Errors

401 Missing or invalid organization API key402 Organization billing access or an endpoint-specific business quota denied the request403 Missing quotes:content:read scope404 Quote not found429 Rate limit exceeded

Static examples

curl -X GET "$SOLAROS_BASE_URL/api/v1/quotes/$SOLAROS_QUOTE/content" \
  -H "Authorization: Bearer $SOLAROS_API_KEY"