Alerts
GET /api/alerts
Retrieve a list of all alerts.
Parameters
Parameters should be passed as query parameters on the URL.
startTimestampAfter- ISO 8601 date string to filter the list to only alerts sent after this timealertRecipientIds- Only query for alerts sent to specific recipient IDs. To query for several recipient ids, use the same query parameter several times. For example, '&alertRecipientIds=1&alertRecipientIds=2&alertRecipientIds=3' would query for alert recipients with IDs [1, 2, 3].includeMuted- (Defaults to false) Filter out alerts that were not sent to users.nextPageCursor- When the filters match more than one page of data, pass this paramter to fetch the next page
Response
The JSON response will contain a data field with a list of alerts matching the filters, and a pagination field containing pagination details.
{
data: {
id: number;
type: 'lowBattery' | 'chargingCompleted' | 'chargingSessionError' | 'offlineCharger' | 'lateCharging';
startTimestamp: string; // ISO 8601 format
muted: boolean;
// Alert-specific fields (only one will be populated depending on the alert type)
lowBattery: {
socThreshold: number | null;
socPercent: number | null;
} | null;
chargingCompleted: {
socThreshold: number | null;
socPercent: number | null;
} | null;
chargingSessionError: {
status: string | null; // Charger OCPP status -- available, etc
ocppErrorCode: string | null;
ocppVendorErrorCode: string | null;
ocppInfo: string | null;
errorContext: string | null; // Charging ended early, charging failed to start, etc
} | null;
offlineCharger: {
thresholdMinutes: number | null;
} | null;
lateCharging: {
originalEta: string | null; // ISO 8601 format
currentEta: string | null; // ISO 8601 format
originalDepartureTime: string | null; // ISO 8601 format
currentDepartureTime: string | null; // ISO 8601 format
} | null;
// Additional optional details
chargingSession: {
id: number;
startTime: string; // ISO 8601 format
endTime: string | null; // ISO 8601 format
durationSeconds: number | null;
energyDeliveredKwh: number | null;
socStartPercent: number | null;
socEndPercent: number | null;
} | null;
site: {
id: number;
name: string;
locationId: string | null;
} | null;
charger: {
id: number;
name: string;
manufacturer: string | null;
model: string | null;
networkServiceProvider: string;
chargerType: string;
serialNumber: string | null;
numberOfPorts: number;
latitude: number | null;
longitude: number | null;
externalId: string | null;
ocppId: string | null;
} | null;
port: {
id: number;
name: string;
portNumber: number;
maximumPowerKw: number | null;
} | null;
vehicle: {
id: number;
make: string | null;
model: string | null;
name: string | null;
vin: string | null;
} | null;
organization: {
id: number;
name: string;
} | null;
}
[];
}Example request and response
Request:
curl "https://api.getflipturn.com/api/alerts&alertRecipientIds=1&alertRecipientIds=2&startTimestampAfter=2024-04-30T01:00:07.321Z" -H "Authorization: Bearer {token}"Response:
{
"data": [{
"id": 123,
"type": "lowBattery",
"startTimestamp": "2024-04-30T01:00:07.321Z",
"muted": false,
"lowBattery": {
"socThreshold": 20,
"socPercent": 15
},
"chargingCompleted": null,
"chargingSessionError": null,
"offlineCharger": null,
"lateCharging": null,
"chargingSession": null,
"site": {
"id": 1,
"name": "Site 1",
"locationId": "LOC123"
},
"charger": {
"id": 2,
"name": "Main Charger",
"manufacturer": "ABB",
"model": "Terra 54",
"networkServiceProvider": "Flipturn",
"chargerType": "DCFC",
"serialNumber": "SN123456",
"numberOfPorts": 2,
"latitude": 37.7749,
"longitude": -122.4194,
"externalId": "EXT123",
"ocppId": "OCPP123"
},
"port": {
"id": 3,
"name": "Port A",
"portNumber": 1,
"maximumPowerKw": 50
},
"vehicle": {
"id": 101,
"make": "Proterra",
"model": "ZX5",
"name": "My Car",
"vin": "VIN123456789"
},
"organization": {
"id": 1,
"name": "My Organization"
}
},
// more items
],
"pagination": {
"hasNextPage": true,
"nextPageCursor": "NDMyNDc2"
}
}Last updated