Crafting Great APIs with Domain-Driven Design
Fabrizio Lazzaretti - Wavestone / Annegret Junker - codecentric AG
Most APIs fail not because of technical shortcomings, but because they don’t reflect the business domain they’re meant to serve. We end up with generic CRUD endpoints that leak implementation details, tightly couple consumers to our internal models, and crumble when requirements evolve.
Domain-Driven Design offers a way out—but applying DDD to API design requires more than just naming conventions. It demands a collaborative methodology that bridges the gap between business stakeholders and technical implementation.
In this session, we’ll explore a practical approach to crafting APIs that truly represent your domain. Starting with Domain Stories to capture business workflows, we’ll derive a Visual Glossary that establishes a shared Ubiquitous Language. From there, we’ll use the API Product Canvas to shape APIs as products—with clear boundaries, consumer, and focus.
But great APIs aren’t just request-response. Therefore, this approach covers a streamlined way to identify and design both synchronous and asynchronous APIs.
We’ll walk through a complete design journey: from Business Model Canvas through strategic design with capability mapping and Domain Storytelling, to tactical design with Event Storming and Visual Glossary, and finally to an API specification in OpenAPI or AsyncAPI—accelerated by LLMs.

