GET https://solarproof.com.au/apidata.php

Description

Returns comprehensive details about a specific project including solar system specifications, pricing, financing details, site information, and installation components. Use the expanded=1 parameter to include additional user, company, and battery details.

Project ID Required: You must have the project ID to use this endpoint. Use Get All Projects to list all projects and their IDs.
Expanded Mode: Set expanded=1 to include user company information, pricing items/systems, battery details, customer statuses, and project notes.

Request Parameters

Query Parameters

Parameter Type Required Description
api_key string Required Your Solar Proof API key
action string Required Must be set to "getprojectinfo"
project_id integer Required The ID of the project you want to retrieve
expanded integer Optional Set to 1 to retrieve expanded project information including user details, pricing items, and battery info

Response Structure

The response contains two main arrays with comprehensive project data (60+ fields total).

Key Project Fields

project_id - Unique ID
quotenickname - Project name
customer_id - Associated customer
afterrebatecost - Final price
signed_at - Signature date
panelqty - Panel count
paneltype - Panel model
invertertype - Inverter model
siteaddress - JSON address
proposal_link - PDF URL
stcvalue - Rebate value
financetype - Finance type

Structure: Response contains project_info array (core project data) and expanded_info array (user/company details when expanded=1).

Example Response

Response Body (with expanded=1) JSON
{
  "project_info": [{
    "project_id": "2143",
    "quotenickname": "Project #2143",
    "user_id": "321",
    "battery_id": "5",
    "batteryqty": "1",
    "afterrebatecost": "15500",
    "quotecreationdate": "2022-08-15 00:38:24",
    "signed_at": "2022-08-20 14:30:00",
    "customer_id": "80008",
    "siteaddress": "{\"streetnum\":\"447\",\"street\":\"Collins St\",\"suburb\":\"Melbourne\",\"state\":\"VIC\",\"postcode\":\"3000\",\"country\":\"AU\"}",
    "rooftype": "Tin",
    "roofheight": "Single Storey",
    "dailykwhuse": "20",
    "costperkwh": "0.265",
    "powerpriceincrease": "3",
    "exportvalue": "0.08",
    "paneltype": "365W - LONGI Solar - (LR6-72PE-365M)",
    "panelwattage": "365",
    "panelqty": "33",
    "invertertype": "GOODWE 5kW (GW5000-DT)",
    "inverterqty": "1",
    "racking": "Clenergy",
    "stcvalue": "37",
    "stcqty": "114",
    "financetype": "finance",
    "financerepaymentfrequency": "Weekly",
    "proposal_link": "/uploads/pdfs/2143/proposal_2143.pdf",
    "panel_model": "LR6-72PE-365M",
    "panel_brand": "LONGI Solar",
    "inverter_model": "Symo 15.0-3-M",
    "inverter_brand": "Fronius"
  }],
  "expanded_info": [{
    "username": "jsmith@solarproof.com.au",
    "name": "Jim Smith",
    "email": "jsmith@solarproof.com.au",
    "companyname": "Solar Proof",
    "companyaddress": "PO Box 630, Mullumbimby, NSW, 2482",
    "companyphone": "07 3054 4308",
    "batterycapacity": "9.8",
    "batteryname": "LG Chem RESU 9.8kWh",
    "batterybrand": "LG",
    "company_id": "321"
  }]
}

Example Requests

cURL - Basic Request bash
curl -X GET "https://solarproof.com.au/apidata.php?action=getprojectinfo&project_id=2143&api_key=YOUR_API_KEY"
cURL - With Expanded Info bash
curl -X GET "https://solarproof.com.au/apidata.php?action=getprojectinfo&project_id=2143&expanded=1&api_key=YOUR_API_KEY"
JavaScript (Fetch) javascript
const apiKey = 'YOUR_API_KEY';
const projectId = 2143;
const url = `https://solarproof.com.au/apidata.php?action=getprojectinfo&project_id=${projectId}&expanded=1&api_key=${apiKey}`;

fetch(url)
  .then(response => response.json())
  .then(data => {
    const project = data.project_info[0];
    console.log('Project:', project.quotenickname);
    console.log('Panels:', project.panelqty + 'x ' + project.paneltype);
    console.log('Cost:', '$' + project.afterrebatecost);
    console.log('Status:', project.signed_at !== '0000-00-00' ? 'Signed' : 'Not Signed');
    
    if (data.expanded_info && data.expanded_info.length > 0) {
      console.log('Company:', data.expanded_info[0].companyname);
    }
  })
  .catch(error => console.error('Error:', error));
Python python
import requests

api_key = 'YOUR_API_KEY'
project_id = 2143

params = {
    'action': 'getprojectinfo',
    'project_id': project_id,
    'expanded': 1,
    'api_key': api_key
}

response = requests.get('https://solarproof.com.au/apidata.php', params=params)
data = response.json()

project = data['project_info'][0]
print(f"Project: {project['quotenickname']}")
print(f"Panels: {project['panelqty']}x {project['panelwattage']}W")
print(f"System: {project['paneltype']}")
print(f"Cost: ${project['afterrebatecost']}")

if data['expanded_info']:
    print(f"Company: {data['expanded_info'][0]['companyname']}")

Common Use Cases

Contract Generation

Retrieve complete project specifications for generating installation contracts and work orders.

Installation Planning

Get system specifications, site details, and component lists for scheduling and material preparation.

Financial Analysis

Access pricing, financing terms, rebates, and payment details for financial reporting and analysis.

Related Endpoints

Related Webhook Events

recent_draft_project

Triggered when project is created/updated

published_proposal_link

Triggered when proposal is published