# Epic-Charging Server Application Report API # 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: ```bash 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. Version: v1 ## Servers Server ``` https://{tenant}.epiccharging.com/api/external/v1 ``` Variables: - `tenant` Default: "demo" Enum: "demo", "gsspower", "anothercustomer" ## Security ### BearerAuth API key must be provided in the Token-Authorization header Type: apiKey In: header Name: Token-Authorization ## Download OpenAPI description [Epic-Charging Server Application Report API](https://docs.epiccharging.com/_bundle/apis/index.yaml) ## 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. ### List Charger Ports - [GET /charger-port](https://docs.epiccharging.com/apis/charger-port/charger-port_list.md): Retrieves a list of all charger ports with their current status and connector information. This endpoint supports filtering by parameters like status and charger. ## Permissions Requires a valid API key with read permissions for charger ports. ### Get Charger Port Details - [GET /charger-port/{id}](https://docs.epiccharging.com/apis/charger-port/charger-port_read.md): Gets detailed information about a specific charger port by ID, including connector specifications and active session details. Requires a valid API key. ### Update Charger Port - [PATCH /charger-port/{id}](https://docs.epiccharging.com/apis/charger-port/charger-port_partial_update.md): Updates specific fields of a charger port, such as status or configuration settings. Requires a valid API key. ### Cancel Reservation - [PATCH /charger-port/{id}/cancel_reservation](https://docs.epiccharging.com/apis/charger-port/charger-port_cancel_reservation.md): Cancels the reservation for charger port. The reservation_id must be provided. ### Reserve Charger Port - [PATCH /charger-port/{id}/reserve_now](https://docs.epiccharging.com/apis/charger-port/charger-port_reserve_now.md): Reserves a charger port. The fields expiry_date_time, id_tag, and reservation_id must be included in the request body. ### Start Charging - [PATCH /charger-port/{id}/start](https://docs.epiccharging.com/apis/charger-port/charger-port_start.md): Start a charger port to begin charging. ### Stop Charging - [PATCH /charger-port/{id}/stop](https://docs.epiccharging.com/apis/charger-port/charger-port_stop.md): Stop a charger port to end charging. ## 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. ### List Chargers - [GET /charger](https://docs.epiccharging.com/apis/charger/charger_list.md): Retrieves a list of all available chargers with their current status and locations. Requires a valid API key. ### Get Charger Details - [GET /charger/{id}](https://docs.epiccharging.com/apis/charger/charger_read.md): Gets detailed information about a specific charger by ID, including technical specifications and current operational status. Requires a valid API key. ### Create Multiple Chargers - [POST /chargers](https://docs.epiccharging.com/apis/charger/chargers_create.md): Creates multiple chargers in a single transaction. All chargers must pass validation for the operation to succeed. ## 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. ### List Charger Statuses - [GET /report/charger-status](https://docs.epiccharging.com/apis/report/report_charger-status_list.md): Retrieves the current operational status of all chargers with detailed port information. Includes counts of chargers in each status category. ### Get Charger Status - [GET /report/charger-status/{id}](https://docs.epiccharging.com/apis/report/report_charger-status_read.md): Gets the current operational status of a specific charger by ID, including charger health and detailed port information. ### List Charger Reports - [GET /report/charger](https://docs.epiccharging.com/apis/report/report_charger_list.md): Generates a comprehensive report of all chargers with detailed information including location, owner, commission date, and total power usage. Supports pagination with a default limit of 100 records. ### List Charging Sessions - [GET /report/charging-session](https://docs.epiccharging.com/apis/report/report_charging-session_list.md): Provides a detailed report of all completed charging sessions including timestamps, energy delivered, and associated costs. Supports filtering by date ranges and pagination. ### List Faults - [GET /report/faults](https://docs.epiccharging.com/apis/report/report_faults_list.md): Lists all system fault events with detailed error information, categorized by charger. Supports filtering by charger ID and date range, with pagination. ### List Transactions - [GET /report/transaction](https://docs.epiccharging.com/apis/report/report_transaction_list.md): Generates a transaction report with detailed charging session information including timestamps, energy usage, and charging duration. Supports filtering by charger, date range, and timestamps. ## 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. ### List Users - [GET /user](https://docs.epiccharging.com/apis/user/user_list.md): Retrieves a list of users with their attached ID tags and chargers. Only accessible with a valid API key. ### Get User Details - [GET /user/{uuid}](https://docs.epiccharging.com/apis/user/user_read.md): Gets detailed information about a specific user by UUID, including personal information, attached ID tags and assigned chargers. Requires a valid API key. ## 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. ### Create Multiple Locations - [POST /locations](https://docs.epiccharging.com/apis/location/locations_create.md): Creates multiple locations in a single transaction. All locations must pass validation for the operation to succeed. ## Location-discounts ### Location discounts create - [POST /location-discounts](https://docs.epiccharging.com/apis/location-discounts/location-discounts_create.md): Create multiple location discounts in a single transaction. ### Location discounts bulk delete - [DELETE /location-discounts/bulk-delete](https://docs.epiccharging.com/apis/location-discounts/location-discounts_bulk_delete.md): Update multiple location discounts in a single transaction. ### Location discounts bulk update - [PATCH /location-discounts/bulk-update](https://docs.epiccharging.com/apis/location-discounts/location-discounts_bulk_update.md): Update multiple location discounts in a single transaction. ### Location discounts get full - [GET /location-discounts/get-full](https://docs.epiccharging.com/apis/location-discounts/location-discounts_get_full.md): External API for bulk location discount operations. Provides functionality to create multiple locations discounts in a single request. Requires API key authentication for all requests. ## Users ### Users create - [POST /users](https://docs.epiccharging.com/apis/users/users_create.md): Create multiple users in a single transaction.