5 endpoints

Solar Panels

Manage and query solar panel resources

GET

List all solar panels

/panels

Retrieve a paginated list of all solar panels in your account.

Parameters

ParameterTypeDescription
page
numberPage number
per_page
numberItems per page (max 100)
status
stringFilter by panel status
activeinactivemaintenance

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 it
page
per_page
status
POST

Create a solar panel

/panels

Register a new solar panel in the system.

Request Body

application/json

namestringrequired

Panel display name

Example: "Rooftop Panel A1"

capacity_kwnumberrequired

Panel capacity in kilowatts

Example: 5.5

installation_idstringrequired

ID of the installation site

Example: "inst_01H8X3"

metadataobject

Arbitrary 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 it
GET

Retrieve a solar panel

/panels/{panel_id}

Get detailed information about a specific solar panel.

Parameters

ParameterTypeDescription
panel_idrequired
stringThe 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 it
panel_id
PATCH

Update a solar panel

/panels/{panel_id}

Update properties of an existing solar panel.

Parameters

ParameterTypeDescription
panel_idrequired
stringThe panel ID

Request Body

application/json

namestring

New panel name

statusstring
activeinactivemaintenance

New status

metadataobject

Updated 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 it
panel_id
DELETE

Delete a solar panel

/panels/{panel_id}

Permanently remove a solar panel from the system.

Parameters

ParameterTypeDescription
panel_idrequired
stringThe 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 it
panel_id