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 (SDV).

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 (SDV) systems require vehicle functionality to be designed and evolved differently than in traditional ECU-centric architectures.

Requirements of modern SDV systems

Vehicle functionality must be:

How VAPI addresses these requirements

VAPI structures vehicle functionality as services with a clear separation of concerns:

How to use this documentation#

The documentation follows a progressive flow:

  1. Overview — what VAPI is and how to navigate the docs (you are here)

  2. Concepts — how VAPI thinks and why it is structured this way

  3. Run — see the concepts working in a minimal example

  4. 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#

🧠 Learn the concepts

Understand how VAPI thinks before writing code: services, devices, signals, events and runtime lifecycle.

This is the conceptual bridge between overview and development.

Learn the concepts
🚀 Get something running

Run a minimal example to see how configuration, services and runtime execution work together.

Run your first example
🧱 Build services

Design and implement your own vehicle services: Vehicle Devices, Basic Services and Complex Services.

Build services
🔬 Advanced & reference

Simulation, tooling, integration topics and generated reference material.

Advanced & reference

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 SDV 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.