Download OpenAPI specification:
The EVPassport Partner API is designed for EVPassport partners to easily connect with our system and enhance their offerings. It adds new features to the existing EVPassport platform, allowing partners to expand their services, allowing to work with chargers, monitor sessions, and generate reports.
To use the EVPassport Partner API, you need to have an API Key. You can obtain one by contacting EVPassport support team.
The EVPassport Partner API utilizes API keys for identification and access to your data. To authenticate your requests, include your API key in the X-Api-Key header of each request.
Your API key grants access to your data and should be kept secure. Avoid sharing it in publicly accessible locations to prevent unauthorized access.
To request API key for your partner account, contact EVPassport support team.
API requests are subject to rate limiting to ensure optimal performance and fair usage. If the rate limit is exceeded, the API will respond with a 429 Too Many Requests status code. This indicates that the client should reduce the request rate. It is recommended to implement appropriate error handling and retry logic to manage rate limit responses effectively.
The API employs standard HTTP response codes to indicate the success or failure of a request:
Response will include a JSON body containing detailed information about the error.
Locations represent physical places where chargers are installed. These endpoints allow you to view metadata tied to charger sites, such as name, address, coordinates, working hours, charging zones, and chargers on the site.
These endpoints allow you to:
Returns a list of all Locations available to the authenticated account (Partner) with a set of filters. Information includes details about location name, country, city, address, post code, geo-position, working hours, charging zones.
| country | string Enum: "AF" "AX" "AL" "DZ" "AS" "AD" "AO" "AI" "AQ" "AG" "AR" "AM" "AW" "AU" "AT" "AZ" "BS" "BH" "BD" "BB" "BY" "BE" "BZ" "BJ" "BM" "BT" "BO" "BQ" "BA" "BW" "BV" "BR" "IO" "BN" "BG" "BF" "BI" "KH" "CM" "CA" "CV" "KY" "CF" "TD" "CL" "CN" "CX" "CC" "CO" "KM" "CG" "CD" "CK" "CR" "CI" "HR" "CU" "CW" "CY" "CZ" "DK" "DJ" "DM" "DO" "EC" "EG" "SV" "GQ" "ER" "EE" "ET" "FK" "FO" "FJ" "FI" "FR" "GF" "PF" "TF" "GA" "GM" "GE" "DE" "GH" "GI" "GR" "GL" "GD" "GP" "GU" "GT" "GG" "GN" "GW" "GY" "HT" "HM" "VA" "HN" "HK" "HU" "IS" "IN" "ID" "IR" "IQ" "IE" "IM" "IL" "IT" "JM" "JP" "JE" "JO" "KZ" "KE" "KI" "KP" "KR" "XK" "KW" "KG" "LA" "LV" "LB" "LS" "LR" "LY" "LI" "LT" "LU" "MO" "MK" "MG" "MW" "MY" "MV" "ML" "MT" "MH" "MQ" "MR" "MU" "YT" "MX" "FM" "MD" "MC" "MN" "ME" "MS" "MA" "MZ" "MM" "NA" "NR" "NP" "NL" "NC" "NZ" "NI" "NE" "NG" "NU" "NF" "MP" "NO" "OM" "PK" "PW" "PS" "PA" "PG" "PY" "PE" "PH" "PN" "PL" "PT" "PR" "QA" "RE" "RO" "RU" "RW" "BL" "SH" "KN" "LC" "MF" "PM" "VC" "WS" "SM" "ST" "SA" "SN" "RS" "SC" "SL" "SG" "SX" "SK" "SI" "SB" "SO" "ZA" "GS" "SS" "ES" "LK" "SD" "SR" "SJ" "SZ" "SE" "CH" "SY" "TW" "TJ" "TZ" "TH" "TL" "TG" "TK" "TO" "TT" "TN" "TR" "TM" "TC" "TV" "UG" "UA" "AE" "GB" "US" "UM" "UY" "UZ" "VU" "VE" "VN" "VG" "VI" "WF" "EH" "YE" "ZM" "ZW" Country code filter. |
| city | string Example: city=New York Exact city name filter. |
| addressSearch | string non-empty Example: addressSearch=Wilshire Blvd Substring match on the address name filter. Matching is exact (case-insensitive; no fuzzy matching). |
| locationNameSearch | string non-empty Example: locationNameSearch=Main Street Garage Substring match on the location name filter. Matching is exact (case-insensitive; no fuzzy matching). |
{- "locations": [
- {
- "id": 1,
- "name": "Hilton Miami Beach",
- "geoposition": {
- "latitude": 25.8441522,
- "longitude": -80.1205992
}, - "address": "6261 Collins Ave, Miami Beach, FL 33140, USA",
- "city": "Miami Beach",
- "country": "US",
- "postCode": "33140",
- "workingHours": {
- "isAlwaysOpen": true
}, - "lastUpdatedAt": "2025-07-04T10:42:36+00:00",
- "chargingZones": [
- {
- "id": 1,
- "name": "Hilton Miami Beach",
- "locationId": 1,
- "status": "enabled"
}
]
}
], - "meta": {
- "pageResultCount": 1
}
}Returns detailed information for a single Location. Information include details about Location name, country, city, address, post code, geo-position, working hours, charging zones.
| locationId required | integer >= 1 Example: 123 Numeric location identifier. |
{- "id": 1,
- "name": "Hilton Miami Beach",
- "geoposition": {
- "latitude": 25.8441522,
- "longitude": -80.1205992
}, - "address": "6261 Collins Ave, Miami Beach, FL 33140, USA",
- "city": "Miami Beach",
- "country": "US",
- "postCode": "33140",
- "workingHours": {
- "isAlwaysOpen": true
}, - "lastUpdatedAt": "2025-07-04T10:42:36+00:00",
- "chargingZones": [
- {
- "id": 1,
- "name": "Hilton Miami Beach",
- "locationId": 1,
- "status": "enabled"
}
]
}These endpoints allow you to retrieve information about physical EV Chargers, including their model, status, charging ports, and location.
These endpoints allow you to:
Returns a list of all Chargers available to the authenticated account (Partner) with a set of filters. Information should include details about the Charger such as name, system status, network details, type, EVSEs (ports), connectors, location.
| status | string Enum: "enabled" "disabled" "out of order" "demo" Example: status=enabled Charger system status filter. |
| name | string non-empty Example: name=EVPassport Test Lab - Demo Exact charger name filter. |
| locationId | integer >= 1 Example: locationId=4 Numeric location identifier filter. |
{- "chargers": [
- {
- "id": 14,
- "name": "EVPassport Test Lab - Demo",
- "type": "public",
- "locationId": 1,
- "chargingZoneId": 4,
- "networkType": "cellular",
- "status": "demo",
- "lastBootNotification": {
- "model": "c6",
- "vendor": "goiot"
}, - "networkStatus": "available",
- "hardwareStatus": "available",
- "lastUpdatedAt": "2025-02-19T11:22:44+00:00",
- "createdAt": "2025-02-19T10:52:06+00:00",
- "chargerPorts": [
- {
- "id": 18,
- "physicalReference": "6446",
- "currentType": "ac",
- "status": "enabled",
- "powerOptions": {
- "maxPower": 22000,
- "maxVoltage": "400",
- "maxAmperage": 42,
- "phases": "three_phase"
}, - "hardwareStatus": "available",
- "connectors": [
- {
- "id": 28,
- "type": "ccs2",
- "format": "cable",
- "status": "enabled"
}
], - "createdAt": "2025-02-19T10:52:06+00:00",
- "lastUpdatedAt": "2025-04-07T12:06:43+00:00"
}
]
}
], - "meta": {
- "pageResultCount": 1
}
}Returns detailed information for a single Charger. Information should include details about Charger such as name, system status, network details, type, EVSEs (ports), connectors, location.
| chargerId required | integer >= 1 Example: 123 Numeric charger identifier. |
{- "id": 14,
- "name": "EVPassport Test Lab - Demo",
- "type": "public",
- "locationId": 1,
- "chargingZoneId": 4,
- "networkType": "cellular",
- "status": "demo",
- "lastBootNotification": {
- "model": "c6",
- "vendor": "goiot"
}, - "networkStatus": "available",
- "hardwareStatus": "available",
- "lastUpdatedAt": "2025-02-19T11:22:44+00:00",
- "createdAt": "2025-02-19T10:52:06+00:00",
- "chargerPorts": [
- {
- "id": 18,
- "physicalReference": "6446",
- "currentType": "ac",
- "status": "enabled",
- "powerOptions": {
- "maxPower": 22000,
- "maxVoltage": "400",
- "maxAmperage": 42,
- "phases": "three_phase"
}, - "hardwareStatus": "available",
- "connectors": [
- {
- "id": 28,
- "type": "ccs2",
- "format": "cable",
- "status": "enabled"
}
], - "createdAt": "2025-02-19T10:52:06+00:00",
- "lastUpdatedAt": "2025-04-07T12:06:43+00:00"
}
]
}Charger Ports represent individual EVSE connectors (ie, J1772, CCS, Tesla/NACS). These endpoints let you view port details, operational statuses, power options, and manage charging sessions.
Use these endpoints to:
Returns a list of Charger Ports available to the authenticated account (Partner) with a set of filters. Information should include details about Charger Ports (EVSEs), current type, power options, connectors, system status, operational status, charger and location identifiers.
| locationId | integer >= 1 Example: locationId=4 Numeric location identifier filter. |
| hardwareStatus | string Enum: "available" "preparing" "charging" "suspendedEV" "suspendedEVSE" "finishing" "reserved" "unavailable" "faulted" "occupied" Example: hardwareStatus=available Filter by operational status reported by the charger port (EVSE). |
{- "chargerPorts": [
- {
- "id": 18,
- "chargerId": 16,
- "physicalReference": "6242",
- "locationId": 2,
- "currentType": "ac",
- "status": "enabled",
- "powerOptions": {
- "maxPower": 0,
- "maxVoltage": "230",
- "maxAmperage": 0,
- "phases": "single_phase"
}, - "hardwareStatus": "available",
- "connectors": [
- {
- "id": 30,
- "type": "type1",
- "format": "socket",
- "status": "enabled"
}
], - "createdAt": "2025-04-10T09:46:06+00:00",
- "lastUpdatedAt": "2025-05-21T12:12:59+00:00"
}, - {
- "id": 20,
- "chargerId": 16,
- "physicalReference": "6242",
- "locationId": 2,
- "currentType": "ac",
- "status": "enabled",
- "powerOptions": {
- "maxPower": 0,
- "maxVoltage": "230",
- "maxAmperage": 0,
- "phases": "single_phase"
}, - "hardwareStatus": "available",
- "connectors": [
- {
- "id": 30,
- "type": "type1",
- "format": "socket",
- "status": "enabled"
}
], - "createdAt": "2025-04-10T09:46:06+00:00",
- "lastUpdatedAt": "2025-05-21T12:12:59+00:00"
}
], - "meta": {
- "pageResultCount": 1
}
}Returns detailed information for a single Charger Port. Information should include details about the Charger Port (EVSE), current type, power options, connectors, system status, operational status, charger and location identifiers.
| chargerPortId required | integer >= 1 Example: 123 Numeric identifier of the charger port (EVSE). |
{- "id": 20,
- "chargerId": 16,
- "physicalReference": "6242",
- "locationId": 2,
- "currentType": "ac",
- "status": "enabled",
- "powerOptions": {
- "maxPower": 0,
- "maxVoltage": "230",
- "maxAmperage": 0,
- "phases": "single_phase"
}, - "hardwareStatus": "available",
- "connectors": [
- {
- "id": 30,
- "type": "type1",
- "format": "socket",
- "status": "enabled"
}
], - "createdAt": "2025-04-10T09:46:06+00:00",
- "lastUpdatedAt": "2025-05-21T12:12:59+00:00"
}This endpoint allows you to start a charging session by passing the Charger Port identifier, returns the
session identifier and partial statuses. This action is asynchronous and requires some time to process.
You can check the session status by a separate call to /v1/charger-ports/session-status/{sessionId}
by the received session ID.
| chargerPortId required | integer >= 1 Example: 123 Numeric identifier of the charger port (EVSE). |
The request body in this API version is empty, planned for future use with new features.
Empty request body for starting a charging session. Reserved for future use.
The request body is empty in the current API version.
{ }Example response for a successful charging session start
{- "success": true,
- "sessionId": 236,
- "authorizationId": 223
}This endpoint allows you to stop a charging session by its identifier. This action is asynchronous and requires
some time to process. In response, you will receive a short message with success status of the operation. You can check
the session status by a separate call to /v1/charger-ports/session-status/{sessionId} by the received session ID.
| sessionId required | integer >= 1 Example: 123 Unique identifier of the charging session. |
The request body to stop a charging session.
| force | boolean Default: false If true, forces the charging session to stop regardless of the CP response. |
Example request to stop a charging session
{- "force": false
}Example response for a successful charging session stop
{- "success": true
}This endpoint gives you relevant Status information about a Charging Session by its identifier. You can check details of the charging session which include session status, error reasons (if any), charger and charger port identifiers, start and end time, energy usage, cost, payment type, payment status, etc.
| sessionId required | integer >= 1 Example: 123 Unique identifier of the charging session. |
{- "id": "1",
- "chargerPortId": 4,
- "chargerId": 3,
- "status": "finished",
- "reason": "force_stop",
- "userId": 7,
- "startedAt": "2024-11-25T11:01:06+00:00",
- "stoppedAt": "2024-11-25T11:20:32+00:00",
- "socPercent": 86,
- "totalAmount": {
- "withTax": 5.21,
- "withoutTax": 4.91
}, - "currency": "USD",
- "paymentType": "balance",
- "terminalId": 4,
- "paymentStatus": "pending",
- "evsePhysicalReference": "cgs11s-1",
- "priceBreakdown": [
- {
- "type": "energy",
- "currency": "USD",
- "unit": "kwh",
- "pricePerUnit": {
- "withTax": 0.14,
- "withoutTax": 0.13
}, - "quantity": 37.194,
- "price": {
- "withTax": 5.21,
- "withoutTax": 4.91
}, - "taxPercentage": 6.11
}
], - "paymentStatusUpdatedAt": "2024-11-29T15:02:34+00:00",
- "lastUpdatedAt": "2024-11-29T15:02:34+00:00",
- "totalEnergyConsumption": 37194,
- "billingStatus": "pending"
}The Reports endpoints provide access to historical and real-time data from your chargers. These include charging session logs, fault events, charger status snapshots, and transaction records.
Use these endpoints to:
Returns a list of Session data, including start and end times, energy delivered, payment amount, payment status, billing status, and price breakdown.
| startedAfter | string <date-time> Example: startedAfter=2024-11-01T00:00:00Z Filter out sessions that started after this datetime (ISO 8601), results will be returned in UTC. At least one of startedAfter/endedBefore must be provided. |
| endedBefore | string <date-time> Example: endedBefore=2024-11-30T23:59:59Z Filter out sessions that ended before this datetime (ISO 8601), results will be returned in UTC. At least one of startedAfter/endedBefore must be provided. |
| chargerId | integer >= 1 Example: chargerId=3 Filter out charging sessions on a certain Charger by its identifier. |
| status | string Enum: "unknown" "pending" "active" "finished" "failed" "expired" Example: status=finished Filter out sessions by their status. |
| paymentStatus | string Enum: "pending" "paid" "partially" "failed" Example: paymentStatus=pending Filter out sessions by payment status. |
| billingStatus | string Enum: "pending" "suspended" "completed" Example: billingStatus=pending Filter out sessions by billing status. |
| limit | integer [ 1 .. 100 ] Default: 100 Max number of results to return. |
| page | integer >= 1 Default: 1 The page number to fetch (defaults to 1). |
{- "chargingSessions": [
- {
- "id": "1",
- "chargerPortId": 4,
- "chargerId": 3,
- "location": {
- "id": 0,
- "name": "Company HQ",
- "address": "East Boston, MA 02128, USA"
}, - "status": "finished",
- "reason": "force_stop",
- "userId": 7,
- "startedAt": "2024-11-25T11:01:06+00:00",
- "stoppedAt": "2024-11-25T11:20:32+00:00",
- "socPercent": 86,
- "totalAmount": {
- "withTax": 5.21,
- "withoutTax": 4.91
}, - "currency": "USD",
- "paymentType": "balance",
- "terminalId": 4,
- "paymentStatus": "pending",
- "evsePhysicalReference": "cgs11s-1",
- "priceBreakdown": [
- {
- "type": "energy",
- "currency": "USD",
- "unit": "kwh",
- "pricePerUnit": {
- "withTax": 0.14,
- "withoutTax": 0.13
}, - "quantity": 37.194,
- "price": {
- "withTax": 5.21,
- "withoutTax": 4.91
}, - "taxPercentage": 6.11
}
], - "paymentStatusUpdatedAt": "2024-11-29T15:02:34+00:00",
- "lastUpdatedAt": "2024-11-29T15:02:34+00:00",
- "totalEnergyConsumption": 37194,
- "billingStatus": "pending"
}
], - "pagination": {
- "currentPage": 1,
- "from": 1,
- "to": 100,
- "lastPage": 3,
- "perPage": 100,
- "total": 226
}, - "meta": {
- "pageResultCount": 1
}
}Returns a real-time snapshot of all Charger Statuses across your network.
| chargerId | integer >= 1 Example: chargerId=3 Filter out charging sessions on a certain Charger by its identifier. |
| locationId | integer >= 1 Example: locationId=4 Numeric location identifier filter. |
| limit | integer [ 1 .. 100 ] Default: 100 Max number of results to return. |
| cursor | string Example: cursor=eyJjcmVhdGVkX2F0IjoiMjAyNS0wNC0yMiAxNjoxNDowNSIsImlkIjoxMDEsIl9wb2ludHNUb05leHRJdGVtcyI6ZmFsc2V9 Pagination cursor for next/previous page, keep empty for first page. |
{- "chargerStatuses": [
- {
- "id": 12,
- "name": "Logan Airport AC 1",
- "type": "public",
- "location": {
- "id": 0,
- "name": "Company HQ",
- "address": "East Boston, MA 02128, USA"
}, - "networkType": "cellular",
- "status": "enabled",
- "networkStatus": "available",
- "hardwareStatus": "available",
- "vendorErrorCode": "string"
}
], - "cursorPagination": {
- "perPage": 100,
- "nextCursor": "eyJjcmVhdGVkX2F0IjoiMjAyNS0wNC0yMiAxNjoxNDowNSIsImlkIjoxMDEsIl9wb2ludHNUb05leHRJdGVtcyI6ZmFsc2V9",
- "prevCursor": ""
}, - "meta": {
- "pageResultCount": 1
}
}Returns a list of Downtime Periods on the charger ports such as power issues, hardware and network errors, system status, start and end time of the downtime periods, and their entry mode. Includes details required to identify location, charger, and port. Useful for diagnostics, support workflows, and maintenance reporting.
| startedAfter | string <date-time> Example: startedAfter=2025-07-01T00:00:00Z ISO 8601 formatted date filter. Lists only the faults started after this datetime, results will be returned in UTC. At least one of startedAfter/stoppedBefore must be provided. |
| stoppedBefore | string <date-time> Example: stoppedBefore=2025-07-31T23:59:59Z ISO 8601 formatted date filter. Lists only the faults ended before this datetime, results will be returned in UTC. At least one of startedAfter/stoppedBefore must be provided. |
| locationId | integer >= 1 Example: locationId=1 Filter out downtime periods of the ports at the specified location by ID. |
| entryMode | string Enum: "manual" "automatic" Example: entryMode=automatic Filter out downtime periods by entry mode. |
| type | string Enum: "downtime" "exempt" Example: type=downtime Filter out downtime periods by entry type. |
| limit | integer [ 1 .. 100 ] Default: 100 Max number of results to return. |
| cursor | string Example: cursor=eyJjcmVhdGVkX2F0IjoiMjAyNS0wNC0yMiAxNjoxNDowNSIsImlkIjoxMDEsIl9wb2ludHNUb05leHRJdGVtcyI6ZmFsc2V9 Pagination cursor for next/previous page, keep empty for first page. |
{- "downtimePeriods": [
- {
- "id": 22,
- "chargerPortId": 31,
- "chargerId": 27,
- "startedAt": "2025-07-23T21:33:57+00:00",
- "endedAt": "2025-07-30T18:15:58+00:00",
- "duration": 12340,
- "location": {
- "id": 0,
- "name": "Company HQ",
- "address": "East Boston, MA 02128, USA"
}, - "entryMode": "automatic",
- "type": "downtime",
- "statuses": {
- "system": "enabled",
- "network": "available",
- "hardware": "faulted"
}
}
], - "cursorPagination": {
- "perPage": 100,
- "nextCursor": "eyJjcmVhdGVkX2F0IjoiMjAyNS0wNC0yMiAxNjoxNDowNSIsImlkIjoxMDEsIl9wb2ludHNUb05leHRJdGVtcyI6ZmFsc2V9",
- "prevCursor": ""
}, - "meta": {
- "pageResultCount": 1
}
}Returns a detailed list of Transactions related to charging sessions, including session times, energy delivered, cost, payment method, status, billing type, failure reason (if any), charger and port identifiers, location data.
| createdAfter | string <date-time> Example: createdAfter=2025-07-01T00:00:00Z ISO 8601 formatted date filter. Lists only the transactions created after this datetime, results will be returned in UTC. At least one of createdAfter or createdBefore must be provided. |
| createdBefore | string <date-time> Example: createdBefore=2025-07-31T23:59:59Z ISO 8601 formatted date filter. Lists only the transactions created before this datetime, results will be returned in UTC. At least one of createdAfter or createdBefore must be provided. |
| status | string Enum: "pending" "finalized" "failed" "reversed" "refunded" "authorized" "initialized" Example: status=finalized Filter out transaction by their status. |
| sessionId | integer >= 1 Example: sessionId=123 Filter out transactions by a specific session ID. |
| limit | integer [ 1 .. 100 ] Default: 100 Max number of results to return. |
| page | integer >= 1 Default: 1 The page number to fetch (defaults to 1). |
{- "transactions": [
- {
- "id": 13,
- "number": "ab579908c8",
- "date": "2024-11-29T15:02:32+00:00",
- "userId": 10,
- "sessionId": 6,
- "chargerId": 2,
- "paymentMethodId": "4",
- "totalAmount": 9.62,
- "currency": "USD",
- "status": "finalized",
- "failureReason": "Failure reason details",
- "lastUpdatedAt": "2024-11-29T15:02:34+00:00",
- "finalizedAt": "2024-11-29T15:02:34+00:00",
- "terminalId": 0,
- "location": {
- "id": 0,
- "name": "Company HQ",
- "address": "East Boston, MA 02128, USA"
}
}
], - "pagination": {
- "currentPage": 1,
- "from": 1,
- "to": 100,
- "lastPage": 3,
- "perPage": 100,
- "total": 226
}, - "meta": {
- "pageResultCount": 1
}
}{- "message": "Lambda status check completed",
- "environment": "vfihu",
- "status": "Status of checked systems: []",
- "lambdaVariables": {
- "envVariable": "Dev Variable Text",
- "defaultFunctionsEnvVariable": "Default Function Stack Variables",
- "lambdaSpecificEnvVariable": "Only this lambda specific env variables"
}
}