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 |
| 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
- 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",
- "triggerProcess": false,
- "capabilityManagedByPlugin": {
- "quoting": "au.com.upowr.my-plugin"
}
}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
}Update an existing project.
Update an existing project.
Authorizations:
path Parameters
| projectId required | string <uuid> The project ID |
Request Body schema: application/jsonrequired
| class | string The class of the project. |
| xref | string The external reference for the project. |
Responses
Request samples
- Payload
{- "class": "string",
- "xref": "1234567890"
}Response samples
- 200
- 400
- 401
- 500
{- "ok": true
}Create a charge for the project
Create a charge for the project
Authorizations:
path Parameters
| projectId required | string <uuid> The project ID |
Request Body schema: application/jsonrequired
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
- Payload
{- "amount": 10000,
- "type": "Credit card",
- "description": "Deposit",
- "paid_by": "Customer",
- "external_links": [
- "string"
], - "processed_at": "2019-08-24T14:15:22Z"
}Response samples
- 201
- 401
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}