UPowr Project API (1.0.0)
Download OpenAPI specification:Download
Update customer installation preferences
Update customer installation preferences
Authorizations:
path Parameters
projectId required | string <uuid> The project ID |
Request Body schema: application/jsonrequired
Array of numbers representing days of the week (0=Sunday, 1=Monday, 2=Tuesday, ..., 6=Saturday)
Responses
Request samples
- Payload
[- 6
]
Response samples
- 200
- 401
- 500
{- "ok": true
}
Create a new project.
Create a new project.
Authorizations:
Request Body schema: application/jsonrequired
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 |
siteId | string <uuid> The unique identifier for an existing site. Requires customerId to be provided and the |
Responses
Request samples
- Payload
{- "type": "SALES",
- "fileAssociationId": "string",
- "preferences": {
- "customerPreferredDays": [
- 6
]
}, - "productsOfInterest": [
- {
- "solar": false,
- "battery": false,
- "ev_charger": true
}
], - "customer": {
- "firstName": "John",
- "lastName": "Doe",
- "mobile": "0491570006",
- "isVerifiedMobile": false,
- "class": "example-class",
- "xref": "example-xref",
- "retailerXref": "example-retailer-xref",
- "isBusiness": false
}, - "site": {
- "latitudeDeg": 33.8688,
- "longitudeDeg": 151.2093,
- "timezone": "Australia/Sydney",
- "addressLine1": "300 Barangaroo Avenue",
- "addressLine2": null,
- "suburb": "Barangaroo",
- "postCode": "2000",
- "state": "NSW",
- "phaseNum": 3,
- "nmi": "41021234567",
- "quarterlyBillAmount": 0,
- "monthlyBillAmount": 0
}, - "customerComments": "string",
- "customFields": {
- "property1": {
- "name": "example-field-name",
- "description": "Example field description",
- "type": "string",
- "value": "8"
}, - "property2": {
- "name": "example-field-name",
- "description": "Example field description",
- "type": "string",
- "value": "8"
}
}, - "customerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
- "siteId": "4fa85f64-5717-4562-b3fc-2c963f66afa7"
}
Response samples
- 201
- 400
- 401
- 500
{- "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:
query Parameters
replace | boolean Default: false |
Request Body schema: multipart/form-datarequired
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
- 200
- 400
- 401
- 500
{- "ok": true
}
Reject the project
Reject the project
Authorizations:
path Parameters
projectId required | string <uuid> The project ID |
Request Body schema: application/jsonrequired
Project reject context
rejectReason required | string The reason for rejecting the project. |
Responses
Request samples
- Payload
{- "rejectReason": "string"
}
Response samples
- 200
- 401
- 500
{- "ok": true
}
Close the project
Close the project
Authorizations:
path Parameters
projectId required | string <uuid> The project ID |
Request Body schema: application/jsonrequired
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
- Payload
{- "closedBy": "string",
- "closedStateOverride": "CANCELLED"
}
Response samples
- 200
- 401
- 500
{- "ok": true
}