Praysio Automation

Praysio Public API

Programmatic access to your metering estate — meter details, readings, consumption and group data, straight from the Praysio Portal.

Open the API reference OpenAPI document

API versions

Unversioned requests to /api/PraysioCore/… are served by v1.0 for backwards compatibility. Responses include api-supported-versions and api-deprecated-versions headers.

Quick start

Generate an API key against an API Group in the Praysio Portal, then pass it in the APIKey header:

curl "https://automation.praysio.com/api/v1.3/PraysioCore/MeterDetail" \
     -H "APIKey: XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX"

Or explore and test every endpoint interactively — with generated client code for curl, Python, C#, JavaScript and more — in the API reference.

Endpoints

EndpointReturns
GET /api/v1.3/PraysioCore/MeterDetail Provides details on all meters and their associated channels available within the API Group as configured in the Praysio Portal.
GET /api/v1.3/PraysioCore/MeterConsumption Provides meter consumption (usage) for a specific meter/channel over a time period.
GET /api/v1.3/PraysioCore/MeterReadings Provides meter readings for a specific meter/channel over a time period.
GET /api/v1.3/PraysioCore/GroupMeterReadings Provides a meter reading for a specific or each meter in the API Group at either a specific date/time or ‘live’ if no date/time is provided. A channel type can also optionally be passed returning readings for only that meter type.

Meter Hierarchy

To understand how MeterDetail -> ParentMeters is visualised, check out the Meter Tree in the Praysio Portal.

Recommended Usage

MeterDetail provides a realtime view of all meters configuration in any given site. We recomend that this be called daily to ensure any configuration changes are captured in the consuming system.

If calling GroupMeterReadings every 30 minutes, ensure there is a delay between the current time and the time specificed in the API call. This ensures that any data buffered on loggers has time to reach the Praysio servers.

Rate limits

Requests over the limit receive 429 Too Many Requests with a JSON body describing when to retry. All timestamps across the API are UTC.