Skip to main content

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:
session
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

Content type
application/json
{
  • "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
  • "requote_reason": "string"
}

Response samples

Content type
application/json
{
  • "ok": true
}

Create a Quote

Create a Quote

Authorizations:
session
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

Content type
application/json
{
  • "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
  • "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
  • "requote_reason": "string",
  • "xref": "string"
}

Response samples

Content type
application/json
{
  • "quote_id": "3c071a1d-db86-46a7-9dc8-72ba3fbca992"
}

Update a Quote

Update a Quote

Authorizations:
session
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

Content type
application/json
{
  • "deposit": 0,
  • "inspection_required": true,
  • "status": "string",
  • "discount": 0
}

Response samples

Content type
application/json
{
  • "ok": true
}

Save a Quote

Save a Quote

Authorizations:
session
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

Content type
application/json
{
  • "system_design": {
    },
  • "quote_items": [
    ],
  • "stc": {
    },
  • "customer_cost_cents": 0,
  • "customer_gst_cents": 0,
  • "gross_customer_cost_cents": 0,
  • "deposit_amount_cents": 0
}

Response samples

Content type
application/json
{
  • "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:
session
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

Content type
application/json
{
  • "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:
session
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

Content type
application/json
{
  • "ok": true
}

Duplicate a Quote

Duplicate a Quote

Authorizations:
session
path Parameters
quoteId
required
string <uuid>

The quote ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}

Edit a Quote

Copy a Quote for editing

Authorizations:
session
path Parameters
quoteId
required
string <uuid>

The quote ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}

Reject a Quote

Reject a Quote

Authorizations:
session
path Parameters
quoteId
required
string <uuid>

The quote ID

Responses

Response samples

Content type
application/json
{
  • "ok": true
}

Void a Quote

Void a Quote

Authorizations:
session
path Parameters
quoteId
required
string <uuid>

The quote ID

Responses

Response samples

Content type
application/json
{
  • "ok": true
}

Request external approval

Request external approval

Authorizations:
session
path Parameters
quoteId
required
string <uuid>

The quote ID

Responses

Response samples

Content type
application/json
{
  • "ok": true
}

Start the inspection workflow for a quote

Start the inspection workflow for a quote

Authorizations:
session
path Parameters
quoteId
required
string <uuid>

The quote ID

Responses

Response samples

Content type
application/json
{
  • "ok": true
}

Apply a rebate to a quote

Apply a rebate to a quote

Authorizations:
session
path Parameters
quoteId
required
string <uuid>

The quote ID

Request Body schema: application/json
required
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

Content type
application/json
{
  • "code": "string",
  • "govSubsidyAmount": 0,
  • "govLoanAmount": 0,
  • "meta": {
    }
}

Response samples

Content type
application/json
{
  • "ok": true
}

Approve financing for a quote

Approve financing for a quote

Authorizations:
session
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

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "ok": true
}

Reject financing for a quote

Reject financing for a quote

Authorizations:
session
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

Content type
application/json
{
  • "ok": true
}

Cancel financing for a quote

Cancel financing for a quote

Authorizations:
session
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

Content type
application/json
{
  • "ok": true
}

Replace a quote file

Replace a quote file

Authorizations:
session
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

Content type
application/json
{ }