Epic-Charging Server Application Report API (v1)

Epic-Charging API

Welcome to the Epic-Charging API documentation. This API gives you full control over your EV charging infrastructure, allowing you to manage chargers, monitor sessions, and generate reports.

Getting Started

To use the Epic-Charging API, you'll need:

  • An API Key (see the Authentication section)
  • A basic understanding of the resources available through the API

Base URL

All API URLs referenced in this documentation are relative to:

https://{{tenant}}.epiccharging.com/api/external/v1/

Authentication

The Epic-Charging API uses API keys for authentication. Include your API key in all requests using the Token-Authorization header:

curl -X GET https://{{tenant}}.epiccharging.com/api/external/v1/charger/ \
  -H "Token-Authorization: your_api_key_here"

Your API key carries privileges, so keep it secure. Do not share it in publicly accessible areas such as GitHub, client-side code, or public forums.

Rate Limiting

API requests may be subject to rate limiting. If you exceed the rate limit, the API will respond with a 429 Too Many Requests status code.

Error Responses

The API uses standard HTTP response codes to indicate success or failure:

  • 2xx: Success
  • 4xx: Client errors (invalid request, unauthorized, etc.)
  • 5xx: Server errors

Error responses include a JSON body with details about the error.

Download OpenAPI description
Languages
Servers
Server

https://{tenant}.epiccharging.com/api/external/v1/

Charger Port

Charger Ports represent the individual connector points where vehicles can be connected for charging.

Use these endpoints to:

  • List all available charger ports across your network
  • Get detailed information about specific ports
  • Update port settings and configurations
  • Reserve ports for future use
  • Start and stop charging sessions
  • Cancel reservations

Each charger port belongs to a parent charger and can have different connector types (J1772, CCS, CHADEMO, etc.) and power capacities. Ports also maintain status information about current charging activities.

Operations

Charger

Chargers are the physical stations containing one or more charging ports.

These endpoints allow you to:

  • List all chargers in your network with their current statuses
  • Get detailed information about specific chargers
  • View power, connectivity, and location information
  • See all ports associated with a charger
  • Create bulk chargers

Chargers contain important metadata about locations, payment types, power capabilities, and operating temperatures. A single charger typically houses multiple charging ports.

Operations

List Chargers

Request

Retrieves a list of all available chargers with their current status and locations. Requires a valid API key.

Query
created_atstring

Filter by creation date

is_activestring

Filter by active status

locationstring

Filter by location

statusstring

Filter by charger status

Enum"DISABLED""AVAILABLE""STANDBY""CHARGING""OFFLINE""FAULTED""RESERVED""UNAVAILABLE"
number_phasesstring

Filter by number of phases

Enum"1""3"
current_typestring

Filter by current type

Enum"AC""DC""NACS"
limitinteger

Number of results to return per page

offsetinteger

The initial index from which to return the results

curl -i -X GET \
  'https://demo.epiccharging.com/api/external/v1/charger/?created_at=string&current_type=AC&is_active=string&limit=0&location=string&number_phases=1&offset=0&status=DISABLED' \
  -H 'Token-Authorization: YOUR_API_KEY_HERE'

Responses

Success

Bodyapplication/json
countintegerrequired
nextstring or null(uri)
previousstring or null(uri)
resultsArray of objects(ChargerList)required
results[].​idstring(uuid)read-only

Unique identifier for the charger

results[].​custom_idstring or null<= 255 characters

Custom identifier for the charger

results[].​charger_point_idstring<= 255 characters

Charger point identifier

results[].​statusobjectread-only
results[].​location_namestring or nullnon-emptyrequired

Name of the location where charger is installed

results[].​temperaturenumber

Current temperature of the charger

results[].​payment_typestring

Whether charging is paid or free

Enum"Paid""Free"
results[].​id_tag_requiredboolean

Whether ID tag is required to use this charger

results[].​customer_qr_codestring or nullnon-emptyrequired

QR code for customer access

results[].​portsArray of objects(ChargerChargerPort)required

List of ports on this charger

results[].​ports[].​idstring(uuid)read-only

Unique identifier for the port

results[].​ports[].​connector_idinteger or null

Connector ID for OCPP

results[].​ports[].​statusobjectread-only
results[].​ports[].​max_powernumberrequired

Maximum power output

results[].​ports[].​charge_current_kilowatt_hournumber or nullrequired

Current charge rate in kWh

results[].​ports[].​charging_start_atstring(date-time)

When charging started

results[].​charger_groupstring or null(uuid)

Group this charger belongs to

Response
application/json
{ "count": 0, "next": "http://example.com", "previous": "http://example.com", "results": [ {} ] }

Get Charger Details

Request

Gets detailed information about a specific charger by ID, including technical specifications and current operational status. Requires a valid API key.

Path
idstring(uuid)required

A UUID string identifying this Charger.

curl -i -X GET \
  'https://demo.epiccharging.com/api/external/v1/charger/{id}/' \
  -H 'Token-Authorization: YOUR_API_KEY_HERE'

Responses

Success

Bodyapplication/json
idstring(uuid)read-only

Unique identifier for the charger

custom_idstring or null<= 255 characters

Custom identifier for the charger

charger_point_idstring<= 255 characters

Charger point identifier

statusobjectread-only

Current status of the charger

payment_typestring

Whether charging is paid or free

Enum"PAID""FREE"
customer_qr_codestring or nullnon-empty

QR code for customer access

portsArray of objects(ChargerChargerPortRetrieve)required

List of ports on this charger

ports[].​idstring(uuid)read-only

Unique identifier for the port

ports[].​connector_idinteger or null

