Automatic Crash Notification (ACN) API Developer Guide
Service Overview
Automatic Crash Notification (ACN) is a telematics service that automatically detects accident situations when a vehicle crash occurs and transmits accident information to the call center or emergency rescue agencies to request rescue.
Service Features
- Automatic accident detection and immediate rescue request
- Manual SOS button for emergency rescue requests
- Transmission of accident location information and detailed data
- Automatic voice call connection
- Improved survival rate through reduced rescue time
Legal Requirements
- EU: Mandatory eCall installation in new vehicles from 2018
- Differences in service methods by country (EU - direct PSAP, US - via OEM)
- Compliance with personal information protection laws
- Priority processing of emergency situations
Key Scenarios
Scenario 1: Automatic Accident Detection and Emergency Call Connection
API Flow by Entity:
🚗 Vehicle (TCU):
- Accident Detection: Detect accidents through airbag deployment or rollover
- Data Collection: Collect MSD (Minimum Set of Data) including GPS, VIN, speed
- Emergency Contact: Immediate voice call connection and data transmission
🏢 Call Center:
- Event Monitoring: Receive accident alerts via SSE
- Incident Creation: Create ACN record and verify location on map
- Rescue Coordination: Request dispatch to rescue agencies (119/112)
📱 App (User):
- Monitoring: Receive accident alerts via SSE
- Status Check: Check current accident status
- System Health: Check ACN system status
Scenario 2: Accident Data Processing and Status Management
API Flow by Entity:
🏢 Call Center:
- Status Management: Check agent availability
- Incident Assignment: Manage assigned incidents
- Statistics Analysis: Monitor ACN processing volume
- History Audit: Query past accident records
🚗 Vehicle (TCU):
- Call Status Transmission: Transmit VCT event when call ends
- Status Update: Transmit accident status change information
- Data Retransmission: Retransmit data in case of communication failure
- System Status Maintenance: Maintain connection with ACN system
📱 App (User App):
- Real-time Status Monitoring: Receive accident processing status via SSE
- Accident Location Check: Display accident location on map
- System Health Status: Monitor system status
Scenario 3: Accident Completion and Follow-up Processing
API Flow by Entity:
🏢 Call Center:
- Incident Closure: Close ACN incident after rescue
- Result Recording: Record final rescue outcomes and closure reasons
📱 App (User):
- Result Check: Check final accident processing result
- History Management: View completed accident history
Key Features
📱 Features to Implement in App
1. ACN System Monitoring
- System Health: Monitor overall ACN system status
- Real-time Alerts: Receive accident alerts via SSE/Push
- Status Query: Check current accident processing status
- History Audit: Query past accident records and results
🏢 Features to Implement in Call Center
1. ACN Incident Management
- Incident Monitoring: Monitor real-time vehicle accidents
- Status Query: Query specific accident details
- Incident Closure: Close incident after investigation
- History Management: Manage past accident records
2. Agent and Statistics Analysis
- Agent Status: Monitor agent availability
- Assigned Incidents: Manage agent workload
- Service Statistics: Analyze overall ACN performance
- System Health: Monitor overall ACN system health
Sequence Diagram
ACN (Automatic Crash Notification) System Flow

