Endpoints
Retrieve Project Data by ID
/fetch_project_hiThis API retrieves project-related data based on the provided Project ID and returns the project details if a matching Lead record exists.
Query Params
idstringqueryrequired1curl -X GET "https://pipe.solar/api/1.1/wf/fetch_project_hi?id=value" \2 -H "Authorization: Bearer ps_live_..." \3 -H "Content-Type: application/json"1{2 "data": {3 "customerFirstName": "John",4 "customerLastName": "Doe",5 "customerPhoneNumber": "9876543210",6 "customerEmail": "john.doe@example.com",7 "customerAddress": "221B Baker Street, London, NW1 6XE, UK",8 "customerStreet": "221B Baker Street",9 "customerCity": "London",10 "customerState": "Greater London",11 "customerZip": "NW1 6XE",12 "secondaryCustomerFirstName": "Jane",13 "secondaryCustomerLastName": "Doe",14 "secondaryCustomerPhoneNumber": "9876500000",15 "secondaryCustomerEmail": "jane.doe@example.com",16 "customerNotes": "Customer prefers morning calls and is interested in energy savings.",17 "projectStatus": "NTP",18 "contractSignedDate": "03/15/26",19 "submittedDate": "03/20/26",20 "contractURL": [21 "https://example.com/contracts/contract_12345.pdf"22 ],23 "allFilesURL": {24 "surveyFiles": [25 "https://example.com/files/survey1.jpg"26 ],27 "personalFiles": [28 "https://example.com/files/id_proof.jpg"29 ],30 "utilityBills": [31 "https://example.com/files/utility_bill.pdf"32 ],33 "insuranceFiles": [],34 "driverLicense": [35 "https://example.com/files/license.jpg"36 ],37 "installationPhotos": [38 "https://example.com/files/install1.jpg"39 ],40 "plansets": [41 "https://example.com/files/planset.pdf"42 ],43 "materials": [],44 "otherDocuments": [],45 "interconnection": [],46 "permits": [],47 "internalDocuments": []48 },49 "proposalURL": "https://example.com/proposal/12345",50 "projectURL": "https://example.com/project/12345",51 "financeCompany": "Test Finance Co",52 "financeAmount": "15000",53 "financeAPR": "5.5",54 "financeDealerFee": "10",55 "financeTerm": "60",56 "monthlyPayment": "285",57 "financeType": "Loan",58 "Products": [59 {60 "product_name": "Windows A",61 "product_cost": "900"62 },63 {64 "product_name": "Tesla Powerwall 3 13.5 kWh",65 "product_cost": "12000"66 },67 {68 "product_name": "Solar Panel Kit 5kW",69 "product_cost": "7500"70 }71 ],72 "adjustments": "500",73 "contractPrice": "19900",74 "salesRepName": "Michael Scott",75 "salesRepEmail": "michael.scott@dundermifflin.com",76 "salesRepPhone": "1234567890",77 "setterName": "Dwight Schrute",78 "setterEmail": "dwight.schrute@dundermifflin.com",79 "setterPhone": "0987654321"80 },81 "id": "TEST12345"82}Fetch All Project (Installer)
/fetch_all_project_installer_hiQuery Params
installer_idstringqueryrequiredpagenumberqueryrequiredBody Params
application/json
1curl -X GET "https://pipe.solar/api/1.1/wf/fetch_all_project_installer_hi?installer_id=value&page=value" \2 -H "Authorization: Bearer ps_live_..." \3 -H "Content-Type: application/json" \4 -d '{}'Fetch All Project (Org)
/fetch_all_project_hiQuery Params
org_idstringqueryrequiredpagenumberqueryrequired1curl -X GET "https://pipe.solar/api/1.1/wf/fetch_all_project_hi?org_id=value&page=value" \2 -H "Authorization: Bearer ps_live_..." \3 -H "Content-Type: application/json"Update Project Stage
/update_stage_hiThis endpoint updates the stage of an existing project. When the API is invoked, it searches for the project using the provided id and updates the project’s stage to the specified project_stage_name. The change is then reflected across the related project and deal records.
Query Params
project_stage_namestringqueryrequiredThe target stage name to be assigned to the project. Must match a valid stage configured in the system.
idstringqueryrequiredUnique identifier of the Project record whose stage needs to be updated.
1curl -X POST "https://pipe.solar/api/1.1/wf/update_stage_hi?project_stage_name=value&id=value" \2 -H "Authorization: Bearer ps_live_..." \3 -H "Content-Type: application/json"1{2 "success": true,3 "message": "Project status updated successfully.",4 "data": {5 "project_id": "U7X5R0UG12",6 "new_status": "NTP"7 }8}Upload File to Project
/project_upload_file_hiThis API endpoint uploads and stores a file in the correct directory based on the provided folder_id within a specific project.
Body Params
application/json
fileurlarrayrequiredThe publicly accessible URL of the file to be uploaded
project_idstringrequiredThe unique identifier of the target Project where the file will be stored
folder_idstringrequiredThis determines which document type directory the file will be uploaded to. Only supported predefined folder_id values are accepted.
Allowed values (11):
contractutility_billdrivers_licensematerials1curl -X POST "https://pipe.solar/api/1.1/wf/project_upload_file_hi" \2 -H "Authorization: Bearer ps_live_..." \3 -H "Content-Type: application/json" \4 -d '{5 "fileurl": [6 ""7 ],8 "project_id": "example",9 "folder_id": "contract"10}'1{2 "success": true,3 "message": "File has been saved successfully"4}Create Activity Log
/create_activity_hiBody Params
application/json
project_idstringrequiredProject ID for Home Improvement Projects
installer_idstringrequirednotesstringrequired1curl -X POST "https://pipe.solar/api/1.1/wf/create_activity_hi" \2 -H "Authorization: Bearer ps_live_..." \3 -H "Content-Type: application/json" \4 -d '{5 "project_id": "example",6 "installer_id": "example",7 "notes": "example"8}'1{2 "success": true,3 "message": "Activity created successfully",4 "data": {5 "project_id": "12345",6 "installer_id": "abc"7 }8}