Getting Started
Welcome to the Powerverse Platform API documentation. This guide will help you get up and running quickly.
Overview
The Powerverse API provides unified access to all platform microservices through a single, consistent interface. Whether you're building integrations, automating workflows, or creating applications, this API gives you programmatic access to:
- Asset Controls - Manage schedules, sessions, and events for energy assets
- Charger Service - EV charger operations, charge sessions, configuration, and RFID management
- Inventory Service - Track sites, assets, products, and product types
- Vehicle Service - Vehicle data, OEM account linking, and supported vehicles
- Notification Service - Notification delivery and management
- Metrics Service - Energy metrics, time-series readings, tariffs, and sources
Base URL
All API requests should be made to the appropriate environment:
| Environment | Base URL |
|---|---|
| Production | https://platform.powerverse.com |
| Staging | https://staging-platform.powerverse.com |
Authentication
The API supports multiple authentication methods:
- JWT Bearer Tokens - For user-context requests and web/mobile apps
- API Keys - For server-to-server communication
See the Authentication Guide for detailed setup instructions.
Making Your First Request
Here's a quick example to verify your setup:
List sites
curl -X GET "https://platform.powerverse.com/inventory-service/sites" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json"
Response
{
"data": [
{
"id": "sit_abc123",
"name": "London Charging Hub",
"location": "London, UK",
"status": "active",
"created_at": "2024-01-15T10:30:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 1,
"total_pages": 1
}
}
Request Format
Headers
All requests must include:
| Header | Description |
|---|---|
Authorization | Your authentication token (Bearer or API Key) |
Content-Type | application/json for request bodies |
Accept | application/json (optional, default) |
Request IDs
Include an X-Request-ID header with a unique identifier (UUID) to help with debugging and support requests:
curl -X GET "https://platform.powerverse.com/inventory-service/assets" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "X-Request-ID: 550e8400-e29b-41d4-a716-446655440000"
Response Format
All responses follow a consistent JSON structure:
Success Response
{
"data": { ... },
"meta": {
"request_id": "req_xyz789"
}
}
List Response
{
"data": [ ... ],
"pagination": {
"page": 1,
"limit": 20,
"total": 150,
"total_pages": 8
},
"meta": {
"request_id": "req_xyz789"
}
}
Error Response
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid request parameters",
"details": {
"name": "Site name is required"
}
},
"meta": {
"request_id": "req_xyz789"
}
}
Next Steps
- Quick Start Tutorial - Build something in 5 minutes
- Authentication - Set up authentication
- API Reference - Explore all endpoints