API Endpoints
Refer to the Common API Specifications for headers, response codes, and error formats.
ACN Statistics Query
curl -X GET "https://api.ecarus.run/api/v1/safety/acn/stats" \
-H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d"ACN Incident Status Query
curl -X GET "https://api.ecarus.run/api/v1/safety/vehicles/KMHSH81C7LU123456/acn/status?cid=ACN_20260307_001" \
-H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d"ACN Incident History Query
curl -X GET "https://api.ecarus.run/api/v1/safety/vehicles/KMHSH81C7LU123456/acn/history" \
-H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d"ACN Incident Closure
curl -X POST "https://api.ecarus.run/api/v1/safety/vehicles/KMHSH81C7LU123456/acn/close" \
-H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d" \
-H "Content-Type: application/json" \
-d '{
"cid": "ACN_20260307_001",
"closureReason": "EMERGENCY_SERVICES_DISPATCHED",
"result": "SUCCESS",
"agentId": "AGENT_001",
"notes": "All victims rescued and safe."
}'ACN Agent Status Query
curl -X GET "https://api.ecarus.run/api/v1/safety/acn/agents/AGENT_001/status" \
-H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d"Agent Assigned ACN Incidents Query
curl -X GET "https://api.ecarus.run/api/v1/safety/acn/agents/AGENT_001/incidents" \
-H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d"ACN System Status Query
curl -X GET "https://api.ecarus.run/api/v1/safety/acn/system/health" \
-H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d"ACN Real-time Event Reception (SSE)
Note: Recommended to access via browser or use a dedicated SSE client
curl -N -H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d" \
"https://api.ecarus.run/api/v1/safety/acn/events"Data Models
ACN Statistics Response
{
"totalIncidents": 1250,
"activeIncidents": 3,
"resolvedToday": 8,
"averageResponseTime": "4.5 min",
"successRate": 98.2
}ACN Status Response
{
"vin": "KMHSH81C7LU123456",
"cid": "ACN_20260307_001",
"status": "ACTIVE",
"timestamp": "2026-03-07T14:30:00Z",
"location": {
"latitude": 37.4021,
"longitude": 127.1023,
"accuracy": 5.2
},
"severity": "HIGH",
"trigger": "AIRBAG_DEPLOYMENT",
"rescueStatus": "DISPATCHED",
"estimatedArrival": "2026-03-07T14:45:00Z"
}ACN History Response
{
"vin": "KMHSH81C7LU123456",
"incidents": [
{
"cid": "ACN_20260307_001",
"timestamp": "2026-03-07T14:30:00Z",
"severity": "HIGH",
"status": "RESOLVED",
"duration": "45 min",
"trigger": "AIRBAG_DEPLOYMENT",
"location": {
"latitude": 37.4021,
"longitude": 127.1023
},
"resolution": "EMERGENCY_SERVICES_DISPATCHED"
}
],
"total": 1
}ACN Closure Request
{
"cid": "ACN_20260307_001",
"closureReason": "EMERGENCY_SERVICES_DISPATCHED",
"result": "SUCCESS",
"notes": "All victims rescued and safe."
}ACN Closure Response
{
"cid": "ACN_20260307_001",
"status": "CLOSED",
"timestamp": "2026-03-07T15:15:00Z"
}ACN Agent Status Response
{
"agentId": "AGENT_001",
"status": "ACTIVE",
"currentIncidents": 2,
"totalHandled": 145,
"averageHandlingTime": "12.3 min",
"lastActivity": "2026-03-07T14:45:00Z"
}ACN Agent Incidents Response
{
"agentId": "AGENT_001",
"incidents": [
{
"cid": "ACN_20260307_001",
"vin": "KMHSH81C7LU123456",
"severity": "HIGH",
"status": "ACTIVE",
"timestamp": "2026-03-07T14:30:00Z",
"location": {
"latitude": 37.4021,
"longitude": 127.1023
},
"assignedTime": "2026-03-07T14:32:00Z",
"estimatedResolution": "2026-03-07T15:15:00Z"
}
],
"total": 1,
"activeCount": 1
}ACN System Status Response
{
"status": "HEALTHY",
"timestamp": "2026-03-07T15:00:00Z",
"services": {
"psapConnection": "ACTIVE",
"voiceCallService": "ACTIVE",
"dataTransmission": "ACTIVE",
"database": "ACTIVE"
},
"metrics": {
"responseTime": "0.8s",
"uptime": "99.9%",
"activeConnections": 45
}
}ACN Real-time Event (SSE)
{
"type": "INCIDENT_CREATED",
"timestamp": "2026-03-07T14:30:00Z",
"data": {
"cid": "ACN_20260307_001",
"vin": "KMHSH81C7LU123456",
"severity": "HIGH",
"location": {
"latitude": 37.4021,
"longitude": 127.1023,
"accuracy": 5.2
},
"trigger": "AIRBAG_DEPLOYMENT"
}
}Security and Privacy
Authentication and Authorization
- User authentication token required (JWT/OAuth2)
- Vehicle access permission verification
- Emergency situation priority processing permission
Data Security
- All API communication encrypted with HTTPS/TLS
- Additional security measures for accident data transmission
- Sensitive information stored only on server
Privacy Protection
- Explicit consent for accident information collection
- Specify purpose of location information collection in emergency situations
- Compliance with accident data retention period policy
- Guarantee right to data deletion upon user request
Access Control
- VIN-based vehicle access permission verification
- Priority processing of permissions in emergency situations
- Separate authentication procedures for external agency (rescue team) access
Exception Handling
Network Related
- Connection Failure: Support offline mode, cache last status
- Slow Response: Loading indicator, timeout handling
- Server Down: Display error message, suggest retry
Vehicle Status Related
- Vehicle Offline: Display last accident information, notify offline status
- Communication Unavailable: Process delayed accident information, retransmission logic
- Voice Call Failure: Attempt alternative connection methods
Emergency Related
- Location Information Error: Estimate based on last location, Cell ID location correction
- Duplicate Accidents: Filter duplicate events, prioritize latest information
- Unconscious Passengers: Maintain automatic voice call connection
Test Setup
Base URL: https://api.ecarus.run/api/v1/safety
Authentication Token: sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d
Sample VIN: KMHSH81C7LU123456
Use Swagger UI for interactive API testing. Jennifer
Deployment Considerations
App Store Registration
- Request emergency alert permissions
- Clear description of location information collection
- Specify emergency situation service purpose
Legal Regulation Compliance
- Check country-specific eCall service regulations
- Compliance with emergency rescue service related laws
- Compliance with personal information protection laws (especially medical information)
Service Integration
- Integration with PSAP or rescue agencies
- Prepare insurance company linkage services
- Agreement with towing service companies