Connector ID for OCPP

ports[].​max_powernumberrequired

Maximum power output

ports[].​powernumber

Current power output

ports[].​max_currentstringread-only

Maximum current

ports[].​currentstringread-only

Current output

ports[].​charging_speednumberrequired

Current charging speed

ports[].​connector_typeobjectread-only

Type of connector

ports[].​charging_start_atstring(date-time)

When charging started

manufacturerstringrequired

Manufacturer information

modelstringread-onlyrequired

Model information

location_idstring or null(uuid)

Location identifier

rfid_requiredboolean or nullrequired

Whether RFID is required to use this charger

number_phasesinteger

Number of electrical phases

Enum13
Response
application/json
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "custom_id": "string", "charger_point_id": "string", "status": { "key": "string", "value": "string" }, "payment_type": "PAID", "customer_qr_code": "string", "ports": [ {} ], "manufacturer": "string", "model": "string", "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795", "rfid_required": true, "number_phases": 1 }

Create Multiple Chargers

Request

Creates multiple chargers in a single transaction. All chargers must pass validation for the operation to succeed.

Bodyapplication/jsonrequired
chargersArray of objects(ChargerCreate)required
chargers[].​charger_point_idstringrequired

Unique identifier for the charger point

chargers[].​manufacturerstringrequired

Manufacturer key (e.g., 'epic_ocpp', 'generic_ocpp')

chargers[].​modelstringrequired

Model key

chargers[].​custom_idstring

Custom identifier for the charger

chargers[].​sim_cardstring

SIM card identifier

chargers[].​locationstring(uuid)

UUID of the location where the charger is installed

chargers[].​portsArray of objectsrequired
chargers[].​ports[].​connector_idintegerrequired

Connector identifier (usually 1, 2, 3, etc.)

chargers[].​ports[].​connector_typestringrequired

Type of connector

Enum"J1772""CCS""CHADEMO""NACS""SHUKO""TYPE_2""CCS_COMBO_2"
chargers[].​ports[].​max_currentnumber

Maximum current in amperes (required for AC chargers)

chargers[].​ports[].​currentnumber

Default current in amperes (required for AC chargers)

chargers[].​ports[].​max_powernumber

Maximum power in kW (required for DC chargers)

chargers[].​ports[].​powernumber

Default power in kW (required for DC chargers)

chargers[].​connectivitystring

Connectivity type

Enum"WIFI""ETHERNET""CELLULAR""NONE"
chargers[].​current_typestring

Current type

Enum"AC""DC""NACS"
chargers[].​payment_typestring

Whether charging is paid or free

Enum"PAID""FREE"
chargers[].​number_phasesinteger

Number of electrical phases

Enum13
chargers[].​id_tag_requiredboolean

Whether ID tag is required to use this charger

chargers[].​phase_connection_typestring

Phase connection type

Enum"DELTA""WYE"
chargers[].​rfid_requiredbooleanrequired

Whether RFID is required to use this charger

curl -i -X POST \
  https://demo.epiccharging.com/api/external/v1/chargers \
  -H 'Content-Type: application/json' \
  -H 'Token-Authorization: YOUR_API_KEY_HERE' \
  -d '{
    "chargers": [
      {
        "charger_point_id": "CP001",
        "manufacturer": "epic_ocpp",
        "model": "epic_home",
        "custom_id": "Charger 1",
        "location": "550e8400-e29b-41d4-a716-446655440000",
        "ports": [
          {
            "connector_id": 1,
            "connector_type": "J1772",
            "max_current": 32,
            "current": 32
          }
        ],
        "connectivity": "WIFI",
        "current_type": "AC",
        "payment_type": "FREE",
        "number_phases": 3,
        "id_tag_required": false,
        "rfid_required": false
      },
      {
        "charger_point_id": "CP002",
        "manufacturer": "epic_ocpp",
        "model": "epic_pro",
        "custom_id": "Charger 2",
        "location": "550e8400-e29b-41d4-a716-446655440000",
        "ports": [
          {
            "connector_id": 1,
            "connector_type": "TYPE_2",
            "max_power": 16,
            "power": 16
          },
          {
            "connector_id": 2,
            "connector_type": "J1772",
            "max_power": 125,
            "power": 125
          }
        ],
        "connectivity": "ETHERNET",
        "current_type": "DC",
        "payment_type": "PAID",
        "number_phases": 3,
        "id_tag_required": true,
        "rfid_required": false
      }
    ]
  }'

Responses

Created

Bodyapplication/json
chargersArray of objects(ChargerRetrieve)
Response
application/json
{ "chargers": [ {} ] }

Report

The reporting API provides comprehensive data and metrics about your charging network.

Use these endpoints to:

  • Get real-time status information for all chargers
  • Generate comprehensive charger reports
  • View detailed charging session history
  • Analyze fault data and error conditions
  • Track energy usage and transactions

These endpoints support filtering by date ranges, chargers, and other parameters to help you generate specific reports for business intelligence, maintenance planning, and usage analytics.

Operations

User

The User API allows you to manage and retrieve information about system users.

These endpoints enable you to:

  • List all users with access to your charging network
  • View user details including attached ID tags and accessible chargers
  • See authorization levels and access rights

User management is essential for controlling access to chargers and tracking usage patterns across your charging infrastructure.

Operations

Location

Locations represent physical places where chargers are installed.

Use these endpoints to:

  • Create multiple locations in a single operation
  • Manage location information including address, contact details, and coordinates
  • Associate chargers with specific locations

Locations provide important context for chargers and help with geographic organization of your charging infrastructure.

Operations