UPowr Quote API (1.0.0)
Download OpenAPI specification:Download
Trigger design quote process for a project
Trigger design quote process for a project
Authorizations:
Request Body schema: application/json
| project_id required | string <uuid> The unique identifier for an existing project. |
| requote_reason | string The reason for re-quoting, if applicable. |
Responses
Request samples
- Payload
{- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "requote_reason": "string"
}Response samples
- 200
- 500
{- "ok": true
}Create a Quote
Create a Quote
Authorizations:
Request Body schema: application/json
| project_id required | string <uuid> The unique identifier for an existing project. |
| customer_id required | string <uuid> The unique identifier for an existing customer. |
| requote_reason | string The reason for re-quoting, if applicable. |
| xref | string The external reference number for the quote. |
Responses
Request samples
- Payload
{- "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
- "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
- "requote_reason": "string",
- "xref": "string"
}Response samples
- 200
- 400
- 500
{- "quote_id": "3c071a1d-db86-46a7-9dc8-72ba3fbca992"
}Update a Quote
Update a Quote
Authorizations:
path Parameters
| quoteId required | string <uuid> The quote ID |
Request Body schema: application/json
| deposit | integer >= 0 The deposit amount for the quote in cents |
| inspection_required | boolean Whether an inspection is required for this quote |
| status | string The status of the quote |
| discount | integer >= 0 The discount amount for the quote in cents |
Responses
Request samples
- Payload
{- "deposit": 0,
- "inspection_required": true,
- "status": "string",
- "discount": 0
}Response samples
- 200
- 500
{- "ok": true
}Save a Quote
Save a Quote
Authorizations:
path Parameters
| quoteId required | string <uuid> The quote ID |
Request Body schema: application/json
required | object (SystemDesignInput) |
required | Array of objects (QuoteItemInput) |
object (STCInput) | |
| customer_cost_cents required | integer >= 0 The total cost to the customer in cents |
| customer_gst_cents required | integer >= 0 The GST amount for the customer in cents |
| gross_customer_cost_cents required | integer >= 0 The gross cost to the customer (including GST) in cents |
| deposit_amount_cents required | integer >= 0 The deposit amount for the quote in cents |
Responses
Request samples
- Payload
{- "system_design": {
- "solar_design": {
- "panel_count": 0,
- "panel_product_id": "string",
- "panel_product_version": "string",
- "inverter_product_id": "string",
- "inverter_product_version": "string"
}, - "battery_design": {
- "battery_count": 0,
- "battery_product_id": "string",
- "battery_product_version": "string",
- "inverter_product_id": "string",
- "inverter_product_version": "string",
- "quantity": 0
}, - "ev_charger_design": {
- "ev_charger_product_id": "string",
- "ev_charger_product_version": "string",
- "quantity": 0
}
}, - "quote_items": [
- {
- "product_id": "string",
- "product_version": "string",
- "quantity": 0,
- "unit_price": 0,
- "gst": 0,
- "total_price": 0,
- "description": "string"
}
], - "stc": {
- "stc_count": 0,
- "stc_price": 0
}, - "customer_cost_cents": 0,
- "customer_gst_cents": 0,
- "gross_customer_cost_cents": 0,
- "deposit_amount_cents": 0
}Response samples
- 200
- 400
- 500
{- "quote_id": "3c071a1d-db86-46a7-9dc8-72ba3fbca992"
}Accept a Quote
Accept a Quote on behalf of a customer - this will trigger the order/installation process for the project as long as the contract has been accepted. A quote must have been approved before it can be accepted. If approval is required use the /{quoteId}/approve endpoint instead and set the accept flag to true. Do not use this to accept quotes that are Awaiting External Approval.
Authorizations:
path Parameters
| quoteId required | string <uuid> The quote ID |
query Parameters
| force | boolean Default: false Whether to force acceptance of the quote even if it is not approved. This will also accept the project contract |
Responses
Response samples
- 200
- 500
{- "ok": true
}Approve a Quote
Approve a Quote for publishing to a customer and optionally Accept on behalf of the customer. Use of the optional Acceptance will also accept the contract and void all other quotes, and then trigger the Order/Installation process. When using this flag the API will return before Acceptance happens so you will need to listen for Quote.Accepted and the other events to know when the Order is ready. Use this for quotes that are Awaiting External Approval.
Authorizations:
path Parameters
| quoteId required | string <uuid> The quote ID |
query Parameters
| accept | boolean Whether to accept the quote as well (this will mean all other quotes for the project are rejected regardless of state) |
Responses
Response samples
- 200
- 500
{- "ok": true
}Apply a rebate to a quote
Apply a rebate to a quote
Authorizations:
path Parameters
| quoteId required | string <uuid> The quote ID |
Request Body schema: application/jsonrequired
| code | string The rebate code |
| govSubsidyAmount | integer >= 0 The government subsidy amount in cents |
| govLoanAmount | integer >= 0 The government loan amount in cents |
object Metadata for the rebate |
Responses
Request samples
- Payload
{- "code": "string",
- "govSubsidyAmount": 0,
- "govLoanAmount": 0,
- "meta": {
- "number": "string"
}
}Response samples
- 200
- 500
{- "ok": true
}Approve financing for a quote
Approve financing for a quote
Authorizations:
path Parameters
| quoteId required | string <uuid> The quote ID |
| financeRequestId required | string <uuid> The unique identifier for the financing request to reject |
Request Body schema: application/json
| property name* additional property | any |
Responses
Request samples
- Payload
{ }Response samples
- 200
- 500
{- "ok": true
}Reject financing for a quote
Reject financing for a quote
Authorizations:
path Parameters
| quoteId required | string <uuid> The quote ID |
| financeRequestId required | string <uuid> The unique identifier for the financing request to reject |
Responses
Response samples
- 200
- 500
{- "ok": true
}Cancel financing for a quote
Cancel financing for a quote
Authorizations:
path Parameters
| quoteId required | string <uuid> The quote ID |
| financeRequestId required | string <uuid> The unique identifier for the financing request to reject |
Responses
Response samples
- 200
- 500
{- "ok": true
}Replace a quote file
Replace a quote file
Authorizations:
path Parameters
| quoteId required | string <uuid> The quote ID |
| fileCode required | string Enum: "single_line_diagram" "system_design" "design_markup" "customer_design_markup" "quote" The name of the file to replace |
Request Body schema: multipart/form-data
| file | string <binary> |
Responses
Response samples
- 200
- 500
{ }