Open Vehicle API (VAPI)#
Open Vehicle API (VAPI) provides a structured way to design and run vehicle functions as independent, signal- and event-driven services in a Software Defined Vehicle (Eclipse Open Vehicle-API).
This page gives you the big picture and helps you decide where to start, based on what you want to do next.
What problem does VAPI solve?#
Modern Software Defined Vehicle (Eclipse Open Vehicle-API) systems require vehicle functionality to be designed and evolved differently than in traditional ECU-centric architectures.
Vehicle functionality must be:
Modular → independent building blocks that can evolve separately
Testable in simulation → logic must run without physical hardware
Decoupled from hardware and deployment → behavior should not depend on where or how it is deployed
Composable into higher‑level vehicle behavior → simple features combined into complete vehicle functions
VAPI structures vehicle functionality as services with a clear separation of concerns:
Hardware abstraction → handled by Vehicle Devices
Business logic → implemented in Basic and Complex Services
(see Components & Services)
Configuration → structure and wiring defined via IDL and TOML
(see A view under the hood)
Runtime execution → event‑ and signal‑driven processing with explicit lifecycle
How to use this documentation#
The documentation follows a progressive flow:
Overview — what VAPI is and how to navigate the docs (you are here)
Concepts — how VAPI thinks and why it is structured this way
Run — see the concepts working in a minimal example
Build — implement your own vehicle services
You do not need to read everything at once. Choose the path that matches your goal.
Choose your entry point#
Understand how VAPI thinks before writing code: services, devices, signals, events and runtime lifecycle.
This is the conceptual bridge between overview and development.
Run a minimal example to see how configuration, services and runtime execution work together.
Design and implement your own vehicle services: Vehicle Devices, Basic Services and Complex Services.
Simulation, tooling, integration topics and generated reference material.
How everything fits together#
At a high level, VAPI works as follows:
Vehicle Devices abstract hardware or simulation
Basic Services implement atomic vehicle logic
Complex Services orchestrate multiple services
Signals represent state, events represent change
Configuration (IDL / TOML) defines structure and wiring
Runtime execution processes events and dispatches data
VAPI enforces a clear lifecycle: configuration happens before any service logic is executed. This enables deterministic startup, simulation-first workflows and clean separation of concerns.
All of these concepts are explained step by step in Learn the concepts.
Typical next steps#
Depending on your goal, continue with one of the following:
New to VAPI → Start with Learn the concepts Learn the mental model before touching code.
Want quick feedback → Go to Run your first example Run an example and observe runtime behavior.
Ready to build → Jump to Build services Implement your own vehicle functionality.
Project scope#
Open Vehicle API (VAPI) is part of the shift2sdv initiative and is designed to be used, explored and adopted by Eclipse Open Vehicle-API teams building service-based vehicle functionality.
The framework evolves through real usage and feedback, and the documentation is structured to support both quick onboarding and deeper architectural understanding.