Skip to main content

UPowr Project API (1.0.0)

Download OpenAPI specification:Download

Update customer installation preferences

Update customer installation preferences

Authorizations:
session
path Parameters
projectId
required
string <uuid>

The project ID

Request Body schema: application/json
required

Array of numbers representing days of the week (0=Sunday, 1=Monday, 2=Tuesday, ..., 6=Saturday)

Array
integer [ 0 .. 6 ]

Responses

Request samples

Content type
application/json
[
  • 6
]

Response samples

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

Accept the project contract

Accept the project contract

Authorizations:
session
path Parameters
projectId
required
string <uuid>

The project ID

query Parameters
re_accept
boolean
Default: false

Responses

Response samples

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

Create a new project.

Create a new project.

Authorizations:
sessionunsecured
Request Body schema: application/json
required
type
string
Default: "SALES"
Enum: "SALES" "SERVICE"

The type of project.

fileAssociationId
string

The unique identifier to that associates files uploaded with this project. This ID links the files previously uploaded directly to the newly created project. The fileAssociationId must match the fileAssociationId provided during the file upload process to successfully associate the uploaded files with this project.

object (Preferences)

Object containing all fields associated with customer's preferences.

required
Array of objects (ProductsOfInterest)

This is a list of all the types of products that the customer is interested in purchasing.

object (Customer)

Object containing all fields associated to the customer.

object or object or object (Site)

Data specific to a site.

customerComments
string

Free text field to input any comments from the customer.

object (CustomFields)

An object containing any number of custom fields.

customerId
string <uuid>

The unique identifier for an existing customer. If provided, the customer field must be undefined.

siteId
string <uuid>

The unique identifier for an existing site. Requires customerId to be provided and the site field must be undefined.

triggerProcess
boolean
Default: false

If customerId and siteId are supplied and this value is false, the project will be created but no further actions will be taken.

object

This field is used to manage capabilities that are handled by plugins.

Responses

Request samples

Content type
application/json
{
  • "type": "SALES",
  • "fileAssociationId": "string",
  • "preferences": {
    },
  • "productsOfInterest": [
    ],
  • "customer": {
    },
  • "site": {
    },
  • "customerComments": "string",
  • "customFields": {
    },
  • "customerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  • "siteId": "4fa85f64-5717-4562-b3fc-2c963f66afa7",
  • "triggerProcess": false,
  • "capabilityManagedByPlugin": {
    }
}

Response samples

Content type
application/json
{
  • "id": "3fa85f64-5717-4562-b3fc-2c963f66afa7"
}

Upload file to a temporary location.

Upload a single file to a temporary location while the project is being created.

Authorizations:
sessionunsecured
query Parameters
replace
boolean
Default: false
Request Body schema: multipart/form-data
required
fileAssociationId
required
string

A unique identifier for associating files that are uploaded. This association ID ensures all files uploaded can be grouped together. Clients should generate a unique fileAssociationId for each batch of file uploads to maintain clear association.

file
required
string <binary>

File to be uploaded

fileCode
required
string
Enum: "switchboard_photo" "preferred_installation_location_photo" "site_access_photo"

Responses

Response samples

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

Reject the project

Reject the project

Authorizations:
session
path Parameters
projectId
required
string <uuid>

The project ID

Request Body schema: application/json
required

Project reject context

rejectReason
required
string

The reason for rejecting the project.

Responses

Request samples

Content type
application/json
{
  • "rejectReason": "string"
}

Response samples

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

Close the project

Close the project

Authorizations:
session
path Parameters
projectId
required
string <uuid>

The project ID

Request Body schema: application/json
required

Project close context

closedBy
string

The user who is closing the project.

closedStateOverride
string
Deprecated
Enum: "CANCELLED" "LOST"

The state to close the project with. DEPRECATED - prefer not sending this and relying on backend logic to determine the state.

Responses

Request samples

Content type
application/json
{
  • "closedBy": "string",
  • "closedStateOverride": "CANCELLED"
}

Response samples

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

Update an existing project.

Update an existing project.

Authorizations:
session
path Parameters
projectId
required
string <uuid>

The project ID

Request Body schema: application/json
required
class
string

The class of the project.

xref
string

The external reference for the project.

Responses

Request samples

Content type
application/json
{
  • "class": "string",
  • "xref": "1234567890"
}

Response samples

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

Create a charge for the project

Create a charge for the project

Authorizations:
session
path Parameters
projectId
required
string <uuid>

The project ID

Request Body schema: application/json
required

Project charge context

amount
required
integer >= 1

The amount to charge for the project in cents.

type
required
string
Enum: "Cash" "Financing" "Credit card" "Bank transfer"

The type of charge.

description
string

A description of the charge.

paid_by
required
string

Source of the charges received

external_links
Array of strings
processed_at
string <date-time>

The date and time when the charge was processed. If not provided, defaults to the current date and time.

Responses

Request samples

Content type
application/json
{
  • "amount": 10000,
  • "type": "Credit card",
  • "description": "Deposit",
  • "paid_by": "Customer",
  • "external_links": [
    ],
  • "processed_at": "2019-08-24T14:15:22Z"
}

Response samples

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

Delete a charge for the project

Delete a charge for the project

Authorizations:
session
path Parameters
projectId
required
string <uuid>

The project ID

chargeId
required
string <uuid>

Responses

Response samples

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