Skip to content
v1.0REST API

API Documentation

Integrate with PACK Energy to access solar system data, energy readings, market prices, and more.

Getting Started

The PACK Energy API gives you programmatic access to your solar energy systems, readings, market prices, declarations, and reports. Follow these three steps to get started:

1

Create an API key

Navigate to Settings → API in your PACK Energy dashboard and generate a new API key. Store it securely — you won't be able to see it again.

2

Authenticate your requests

Include your API key in the Authorization header of every request.

3

Make your first request

All responses are in JSON. Timestamps use UTC (ISO 8601). Pagination is offset-based with page and limit parameters.

bash
curl -H "Authorization: Bearer pk_live_..." \
  https://packenergy.io/api/v1/systems

Base URL: https://packenergy.io/api/v1 — All endpoint paths are relative to this base URL.

Authentication

The PACK Energy API uses Bearer token authentication. Include your API key in the Authorization header of every request.

http
Authorization: Bearer pk_live_xxxxxxxxxxxxxxxxxxxx

API Key Prefixes

PrefixEnvironmentDescription
pk_live_ProductionLive API key for production use
pk_test_SandboxTest key with simulated data

API Access by Plan

PlanAPI AccessScope
StarterNo API
ProBasicSystems, Readings, Market Prices (read-only)
EnterpriseFullAll endpoints including Declarations and Reports

Rate Limits

Rate limits are enforced per API key and vary by plan. When you exceed the limit, the API returns a 429 status code with a Retry-After header.

PlanPer MinutePer Day
Pro6010,000
Enterprise300100,000

Rate limit headers are included in every response: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

Endpoints

All endpoints use the base URL https://packenergy.io/api/v1. Authentication is required for all endpoints except /health.

Systems

Readings

Market Prices

Declarations

Reports

Health

Error Codes

All error responses follow a consistent format with an error message and a machine-readable code.

json
{
  "error": "Invalid API key provided.",
  "code": "unauthorized"
}
CodeHTTP StatusDescription
unauthorized401Missing or invalid API key
forbidden403Insufficient scope for this operation
rate_limit429Rate limit exceeded. Check Retry-After header
not_found404Resource not found
validation400Invalid request parameters or body
server_error500Internal server error. Contact support if persistent

Code Examples

Quick examples for common languages. Replace pk_live_... with your actual API key.

bash
curl -H "Authorization: Bearer pk_live_..." \
  https://packenergy.io/api/v1/systems
Fetching readings with date range
bash
curl -H "Authorization: Bearer pk_live_..." \
  "https://packenergy.io/api/v1/systems/{id}/readings?from=2025-01-01T00:00:00Z&to=2025-01-02T00:00:00Z&interval=1h"

Interactive Playground

Test API endpoints directly from the browser. Enter your API key and parameters, then click Execute.

Changelog

Notable changes and updates to the PACK Energy API.

v1.0.02025-06-15
  • Initial public API release
  • Systems, Readings, Market Prices, Declarations, Reports endpoints
  • Bearer token authentication
  • Rate limiting by plan tier