Export Jobs: Catalog Interface
A daily export of your account's full asset hierarchy - sites, zones, panels, and devices.
Table of Contents
A reference for the Catalog export job - what it contains, the two version formats, and where each field comes from.
What is the Catalog Export?
What is it?
The Catalog export describes the structure of your monitored account - your assets and how they fit together. An account contains one or more sites; each site contains zones; each zone contains panels; each panel contains devices. The Catalog export captures that hierarchy so a downstream system can map every measurement back to a known site, panel, and device.
Why use it?
You'll usually want a Catalog export running alongside your Measurements export, because:
- Measurements exports reference devices by ID. The Catalog gives you the human-readable names, the device types, the panels, and the sites those IDs belong to.
- It lets a downstream analytics or BI system stay in sync as you add, rename, or reorganize sites and devices.
- It's the cleanest way to seed a new integration with your full asset list before pulling measurement data.
Where to Find It
Catalog export jobs are configured from the Auto-Export screen at the account level.
- From the account sidebar, open Auto-Export.
- On the Export jobs page, click Create New Export Job.

Configuring a Catalog Export Job
The New export job modal opens with a single form. The fields appear in this order:

Job name. A label only - used to identify the job in your Export jobs list. Choose something your team will recognize.
Data to export. Set this to Catalog.
Sites for data export. Choose which sites the catalog should include. Toggle All sites on (so newly added sites are picked up automatically) or use Select site to pick one or more sites by name.
Export frequency. For Catalog jobs this is locked to Every day. You cannot change it.
Version. Choose v1.0 or v1.1. The dropdown shows a one-line description of each - see Choosing a Version below.
Data transfer method. Pick one of three transports - the same three that Measurements exports support:
- JSON over HTTPS - Recommended. Most reliable transfer option. We send the catalog as JSON to a URL you control.
-
CSV over SFTP - Best FTP protocol. We host a secure SFTP folder for your account; you connect with an SFTP client. The folder path appears in the form as
ftp.panpwrws.com:22/Catalog. - CSV over FTPS - Old FTP protocol. Same as SFTP but using the older FTPS protocol on port 21. Use this only if your environment can't speak SFTP.
A live Data sample appears on the right side of the modal so you can preview the shape of your exported data before saving. Switching between v1.0 and v1.1 in the Version dropdown updates the sample in place.
After you click Apply the job becomes active. Make sure the Enable toggle is on.
Choosing a Version (v1.0 vs v1.1)
The Version dropdown offers two formats:
- v1.0 — Includes data of sites and devices under a specific site.
- v1.1 — Includes account-level data, sites, and devices under a specific site.
The practical difference is that v1.1 adds an account-level row at the top of the export (CSV) or an account wrapper object (JSON), so a downstream system can identify which account a file belongs to without inspecting the file name or transfer destination.
For new export jobs, we recommend v1.1. It carries the same site and device data as v1.0 plus the account-level row, which makes the file self-identifying for downstream systems. Use v1.0 only if a downstream integration is already wired to that shape and you don't want to change it.
Catalog Field Reference
Every Catalog row carries the same set of columns. Fields that don't apply to a row (for example, panel fields on a Site row, or zone fields on an Account row) appear as N/A.
| Field | Description |
|---|---|
| id | Unique identifier of the entity. May be an account ID, site ID, or device ID. |
| name | The entity's name as set at installation time. |
| type | The entity type — Account, Site, or Device. |
| parent_id | The parent entity's ID in the hierarchy. |
| panel_id | Unique identifier of the physical panel the device sits in. A zone can contain multiple panels. |
| panel_name | The panel's name as set at installation time (e.g., Panel 54-A). |
| zone_id | Unique identifier of the zone the device sits in. A site can contain multiple zones. |
| zone_name | The zone's name as set at installation time (e.g., Accounting department). |
| site_id | Unique identifier of the site the device sits in. |
| site_name | The site's name as set at installation time (e.g., New York site). |
| device_category | The category of device based on its broad function (e.g., Mains, Lighting). |
| device_type | The device type based on its main function (e.g., Main, Sub-mains). |
| electrical_type | The number of phases and sensors (e.g., 3 phases / 3 sensors, Single-Phase / 1 sensor). |
| description | The entity's free-text description as set at installation time. |
Which fields are populated for which row type:
-
Account rows (v1.1 only):
id,name,type = Account. All other fields areN/A. -
Site rows:
id,name,type = Site,parent_id(the account ID in v1.1). Panel, zone, site, device, and electrical fields areN/A. - Device rows: All fields populated.
Sample Outputs
You don't have to wait until the first run to see what your export will look like. The Data sample panel on the right side of the New export job modal shows a live preview of the file shape, using your own account's data. Switch the Version dropdown between v1.0 and v1.1 and the preview updates in place - useful for comparing the two formats side by side before you save the job.
CSV — Version 1.0
A Site row followed by Device rows nested under it.
Download: CSV Catalogue Example v1.0.csv
CSV — Version 1.1
An Account row at the top, followed by Site rows and Device rows.
Download: CSV Catalogue Example v1.1.csv
JSON — Version 1.0
{
"sites": [
{
"id": 11,
"name": "Site 1",
"type": "Site",
"devices": [
{
"id": 1,
"name": "Main Device",
"type": "Device",
"parent_id": 11,
"panel_id": 1,
"panel_name": "Main Panel",
"zone_id": 1,
"zone_name": "Zone 1",
"site_id": 11,
"site_name": "Site 1",
"device_category": "Mains",
"device_type": "Main",
"electrical_type": "3 phases / 3 sensors",
"description": "Main Panel Description",
"devices": [
{
"id": 2,
"name": "AC Device",
"type": "Device",
"parent_id": 1,
"panel_id": 1,
"panel_name": "Main Panel",
"zone_id": 1,
"zone_name": "Zone 1",
"site_id": 11,
"site_name": "Site 1",
"device_category": "Heating and Cooling",
"device_type": "AC",
"electrical_type": "Single-Phase / 1 sensor",
"description": "AC Device Description"
}
]
}
]
}
]
}
JSON — Version 1.1
{
"account": [
{
"id": 1291,
"name": "IL Central District",
"type": "Account",
"sites": [
{
"id": 191,
"name": "Residence",
"type": "Site",
"parent_id": 1291,
"devices": [
{
"id": 1657,
"name": "Solar System",
"type": "Device",
"parent_id": 191,
"panel_id": 194,
"panel_name": "Main Panel",
"zone_id": 193,
"zone_name": "House",
"site_id": 191,
"site_name": "Residence",
"device_category": "Generation",
"device_type": "PV / Solar",
"electrical_type": "Single-Phase / 1 sensor",
"description": "Solar system"
}
]
}
]
}
]
}
When the Catalog Refreshes
Catalog jobs run every day — the frequency is locked when Data to export = Catalog.
A new Catalog file is generated on every daily run, regardless of whether your account topology has changed. If you didn't add, rename, or reorganize any sites, panels, or devices in the last 24 hours, the new file will be identical in content to the previous day's. Build your downstream integration to handle this — either by deduplicating against the prior file, or by treating every Catalog file as a full idempotent snapshot of your asset hierarchy.