Get session analytics
Returns session analytics including counts, averages, and time series data.
curl 'https://api.proranked.com/emsp/v1/analytics/sessions' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"totalSessions": 1842,
"completedSessions": 1790,
"failedSessions": 52,
"averageSessionDurationMinutes": 47.32,
"averageEnergyPerSessionKwh": 18.64,
"growthPercentage": 12.5,
"period": "day",
"fromDate": "2026-05-20T00:00:00Z",
"toDate": "2026-06-19T00:00:00Z",
"timeline": [
{
"date": "2026-06-18T00:00:00Z",
"value": 124.5,
"label": "Jun 18"
}
]
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Get revenue analytics
Returns revenue analytics including totals, averages, and time series data.
curl 'https://api.proranked.com/emsp/v1/analytics/revenue' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"totalRevenue": 26840.5,
"averagePerSession": 14.57,
"currency": "USD",
"growthPercentage": 9.8,
"period": "day",
"fromDate": "2026-05-20T00:00:00Z",
"toDate": "2026-06-19T00:00:00Z",
"timeline": [
{
"date": "2026-06-18T00:00:00Z",
"value": 124.5,
"label": "Jun 18"
}
],
"revenueByLocation": [
{
"name": "Isla Verde Mall",
"value": 842.75,
"percentage": 31.4
}
]
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Get energy consumption analytics
Returns energy consumption analytics including totals and time series data.
curl 'https://api.proranked.com/emsp/v1/analytics/energy' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"totalEnergyKwh": 34328.1,
"averagePerSessionKwh": 18.64,
"peakDayKwh": 1640.2,
"peakDayDate": "2026-06-07T00:00:00Z",
"growthPercentage": 7.2,
"period": "day",
"fromDate": "2026-05-20T00:00:00Z",
"toDate": "2026-06-19T00:00:00Z",
"timeline": [
{
"date": "2026-06-18T00:00:00Z",
"value": 124.5,
"label": "Jun 18"
}
]
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}List tokens
Returns a paginated list of tokens for a user.
curl 'https://api.proranked.com/emsp/v1/auth/tokens' \ -H 'X-API-Key: pr_live_…'
{
"data": [
{
"id": "7c1e2a44-9b3d-4e6f-8a01-2b3c4d5e6f70",
"uid": "A1B2C3D4E5F6",
"contractId": "US-PHV-A1B2C3D4",
"tokenType": "APP_USER",
"alias": "Maya's app token",
"valid": true,
"userId": "1ae38f39-2c4b-4d5e-9f10-3a4b5c6d7e8f",
"createdAt": "2026-06-19T18:42:09Z",
"expiresAt": "2027-06-19T00:00:00Z",
"lastUsedAt": "2026-06-18T14:05:33Z"
}
],
"success": true,
"timestamp": "2026-06-19T18:42:09Z",
"pagination": {
"totalCount": 42,
"page": 1,
"pageSize": 20,
"totalPages": 3,
"hasNextPage": true,
"hasPreviousPage": false
}
}Create authentication token
Creates a new authentication token for a user. The token can be used for charging sessions.
curl -X POST 'https://api.proranked.com/emsp/v1/auth/tokens' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"id": "7c1e2a44-9b3d-4e6f-8a01-2b3c4d5e6f70",
"uid": "A1B2C3D4E5F6",
"contractId": "US-PHV-A1B2C3D4",
"tokenType": "APP_USER",
"alias": "Maya's app token",
"valid": true,
"userId": "1ae38f39-2c4b-4d5e-9f10-3a4b5c6d7e8f",
"createdAt": "2026-06-19T18:42:09Z",
"expiresAt": "2027-06-19T00:00:00Z",
"lastUsedAt": "2026-06-18T14:05:33Z"
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Get token details
Returns detailed information about a specific token.
curl 'https://api.proranked.com/emsp/v1/auth/tokens/{id}' \
-H 'X-API-Key: pr_live_…'{
"data": {
"id": "7c1e2a44-9b3d-4e6f-8a01-2b3c4d5e6f70",
"uid": "A1B2C3D4E5F6",
"contractId": "US-PHV-A1B2C3D4",
"tokenType": "APP_USER",
"alias": "Maya's app token",
"valid": true,
"userId": "1ae38f39-2c4b-4d5e-9f10-3a4b5c6d7e8f",
"createdAt": "2026-06-19T18:42:09Z",
"expiresAt": "2027-06-19T00:00:00Z",
"lastUsedAt": "2026-06-18T14:05:33Z"
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Invalidate a token
Invalidates (soft-deletes) a token so it can no longer be used for authorization.
curl -X DELETE 'https://api.proranked.com/emsp/v1/auth/tokens/{id}' \
-H 'X-API-Key: pr_live_…'{
"data": {
"tokenId": "7c1e2a44-9b3d-4e6f-8a01-2b3c4d5e6f70",
"action": "invalidate",
"success": true,
"message": "Token has been invalidated successfully"
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Register a new driver account
curl -X POST 'https://api.proranked.com/emsp/v1/auth/driver/register' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"accessToken": "eyJ...<access-token>...",
"refreshToken": "<refresh-token>",
"expiresIn": 3600,
"tokenType": "Bearer",
"driver": {
"id": "1ae38f39-2c4b-4d5e-9f10-3a4b5c6d7e8f",
"email": "maya@example.com",
"firstName": "Maya",
"lastName": "Rivera",
"tokenUid": "A1B2C3D4E5F6"
}
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Login with email and password
curl -X POST 'https://api.proranked.com/emsp/v1/auth/driver/login' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"accessToken": "eyJ...<access-token>...",
"refreshToken": "<refresh-token>",
"expiresIn": 3600,
"tokenType": "Bearer",
"driver": {
"id": "1ae38f39-2c4b-4d5e-9f10-3a4b5c6d7e8f",
"email": "maya@example.com",
"firstName": "Maya",
"lastName": "Rivera",
"tokenUid": "A1B2C3D4E5F6"
}
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Refresh access token using refresh token
curl -X POST 'https://api.proranked.com/emsp/v1/auth/driver/refresh' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"accessToken": "eyJ...<access-token>...",
"refreshToken": "<refresh-token>",
"expiresIn": 3600,
"tokenType": "Bearer"
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Request a password reset email
curl -X POST 'https://api.proranked.com/emsp/v1/auth/driver/forgot-password' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"message": "If the email exists, a password reset link has been sent."
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Reset password using token from email
curl -X POST 'https://api.proranked.com/emsp/v1/auth/driver/reset-password' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"message": "If the email exists, a password reset link has been sent."
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Get authenticated driver's profile
curl 'https://api.proranked.com/emsp/v1/auth/driver/me' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"id": "1ae38f39-2c4b-4d5e-9f10-3a4b5c6d7e8f",
"Email": "maya@example.com",
"FirstName": "Maya",
"LastName": "Rivera",
"PhoneNumber": "+17875551234",
"Address": "123 Calle Sol",
"City": "San Juan",
"State": "PR",
"PostalCode": "00901",
"Country": "US",
"CreatedAt": "2026-01-15T09:30:00Z",
"tokens": [
{
"TokenUuid": "7c1e2a44-9b3d-4e6f-8a01-2b3c4d5e6f70",
"Uid": "A1B2C3D4E5F6",
"TokenType": "APP_USER"
}
]
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}List all chargers
Returns a paginated list of chargers in the network.
curl 'https://api.proranked.com/emsp/v1/chargers' \ -H 'X-API-Key: pr_live_…'
{
"data": [
{
"id": "4b2e9c10-7d8a-4a6e-9b1f-2c3d4e5f6a7b",
"uid": "CP-IslaVerde-01",
"evseId": "PR*PHX*E001234",
"status": "AVAILABLE",
"locationId": "c1a2b3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"locationName": "Isla Verde Mall",
"isPublic": true,
"maxPowerKw": 150,
"connectorCount": 2,
"lastHeartbeat": "2026-06-19T18:42:07Z",
"isOnline": true,
"lastUpdated": "2026-06-19T18:42:07Z",
"networkId": "3f9a1c20-6b7d-4e8f-9a0b-1c2d3e4f5a6b",
"networkName": "Phevnix PR"
}
],
"success": true,
"timestamp": "2026-06-19T18:42:09Z",
"pagination": {
"totalCount": 137,
"page": 1,
"pageSize": 20,
"totalPages": 7,
"hasNextPage": true,
"hasPreviousPage": false
}
}Get charger details
Returns detailed information about a specific charger including its connectors.
curl 'https://api.proranked.com/emsp/v1/chargers/{id}' \
-H 'X-API-Key: pr_live_…'{
"data": {
"id": "4b2e9c10-7d8a-4a6e-9b1f-2c3d4e5f6a7b",
"uid": "CP-IslaVerde-01",
"evseId": "PR*PHX*E001234",
"status": "AVAILABLE",
"locationId": "c1a2b3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"locationName": "Isla Verde Mall",
"isPublic": true,
"maxPowerKw": 150,
"connectorCount": 2,
"lastHeartbeat": "2026-06-19T18:42:07Z",
"isOnline": true,
"lastUpdated": "2026-06-19T18:42:07Z",
"networkId": "3f9a1c20-6b7d-4e8f-9a0b-1c2d3e4f5a6b",
"networkName": "Phevnix PR",
"serialNumber": "SN-A1B2C3D4",
"manufacturer": "ABB",
"model": "Terra 184",
"firmwareVersion": "1.5.32",
"ocppVersion": "1.6",
"installationDate": "2025-09-01T00:00:00Z",
"floorLevel": "P1",
"physicalReference": "Bay 14",
"coordinates": null,
"connectors": [
{
"id": "9f1c2b30-4d5e-6a7b-8c9d-0e1f2a3b4c5d",
"connectorNumber": 1,
"connectorIdentifier": "CP-IslaVerde-01-1",
"status": "AVAILABLE",
"standard": "IEC_62196_T2",
"format": "SOCKET",
"powerType": "AC_3_PHASE",
"maxVoltage": 400,
"maxAmperage": 32,
"maxElectricPowerWatts": 22000,
"lastUpdated": "2026-06-19T18:42:07Z"
}
]
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Reboot a charger
Sends a reset command to the charger. Use 'Soft' for firmware restart or 'Hard' for power cycle.
curl -X POST 'https://api.proranked.com/emsp/v1/chargers/{id}/reboot' \
-H 'X-API-Key: pr_live_…'{
"data": {
"chargerId": "4b2e9c10-7d8a-4a6e-9b1f-2c3d4e5f6a7b",
"status": "Accepted",
"message": "Soft reset command sent successfully"
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Get charger info for QR code scanning
Returns charger information with pricing details for QR code scanning. Accepts UUID, Uid, or SerialNumber as identifier. Only returns public chargers at published locations.
curl 'https://api.proranked.com/emsp/v1/chargers/{identifier}/info' \
-H 'X-API-Key: pr_live_…'{
"data": {
"chargerUuid": "4b2e9c10-7d8a-4a6e-9b1f-2c3d4e5f6a7b",
"chargerUid": "CP-IslaVerde-01",
"chargerName": "CP-IslaVerde-01",
"llmLookupId": "SHD54S",
"status": "AVAILABLE",
"isOnline": true,
"locationUuid": "c1a2b3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"locationName": "Isla Verde Mall",
"address": "8169 Calle Marginal",
"city": "Carolina",
"latitude": 18.4319,
"longitude": -66.0617,
"networkUuid": "3f9a1c20-6b7d-4e8f-9a0b-1c2d3e4f5a6b",
"networkName": "Phevnix PR",
"networkLogoUrl": "https://cdn.phevnix.com/networks/phevnix-pr/logo.svg",
"networkPrimaryColor": "#0EA5E9",
"networkSecondaryColor": "#0F172A",
"currency": "USD",
"connectors": [
{
"connectorUuid": "9f1c2b30-4d5e-6a7b-8c9d-0e1f2a3b4c5d",
"connectorIdentifier": "CP-IslaVerde-01-1",
"connectorNumber": 1,
"standard": "IEC_62196_T2",
"format": "SOCKET",
"powerType": "AC_3_PHASE",
"maxPowerKw": 22,
"status": "AVAILABLE",
"tariffId": "TARIFF-STD-AC",
"tariffName": "Standard AC",
"energyRate": 0.35,
"timeRate": 0,
"sessionFee": 0.5,
"idleRate": 0.4,
"idleFeeEnabled": true,
"idleGracePeriodMinutes": 10
}
]
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}List charging sessions
Returns a paginated list of charging sessions for the network.
curl 'https://api.proranked.com/emsp/v1/charging/sessions' \ -H 'X-API-Key: pr_live_…'
{
"data": [
{
"id": "00000000-0000-0000-0000-000000000000",
"status": "string",
"chargerId": "00000000-0000-0000-0000-000000000000",
"chargerUid": "string",
"connectorId": "00000000-0000-0000-0000-000000000000",
"connectorNumber": 0,
"locationId": "00000000-0000-0000-0000-000000000000",
"locationName": "string",
"startTime": null,
"endTime": null,
"durationSeconds": 0,
"energyDeliveredKwh": 0,
"total": 0,
"currency": "string",
"maxPowerKw": 0,
"currentPowerKw": 0,
"currentSocPercent": 0
}
],
"success": true,
"timestamp": "2026-06-19T18:42:09Z",
"pagination": {
"totalCount": 248,
"page": 1,
"pageSize": 20,
"totalPages": 13,
"hasNextPage": true,
"hasPreviousPage": false
}
}Get session details
Returns detailed information about a specific charging session including cost breakdown.
curl 'https://api.proranked.com/emsp/v1/charging/sessions/{id}' \
-H 'X-API-Key: pr_live_…'{
"data": {
"authMethod": "string",
"idTag": "string",
"startMeterValue": 0,
"endMeterValue": 0,
"currentMeterValue": 0,
"startReason": "string",
"stopReason": "string",
"idleTimeSeconds": 0,
"isInIdleState": true,
"paymentStatus": "string",
"costs": {
"subtotal": 0,
"taxes": 0,
"sessionFees": 0,
"idleFees": 0,
"timeFees": 0,
"total": 0,
"currency": "string"
},
"id": "00000000-0000-0000-0000-000000000000",
"status": "string",
"chargerId": "00000000-0000-0000-0000-000000000000",
"chargerUid": "string",
"connectorId": "00000000-0000-0000-0000-000000000000",
"connectorNumber": 0,
"locationId": "00000000-0000-0000-0000-000000000000",
"locationName": "string",
"startTime": null,
"endTime": null,
"durationSeconds": 0,
"energyDeliveredKwh": 0,
"total": 0,
"currency": "string",
"maxPowerKw": 0,
"currentPowerKw": 0,
"currentSocPercent": 0
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Start a charging session
Initiates a charging session on the specified charger and connector using the provided authorization ID tag.
curl -X POST 'https://api.proranked.com/emsp/v1/charging/start' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"sessionId": "00000000-0000-0000-0000-000000000000",
"correlationId": "00000000-0000-0000-0000-000000000000",
"status": "string",
"chargerId": "00000000-0000-0000-0000-000000000000",
"connectorNumber": 0,
"startTime": null,
"message": "string"
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Stop a charging session
Stops an active charging session and returns the final session details with cost breakdown.
curl -X POST 'https://api.proranked.com/emsp/v1/charging/stop' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"authMethod": "string",
"idTag": "string",
"startMeterValue": 0,
"endMeterValue": 0,
"currentMeterValue": 0,
"startReason": "string",
"stopReason": "string",
"idleTimeSeconds": 0,
"isInIdleState": true,
"paymentStatus": "string",
"costs": {
"subtotal": 0,
"taxes": 0,
"sessionFees": 0,
"idleFees": 0,
"timeFees": 0,
"total": 0,
"currency": "string"
},
"id": "00000000-0000-0000-0000-000000000000",
"status": "string",
"chargerId": "00000000-0000-0000-0000-000000000000",
"chargerUid": "string",
"connectorId": "00000000-0000-0000-0000-000000000000",
"connectorNumber": 0,
"locationId": "00000000-0000-0000-0000-000000000000",
"locationName": "string",
"startTime": null,
"endTime": null,
"durationSeconds": 0,
"energyDeliveredKwh": 0,
"total": 0,
"currency": "string",
"maxPowerKw": 0,
"currentPowerKw": 0,
"currentSocPercent": 0
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Schedule a charging session for a future time
curl -X POST 'https://api.proranked.com/emsp/v1/charging/schedule' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"id": "7c1f0a23-9b4d-4e5a-8c6f-1d2e3f4a5b6c",
"chargerId": "4b2e9c10-7d8a-4a6e-9b1f-2c3d4e5f6a7b",
"connectorNumber": 1,
"scheduledTime": "2026-06-20T06:00:00Z",
"status": "Pending",
"statusReason": "Charger did not respond",
"firedAt": "2026-06-20T06:00:01Z",
"createdAt": "2026-06-19T22:14:55Z"
},
"success": true,
"timestamp": "2026-06-19T22:14:55Z"
}List your scheduled charges
curl 'https://api.proranked.com/emsp/v1/charging/schedules' \ -H 'X-API-Key: pr_live_…'
{
"data": [
{
"id": "7c1f0a23-9b4d-4e5a-8c6f-1d2e3f4a5b6c",
"chargerId": "4b2e9c10-7d8a-4a6e-9b1f-2c3d4e5f6a7b",
"connectorNumber": 1,
"scheduledTime": "2026-06-20T06:00:00Z",
"status": "Pending",
"statusReason": "Charger did not respond",
"firedAt": "2026-06-20T06:00:01Z",
"createdAt": "2026-06-19T22:14:55Z"
}
],
"success": true,
"timestamp": "2026-06-19T22:14:55Z"
}Cancel a scheduled charge
curl -X DELETE 'https://api.proranked.com/emsp/v1/charging/schedule/{id}' \
-H 'X-API-Key: pr_live_…'Get connector status
Returns the current status and details of a specific connector.
curl 'https://api.proranked.com/emsp/v1/connectors/{id}/status' \
-H 'X-API-Key: pr_live_…'{
"data": {
"id": "9f1c2b30-4d5e-6a7b-8c9d-0e1f2a3b4c5d",
"connectorNumber": 1,
"connectorIdentifier": "CP-IslaVerde-01-1",
"status": "AVAILABLE",
"standard": "IEC_62196_T2",
"format": "SOCKET",
"powerType": "AC_3_PHASE",
"maxVoltage": 400,
"maxAmperage": 32,
"maxElectricPowerWatts": 22000,
"lastUpdated": "2026-06-19T18:42:07Z",
"chargerId": "4b2e9c10-7d8a-4a6e-9b1f-2c3d4e5f6a7b",
"chargerUid": "CP-IslaVerde-01",
"locationId": "c1a2b3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"locationName": "Isla Verde Mall",
"lastStatusUpdate": "2026-06-19T18:41:55Z",
"hasRfidReader": true,
"hasDisplay": false
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}SSE event stream for real-time updates
curl 'https://api.proranked.com/emsp/v1/events/stream' \ -H 'X-API-Key: pr_live_…'
List the driver's favorites
curl 'https://api.proranked.com/emsp/v1/favorites' \ -H 'X-API-Key: pr_live_…'
{
"data": [
{
"id": "5d4c3b2a-1f0e-4d9c-8b7a-6e5f4d3c2b1a",
"targetType": "location",
"targetId": "9f1c2b30-4d5e-6a7b-8c9d-0e1f2a3b4c5d",
"label": "Home charger",
"createdAt": "2026-06-18T14:05:33Z"
}
],
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Save a favorite
curl -X POST 'https://api.proranked.com/emsp/v1/favorites' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"id": "5d4c3b2a-1f0e-4d9c-8b7a-6e5f4d3c2b1a",
"targetType": "location",
"targetId": "9f1c2b30-4d5e-6a7b-8c9d-0e1f2a3b4c5d",
"label": "Home charger",
"createdAt": "2026-06-18T14:05:33Z"
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Remove a favorite
curl -X DELETE 'https://api.proranked.com/emsp/v1/favorites/{id}' \
-H 'X-API-Key: pr_live_…'Generate invoice
Generates an invoice for one or more transactions.
curl -X POST 'https://api.proranked.com/emsp/v1/invoices' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"invoiceNumber": "string",
"issueDate": null,
"dueDate": null,
"userId": "00000000-0000-0000-0000-000000000000",
"userName": "string",
"userEmail": "string",
"lineItems": [
{
"transactionId": "00000000-0000-0000-0000-000000000000",
"sessionDate": null,
"locationName": "string",
"energyKwh": 0,
"amount": 0
}
],
"subtotal": 0,
"tax": 0,
"total": 0,
"currency": "string",
"status": "string"
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}List locations
curl 'https://api.proranked.com/emsp/v1/locations' \ -H 'X-API-Key: pr_live_…'
{
"data": [
{
"id": "c1a2b3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"name": "Isla Verde Mall",
"address": "8169 Calle Marginal",
"city": "Carolina",
"state": "PR",
"country": "US",
"latitude": 18.4319,
"longitude": -66.0617,
"hasParking": true,
"hasRestrooms": true,
"hasWifi": false,
"phone": "+1-787-555-0142",
"chargerCount": 4,
"availableCount": 3,
"maxPowerKw": 150,
"connectorTypes": [
"string"
],
"distanceKm": 2.137
}
],
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Find locations near a point
curl 'https://api.proranked.com/emsp/v1/locations/search' \ -H 'X-API-Key: pr_live_…'
{
"data": [
{
"id": "c1a2b3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"name": "Isla Verde Mall",
"address": "8169 Calle Marginal",
"city": "Carolina",
"state": "PR",
"country": "US",
"latitude": 18.4319,
"longitude": -66.0617,
"hasParking": true,
"hasRestrooms": true,
"hasWifi": false,
"phone": "+1-787-555-0142",
"chargerCount": 4,
"availableCount": 3,
"maxPowerKw": 150,
"connectorTypes": [
"string"
],
"distanceKm": 2.137
}
],
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Get a location
curl 'https://api.proranked.com/emsp/v1/locations/{id}' \
-H 'X-API-Key: pr_live_…'{
"data": {
"id": "c1a2b3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"name": "Isla Verde Mall",
"address": "8169 Calle Marginal",
"city": "Carolina",
"state": "PR",
"country": "US",
"latitude": 18.4319,
"longitude": -66.0617,
"hasParking": true,
"hasRestrooms": true,
"hasWifi": false,
"phone": "+1-787-555-0142",
"openingHours": null,
"images": [
{
"url": "https://cdn.phevnix.com/locations/isla-verde/1.jpg",
"thumbnailUrl": "https://cdn.phevnix.com/locations/isla-verde/1_thumb.jpg",
"type": "location",
"width": 1280,
"height": 720
}
],
"chargerCount": 4,
"availableCount": 3,
"ratingAverage": 4.6,
"ratingCount": 28
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}List chargers at a location
curl 'https://api.proranked.com/emsp/v1/locations/{id}/chargers' \
-H 'X-API-Key: pr_live_…'{
"data": [
{
"id": "4b2e9c10-7d8a-4a6e-9b1f-2c3d4e5f6a7b",
"serialNumber": "SN-A1B2C3D4",
"status": "AVAILABLE",
"lastHeartbeat": "2026-06-19T18:42:07Z",
"isOnline": true,
"connectorCount": 2
}
],
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Driver reviews + rating summary for a location
curl 'https://api.proranked.com/emsp/v1/locations/{id}/reviews' \
-H 'X-API-Key: pr_live_…'{
"data": {
"summary": {
"average": 4.6,
"count": 28
},
"reviews": [
{
"id": "7e6d5c4b-3a2b-1c0d-9e8f-7a6b5c4d3e2f",
"rating": 5,
"comment": "Fast chargers, easy to find.",
"authorName": "Maya",
"isMine": false,
"createdAt": "2026-05-02T14:10:00Z",
"updatedAt": "2026-05-02T14:10:00Z"
}
]
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Create or update the driver's review for a location
curl -X POST 'https://api.proranked.com/emsp/v1/locations/{id}/reviews' \
-H 'X-API-Key: pr_live_…'{
"data": {
"id": "7e6d5c4b-3a2b-1c0d-9e8f-7a6b5c4d3e2f",
"rating": 5,
"comment": "Fast chargers, easy to find.",
"createdAt": "2026-05-02T14:10:00Z",
"updatedAt": "2026-06-19T18:42:09Z"
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Report a problem at a location (raises an operator alert)
curl -X POST 'https://api.proranked.com/emsp/v1/locations/{id}/report' \
-H 'X-API-Key: pr_live_…'{
"data": {
"id": "a1b2c3d4-e5f6-7a8b-9c0d-1e2f3a4b5c6d",
"status": "received"
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Public network branding (name, logo, colors) for white-label theming
curl 'https://api.proranked.com/emsp/v1/networks/{networkId}/branding' \
-H 'X-API-Key: pr_live_…'{
"data": {
"networkId": "3f9a1c20-6b7d-4e8f-9a0b-1c2d3e4f5a6b",
"name": "Phevnix PR",
"logoUrl": "https://cdn.phevnix.com/networks/phevnix-pr/logo.svg",
"faviconUrl": "https://cdn.phevnix.com/networks/phevnix-pr/favicon.ico",
"logoBackground": "light",
"primaryColor": "#0EA5E9",
"secondaryColor": "#0F172A",
"termsUrl": "https://phevnix.com/terms",
"privacyUrl": "https://phevnix.com/privacy"
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Get the driver's notification preferences
curl 'https://api.proranked.com/emsp/v1/notifications/preferences' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"channels": {
"push": true,
"email": true,
"sms": false
},
"events": {
"sessionStarted": true,
"sessionStopped": true,
"sessionFailed": true,
"reservationReminder": true,
"payment": true
},
"contact": {
"email": "driver@example.com",
"phoneNumber": "+17875551234"
},
"updatedAt": "2026-06-19T18:42:09Z"
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Update the driver's notification preferences
curl -X PUT 'https://api.proranked.com/emsp/v1/notifications/preferences' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"channels": {
"push": true,
"email": true,
"sms": false
},
"events": {
"sessionStarted": true,
"sessionStopped": true,
"sessionFailed": true,
"reservationReminder": true,
"payment": true
},
"contact": {
"email": "driver@example.com",
"phoneNumber": "+17875551234"
},
"updatedAt": "2026-06-19T18:42:09Z"
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Discover how this network handles payment
curl 'https://api.proranked.com/emsp/v1/payments/config' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"paymentMode": "phevnix_managed",
"phevnixBillingAvailable": true,
"provider": "stripe",
"publishableKey": "pk_live_51AbCdEfGhIjKlMnOpQrStUvWx",
"currency": "USD",
"methods": [
"string"
],
"preAuthorizationAmount": 25,
"minimumAmount": 1,
"maximumAmount": 500
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}List the driver's saved cards (phevnix_managed only)
curl 'https://api.proranked.com/emsp/v1/payments/methods' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"paymentMode": "phevnix_managed",
"methods": [
{
"id": "pm_1AbCdEfGhIjKlMnOpQrStUvW",
"brand": "visa",
"last4": "4242",
"expMonth": 12,
"expYear": 2029,
"isDefault": true
}
]
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Begin saving a card — returns a SetupIntent client_secret for the app
curl -X POST 'https://api.proranked.com/emsp/v1/payments/setup-intent' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"clientSecret": "seti_1AbCdEfGhIjKl_secret_MnOpQrStUvWxYz",
"publishableKey": "pk_live_51AbCdEfGhIjKlMnOpQrStUvWx"
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Begin saving a card via a Stripe-HOSTED page — returns a URL the driver opens in a browser
curl -X POST 'https://api.proranked.com/emsp/v1/payments/setup-checkout' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"url": "https://checkout.stripe.com/c/pay/cs_test_a1B2c3D4e5F6"
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Make a saved card the default
curl -X POST 'https://api.proranked.com/emsp/v1/payments/methods/{id}/default' \
-H 'X-API-Key: pr_live_…'{
"error": "payments_not_enabled",
"message": "Payments are not enabled for this network.",
"code": "payments_not_enabled",
"timestamp": "2026-06-19T18:42:09Z"
}Remove a saved card
curl -X DELETE 'https://api.proranked.com/emsp/v1/payments/methods/{id}' \
-H 'X-API-Key: pr_live_…'{
"error": "payments_not_enabled",
"message": "Payments are not enabled for this network.",
"code": "payments_not_enabled",
"timestamp": "2026-06-19T18:42:09Z"
}Report a session's payment status (managed networks capture automatically at stop)
curl -X POST 'https://api.proranked.com/emsp/v1/payments/checkout' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"paymentMode": "phevnix_managed",
"sessionId": "7c6f5e40-1a2b-3c4d-5e6f-7a8b9c0d1e2f",
"sessionStatus": "completed",
"paymentStatus": "captured",
"isFree": false,
"total": 8.45,
"currency": "USD",
"captured": true,
"note": "Capture happens automatically when the session stops; no manual checkout is needed for managed networks. A pre-authorization hold is placed at session start and the final amount is captured on stop."
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Calculate charging cost
Calculates the estimated cost for a charging session based on tariff rates.
curl -X POST 'https://api.proranked.com/emsp/v1/pricing/calculate' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"energyCost": 0,
"timeCost": 0,
"sessionFee": 0,
"idleFee": 0,
"subtotal": 0,
"tax": 0,
"total": 0,
"currency": "string",
"tariffName": "string"
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Register this device's web-push subscription
curl -X POST 'https://api.proranked.com/emsp/v1/push/subscribe' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"status": "subscribed"
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Remove a web-push subscription
curl -X POST 'https://api.proranked.com/emsp/v1/push/unsubscribe' \ -H 'X-API-Key: pr_live_…'
Send a test push to the driver's devices
curl -X POST 'https://api.proranked.com/emsp/v1/push/test' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"sent": 2,
"subscriptions": 2
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Unlock a connector
curl -X POST 'https://api.proranked.com/emsp/v1/remote-control/{chargerId}/unlock' \
-H 'X-API-Key: pr_live_…'{
"data": {
"chargerId": "4b2e9c10-7d8a-4a6e-9b1f-2c3d4e5f6a7b",
"connectorNumber": 1,
"accepted": true,
"reason": "The charger rejected the request.",
"retryable": false
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Ask the charger to re-send a message
curl -X POST 'https://api.proranked.com/emsp/v1/remote-control/{chargerId}/trigger' \
-H 'X-API-Key: pr_live_…'{
"data": {
"chargerId": "4b2e9c10-7d8a-4a6e-9b1f-2c3d4e5f6a7b",
"message": "StatusNotification",
"accepted": true,
"reason": "The charger rejected the request.",
"retryable": false
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Reset a charger
curl -X POST 'https://api.proranked.com/emsp/v1/remote-control/{chargerId}/reset' \
-H 'X-API-Key: pr_live_…'{
"data": {
"chargerId": "4b2e9c10-7d8a-4a6e-9b1f-2c3d4e5f6a7b",
"type": "Soft",
"accepted": true,
"reason": "The charger rejected the request.",
"retryable": false
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Export custom reports
Exports reports in JSON or CSV format. Supported types: daily-sales, by-location, by-user, sessions-summary.
curl 'https://api.proranked.com/emsp/v1/reports/export' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"reportType": "daily-sales",
"generatedAt": "2026-06-19T18:42:09Z",
"fromDate": "2026-05-20T00:00:00Z",
"toDate": "2026-06-19T00:00:00Z",
"format": "json",
"recordCount": 30,
"data": null
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}List reservations
curl 'https://api.proranked.com/emsp/v1/reservations' \ -H 'X-API-Key: pr_live_…'
{
"data": [
{
"id": "a3f9c812-6e7b-4d1a-9f0c-2b3e4d5f6a70",
"chargerId": "4b2e9c10-7d8a-4a6e-9b1f-2c3d4e5f6a7b",
"chargerName": "CP-IslaVerde-01",
"connectorNumber": 1,
"status": "Accepted",
"statusReason": "Rejected by charger",
"idTag": "DRV-7F3A91C2",
"expiryDate": "2026-06-19T19:00:00Z",
"createdAt": "2026-06-19T18:45:00Z",
"cancelledAt": "2026-06-19T18:52:00Z"
}
],
"success": true,
"timestamp": "2026-06-19T18:45:01Z"
}Reserve a connector
Holds a connector for the authenticated driver until the expiry time (OCPP ReserveNow).
curl -X POST 'https://api.proranked.com/emsp/v1/reservations' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"id": "a3f9c812-6e7b-4d1a-9f0c-2b3e4d5f6a70",
"chargerId": "4b2e9c10-7d8a-4a6e-9b1f-2c3d4e5f6a7b",
"chargerName": "CP-IslaVerde-01",
"connectorNumber": 1,
"status": "Accepted",
"statusReason": "Rejected by charger",
"idTag": "DRV-7F3A91C2",
"expiryDate": "2026-06-19T19:00:00Z",
"createdAt": "2026-06-19T18:45:00Z",
"cancelledAt": "2026-06-19T18:52:00Z"
},
"success": true,
"timestamp": "2026-06-19T18:45:01Z"
}Get a reservation
curl 'https://api.proranked.com/emsp/v1/reservations/{id}' \
-H 'X-API-Key: pr_live_…'{
"data": {
"id": "a3f9c812-6e7b-4d1a-9f0c-2b3e4d5f6a70",
"chargerId": "4b2e9c10-7d8a-4a6e-9b1f-2c3d4e5f6a7b",
"chargerName": "CP-IslaVerde-01",
"connectorNumber": 1,
"status": "Accepted",
"statusReason": "Rejected by charger",
"idTag": "DRV-7F3A91C2",
"expiryDate": "2026-06-19T19:00:00Z",
"createdAt": "2026-06-19T18:45:00Z",
"cancelledAt": "2026-06-19T18:52:00Z"
},
"success": true,
"timestamp": "2026-06-19T18:45:01Z"
}Cancel a reservation
curl -X DELETE 'https://api.proranked.com/emsp/v1/reservations/{id}' \
-H 'X-API-Key: pr_live_…'{
"data": {
"id": "a3f9c812-6e7b-4d1a-9f0c-2b3e4d5f6a70",
"chargerId": "4b2e9c10-7d8a-4a6e-9b1f-2c3d4e5f6a7b",
"chargerName": "CP-IslaVerde-01",
"connectorNumber": 1,
"status": "Accepted",
"statusReason": "Rejected by charger",
"idTag": "DRV-7F3A91C2",
"expiryDate": "2026-06-19T19:00:00Z",
"createdAt": "2026-06-19T18:45:00Z",
"cancelledAt": "2026-06-19T18:52:00Z"
},
"success": true,
"timestamp": "2026-06-19T18:45:01Z"
}Get the effective charging limit for a connector
curl 'https://api.proranked.com/emsp/v1/smart-charging/{chargerId}/limit' \
-H 'X-API-Key: pr_live_…'{
"data": {
"chargerId": "4b2e9c10-7d8a-4a6e-9b1f-2c3d4e5f6a7b",
"connectorNumber": 1,
"unit": "A",
"accepted": true,
"schedule": null
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Set a max charging speed for a connector
curl -X PUT 'https://api.proranked.com/emsp/v1/smart-charging/{chargerId}/limit' \
-H 'X-API-Key: pr_live_…'{
"data": {
"chargerId": "4b2e9c10-7d8a-4a6e-9b1f-2c3d4e5f6a7b",
"connectorNumber": 1,
"unit": "A",
"limit": 16,
"profileId": 90001,
"accepted": true,
"reason": "The charger rejected the request.",
"retryable": false
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Clear the driver-set charging limit on a connector
curl -X DELETE 'https://api.proranked.com/emsp/v1/smart-charging/{chargerId}/limit' \
-H 'X-API-Key: pr_live_…'{
"data": {
"chargerId": "4b2e9c10-7d8a-4a6e-9b1f-2c3d4e5f6a7b",
"connectorNumber": 1,
"profileId": 90001,
"accepted": true,
"reason": "The charger rejected the request.",
"retryable": false
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}List available tariffs
curl 'https://api.proranked.com/emsp/v1/tariffs' \ -H 'X-API-Key: pr_live_…'
{
"data": [
{
"id": "d4c3b2a1-6f5e-4d3c-2b1a-0f9e8d7c6b5a",
"name": "Standard AC",
"description": "Default rate for AC chargers.",
"type": "REGULAR",
"currency": "USD",
"isFree": false,
"energyRate": 0.35,
"timeRate": 0,
"idleRate": 0.4,
"sessionFee": 0.5,
"minimumSessionFee": 1,
"maximumSessionFee": 50,
"taxRate": 11.5,
"effectiveFrom": "2026-01-01T00:00:00Z",
"effectiveTo": "2026-12-31T23:59:59Z"
}
],
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Get a tariff
curl 'https://api.proranked.com/emsp/v1/tariffs/{id}' \
-H 'X-API-Key: pr_live_…'{
"data": {
"id": "d4c3b2a1-6f5e-4d3c-2b1a-0f9e8d7c6b5a",
"name": "Standard AC",
"description": "Default rate for AC chargers.",
"type": "REGULAR",
"currency": "USD",
"isFree": false,
"energyRate": 0.35,
"timeRate": 0,
"idleRate": 0.4,
"sessionFee": 0.5,
"minimumSessionFee": 1,
"maximumSessionFee": 50,
"taxRate": 11.5,
"effectiveFrom": "2026-01-01T00:00:00Z",
"effectiveTo": "2026-12-31T23:59:59Z"
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}List transactions
Returns a paginated list of transactions (CDRs) for the network.
curl 'https://api.proranked.com/emsp/v1/transactions' \ -H 'X-API-Key: pr_live_…'
{
"data": [
{
"id": "00000000-0000-0000-0000-000000000000",
"ocpiId": "string",
"sessionId": "00000000-0000-0000-0000-000000000000",
"userId": "00000000-0000-0000-0000-000000000000",
"startTime": null,
"endTime": null,
"totalEnergyKwh": 0,
"amount": 0,
"currency": "string",
"paymentStatus": "string",
"locationName": "string"
}
],
"success": true,
"timestamp": "2026-06-19T18:42:09Z",
"pagination": {
"totalCount": 412,
"page": 1,
"pageSize": 20,
"totalPages": 21,
"hasNextPage": true,
"hasPreviousPage": false
}
}Get transaction details
Returns detailed information about a specific transaction including cost breakdown.
curl 'https://api.proranked.com/emsp/v1/transactions/{id}' \
-H 'X-API-Key: pr_live_…'{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"ocpiId": "string",
"sessionId": "00000000-0000-0000-0000-000000000000",
"userId": "00000000-0000-0000-0000-000000000000",
"startTime": null,
"endTime": null,
"totalEnergyKwh": 0,
"totalTimeMinutes": 0,
"currency": "string",
"paymentStatus": "string",
"locationId": "00000000-0000-0000-0000-000000000000",
"locationName": "string",
"locationAddress": "string",
"chargerUid": "string",
"connectorNumber": 0,
"costBreakdown": {
"energyCost": 0,
"timeCost": 0,
"sessionFee": 0,
"idleFee": 0,
"subtotal": 0,
"tax": 0,
"total": 0
}
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}List users
Returns a paginated list of users in the network.
curl 'https://api.proranked.com/emsp/v1/users' \ -H 'X-API-Key: pr_live_…'
{
"data": [
{
"id": "1ae38f39-2c4b-4d5e-9f10-3a4b5c6d7e8f",
"email": "maya@example.com",
"firstName": "Maya",
"lastName": "Rivera",
"phoneNumber": "+17875551234",
"address": "123 Calle Sol",
"city": "San Juan",
"state": "PR",
"postalCode": "00901",
"country": "US",
"createdAt": "2026-01-15T09:30:00Z",
"lastUpdated": "2026-06-18T14:05:33Z",
"totalSessions": 27,
"totalEnergyKwh": 412.5,
"totalSpent": 186.4,
"currency": "USD"
}
],
"success": true,
"timestamp": "2026-06-19T18:42:09Z",
"pagination": {
"totalCount": 137,
"page": 1,
"pageSize": 20,
"totalPages": 7,
"hasNextPage": true,
"hasPreviousPage": false
}
}Create a new user
Creates a new user/driver in the network. Returns the created user with statistics.
curl -X POST 'https://api.proranked.com/emsp/v1/users' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"id": "1ae38f39-2c4b-4d5e-9f10-3a4b5c6d7e8f",
"email": "maya@example.com",
"firstName": "Maya",
"lastName": "Rivera",
"phoneNumber": "+17875551234",
"address": "123 Calle Sol",
"city": "San Juan",
"state": "PR",
"postalCode": "00901",
"country": "US",
"createdAt": "2026-01-15T09:30:00Z",
"lastUpdated": "2026-06-18T14:05:33Z",
"totalSessions": 27,
"totalEnergyKwh": 412.5,
"totalSpent": 186.4,
"currency": "USD"
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Get user details
Returns detailed information about a user including charging statistics.
curl 'https://api.proranked.com/emsp/v1/users/{id}' \
-H 'X-API-Key: pr_live_…'{
"data": {
"id": "1ae38f39-2c4b-4d5e-9f10-3a4b5c6d7e8f",
"email": "maya@example.com",
"firstName": "Maya",
"lastName": "Rivera",
"phoneNumber": "+17875551234",
"address": "123 Calle Sol",
"city": "San Juan",
"state": "PR",
"postalCode": "00901",
"country": "US",
"createdAt": "2026-01-15T09:30:00Z",
"lastUpdated": "2026-06-18T14:05:33Z",
"totalSessions": 27,
"totalEnergyKwh": 412.5,
"totalSpent": 186.4,
"currency": "USD"
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}Update user information
Updates an existing user's information. Only provided fields are updated.
curl -X PUT 'https://api.proranked.com/emsp/v1/users/{id}' \
-H 'X-API-Key: pr_live_…'{
"data": {
"id": "1ae38f39-2c4b-4d5e-9f10-3a4b5c6d7e8f",
"email": "maya@example.com",
"firstName": "Maya",
"lastName": "Rivera",
"phoneNumber": "+17875551234",
"address": "123 Calle Sol",
"city": "San Juan",
"state": "PR",
"postalCode": "00901",
"country": "US",
"createdAt": "2026-01-15T09:30:00Z",
"lastUpdated": "2026-06-18T14:05:33Z",
"totalSessions": 27,
"totalEnergyKwh": 412.5,
"totalSpent": 186.4,
"currency": "USD"
},
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}List webhook subscriptions
curl 'https://api.proranked.com/emsp/v1/webhooks' \ -H 'X-API-Key: pr_live_…'
{
"data": [
{
"id": "3a1b2c3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d",
"url": "https://example.com/hooks/phevnix",
"events": "session.started,session.completed",
"description": "Billing pipeline hook",
"is_active": true,
"consecutive_failures": 0,
"disabled_at": "2026-06-19T18:42:09Z",
"disabled_reason": "Too many consecutive delivery failures",
"created_at": "2026-06-19T18:42:09Z",
"updated_at": "2026-06-19T18:42:09Z"
}
]
}Create webhook subscription
curl -X POST 'https://api.proranked.com/emsp/v1/webhooks' \ -H 'X-API-Key: pr_live_…'
{
"data": {
"id": "3a1b2c3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d",
"url": "https://example.com/hooks/phevnix",
"events": "session.started,session.completed",
"description": "Billing pipeline hook",
"hmac_secret": "whsec_REDACTED_store_this_value_now",
"is_active": true,
"created_at": "2026-06-19T18:42:09Z"
}
}Update webhook subscription
curl -X PATCH 'https://api.proranked.com/emsp/v1/webhooks/{webhookId}' \
-H 'X-API-Key: pr_live_…'{
"data": {
"id": "3a1b2c3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d",
"url": "https://example.com/hooks/phevnix",
"events": "session.started,session.completed",
"description": "Billing pipeline hook",
"is_active": true,
"consecutive_failures": 0,
"disabled_at": "2026-06-19T18:42:09Z",
"disabled_reason": "Too many consecutive delivery failures",
"created_at": "2026-06-19T18:42:09Z",
"updated_at": "2026-06-19T18:42:09Z"
}
}Delete webhook subscription
curl -X DELETE 'https://api.proranked.com/emsp/v1/webhooks/{webhookId}' \
-H 'X-API-Key: pr_live_…'{
"error": "not_found",
"message": "Webhook subscription not found"
}Send test event to webhook
curl -X POST 'https://api.proranked.com/emsp/v1/webhooks/{webhookId}/test' \
-H 'X-API-Key: pr_live_…'{
"data": {
"webhook_id": "3a1b2c3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d",
"test_enqueued": true
}
}List webhook deliveries
curl 'https://api.proranked.com/emsp/v1/webhooks/{webhookId}/deliveries' \
-H 'X-API-Key: pr_live_…'{
"data": [
{
"id": "6f5e4d3c-2b1a-0e9f-8d7c-6b5a4c3d2e1f",
"event_type": "session.completed",
"http_status": 200,
"success": true,
"status": "Delivered",
"attempts": 1,
"created_at": "2026-06-19T18:42:09Z",
"completed_at": "2026-06-19T18:42:11Z"
}
],
"pagination": {
"page": 1,
"page_size": 20,
"total_count": 57,
"total_pages": 3
}
}Get webhook delivery detail
curl 'https://api.proranked.com/emsp/v1/webhooks/{webhookId}/deliveries/{deliveryId}' \
-H 'X-API-Key: pr_live_…'{
"data": {
"id": "6f5e4d3c-2b1a-0e9f-8d7c-6b5a4c3d2e1f",
"event_type": "session.completed",
"payload": "{\"event\":\"session.completed\",\"sessionId\":\"7c6f5e40-1a2b-3c4d-5e6f-7a8b9c0d1e2f\"}",
"http_status": 200,
"response_body": "OK",
"success": true,
"status": "Delivered",
"attempts": 1,
"max_attempts": 5,
"duration_ms": 142,
"next_retry_at": "2026-06-19T18:47:09Z",
"created_at": "2026-06-19T18:42:09Z",
"completed_at": "2026-06-19T18:42:11Z"
}
}Retry a webhook delivery
curl -X POST 'https://api.proranked.com/emsp/v1/webhooks/{webhookId}/deliveries/{deliveryId}/retry' \
-H 'X-API-Key: pr_live_…'{
"data": {
"delivery_id": "6f5e4d3c-2b1a-0e9f-8d7c-6b5a4c3d2e1f",
"retry_enqueued": true
}
}List available webhook event types
curl 'https://api.proranked.com/emsp/v1/webhooks/event-types' \ -H 'X-API-Key: pr_live_…'
{
"data": [
"string"
]
}