5 endpoints
Solar Panels
Manage and query solar panel resources
GET
List all solar panels
/panelsRetrieve a paginated list of all solar panels in your account.
Parameters
| Parameter | Type | Description |
|---|---|---|
page | number | Page number |
per_page | number | Items per page (max 100) |
status | string | Filter by panel statusactiveinactivemaintenance |
Code Examples
curl -X GET "https://api.pipesolar.com/v1/panels" \
-H "Authorization: Bearer ps_live_..." \
-H "Content-Type: application/json"Response
Example Response
{
"data": [
{
"id": "panel_01H8X3abc",
"name": "Rooftop Panel A1",
"capacity_kw": 5.5,
"status": "active",
"daily_output_kwh": 18.7
}
],
"meta": {
"page": 1,
"per_page": 20,
"total": 42
}
}Playground
GET
/panelsTry itpageper_pagestatusPOST
Create a solar panel
/panelsRegister a new solar panel in the system.
Request Body
application/json
namestringrequiredPanel display name
Example: "Rooftop Panel A1"
capacity_kwnumberrequiredPanel capacity in kilowatts
Example: 5.5
installation_idstringrequiredID of the installation site
Example: "inst_01H8X3"
metadataobjectArbitrary key-value metadata
Code Examples
curl -X POST "https://api.pipesolar.com/v1/panels" \
-H "Authorization: Bearer ps_live_..." \
-H "Content-Type: application/json" \
-d '{
"name": "Rooftop Panel A1",
"capacity_kw": 5.5,
"installation_id": "inst_01H8X3",
"metadata": {}
}'Response
Example Response
{
"id": "panel_01H8X3abc",
"name": "Rooftop Panel A1",
"capacity_kw": 5.5,
"status": "active",
"installation_id": "inst_01H8X3"
}Playground
POST
/panelsTry itGET
Retrieve a solar panel
/panels/{panel_id}Get detailed information about a specific solar panel.
Parameters
| Parameter | Type | Description |
|---|---|---|
panel_idrequired | string | The panel ID |
Code Examples
curl -X GET "https://api.pipesolar.com/v1/panels/123" \
-H "Authorization: Bearer ps_live_..." \
-H "Content-Type: application/json"Response
Example Response
{
"id": "panel_01H8X3abc",
"name": "Rooftop Panel A1",
"capacity_kw": 5.5,
"status": "active",
"daily_output_kwh": 18.7,
"installation_id": "inst_01H8X3",
"created_at": "2025-06-15T10:30:00Z"
}Playground
GET
/panels/{panel_id}Try itpanel_idPATCH
Update a solar panel
/panels/{panel_id}Update properties of an existing solar panel.
Parameters
| Parameter | Type | Description |
|---|---|---|
panel_idrequired | string | The panel ID |
Request Body
application/json
namestringNew panel name
statusstringactiveinactivemaintenanceNew status
metadataobjectUpdated metadata
Code Examples
curl -X PATCH "https://api.pipesolar.com/v1/panels/123" \
-H "Authorization: Bearer ps_live_..." \
-H "Content-Type: application/json" \
-d '{
"name": "example",
"status": "active",
"metadata": {}
}'Playground
PATCH
/panels/{panel_id}Try itpanel_idDELETE
Delete a solar panel
/panels/{panel_id}Permanently remove a solar panel from the system.
Parameters
| Parameter | Type | Description |
|---|---|---|
panel_idrequired | string | The panel ID |
Code Examples
curl -X DELETE "https://api.pipesolar.com/v1/panels/123" \
-H "Authorization: Bearer ps_live_..." \
-H "Content-Type: application/json"Playground
DELETE
/panels/{panel_id}Try itpanel_id