# SAP Cloud Application Programming Model Sitemap

> Build enterprise-grade cloud applications with maximized productivity, fueled by proven best practices, served out of the box.

Semantic sitemap mirroring the full documentation sidebar structure.

## Home

- [SAP Cloud Application Programming Model](/docs/)

## In a Nutshell...

- [In a Nutshell...](/docs/get-started/): Set up your local development environment with Node.js, cds-dk, and optional tools like Java and Visual Studio Code to start building CAP applications.
- [Bookshop Sample](/docs/get-started/bookshop): A step-by-step walkthrough building a simple bookshop application to gain hands-on experience with core CAP concepts and best practices.
- [Core Concepts](/docs/get-started/concepts): An overview of CAP's primary building blocks and core concepts, such as domain-driven modeling, service-centric runtimes, and querying.
- [Key Features](/docs/get-started/features): An introduction to CAP's value propositions, explaining what the framework is and the benefits it brings to enterprise-grade cloud application development.
- [Learn More](/docs/get-started/learn-more): An overview of learning resources for CAP, including the capire documentation, samples, tutorials, and podcasts.
- [Get Help](/docs/get-started/get-help): Support channels and troubleshooting FAQs for getting help with CAP, including how to ask questions, report issues, and file feature requests.

## Guides

- [Guides](/docs/guides/): An index of Cookbook guides covering the most prominent tasks in CAP application development, from domain modeling to deployment.

### Domain Modeling

- [Domain Modeling](/docs/guides/domain/): Introduction to the basics of domain modeling with CDS, complemented with recommended best practices for capturing the essential objects of your domain.
- [Domain Entities](/docs/guides/domain/index#domain-entities)
- [Associations](/docs/guides/domain/index#associations)
- [Aspects](/docs/guides/domain/index#aspects)
- [Managed Data](/docs/guides/domain/index#managed-data)
- [Best Practices](/docs/guides/domain/index#best-practices)
- [Temporal Data](/docs/guides/domain/temporal-data): CAP provides out-of-the-box support for declaring and serving date-effective entities with application-controlled validity, in particular to serve as-of-now and time-travel queries.

### Services & APIs

- [Services & APIs](/docs/guides/services/): Overview of how to define, provide, and consume CAP services, covering generic providers, status flows, constraints, custom code, and media data.
- [Define Provided Services](/docs/guides/services/providing-services): How services are defined in CDS using the service construct to expose data entities and operations as projections on domain models.
- [Served Out-of-the-Box](/docs/guides/services/served-ootb): Overview of CAP's generic service providers that automatically serve CRUD requests, search, pagination, and input validation out of the box.
- [Status Flows](/docs/guides/services/status-flows): How to declaratively model status-transition flows so they're validated and executed reliably without extensive custom coding.
- [Constraints](/docs/guides/services/constraints): How to use declarative constraint annotations to express and enforce domain-specific input validation rules.
- [Event Handlers](/docs/guides/services/custom-code): How to add custom event handlers and service implementations for logic that goes beyond CAP's generic runtime capabilities.
- [Actions & Functions](/docs/guides/services/custom-actions): How to define and implement custom, domain-specific actions and functions in addition to standard CRUD operations.
- [Serving Media Data](/docs/guides/services/media-data): How to serve and stream media and binary data from CAP services using OData V4's media resource support.

### Serving UIs

- [Serving UIs](/docs/guides/uis/): Overview of serving UIs from CAP applications, including localization, localized data, SAP Fiori UIs, and other UI frameworks.
- [Localization / I18n](/docs/guides/uis/i18n): How to internationalize a CAP application by externalizing static texts to localized text bundles.
- [Localized Data](/docs/guides/uis/localized-data): How to declare and serve localized data, automatically fetching translations matching a user's preferred language with fallback support.
- [SAP Fiori UIs](/docs/guides/uis/fiori): How to add SAP Fiori elements apps to a CAP project and annotate service definitions to drive their UIs.
- [Vue.js or React UIs](/docs/guides/uis/vue-react): How to set up a minimal CAP project with a Vue.js or React frontend.

### Databases

- [Databases](/docs/guides/databases/): Overview of how CAP handles database integration generically, from CDS-model compilation to deployment and runtime querying, across supported databases.
- [CAP-Level Database Support](/docs/guides/databases/cap-level-dbs): Reference of portable CQL functions and operators that the CDS compiler translates to database-specific native SQL equivalents.
- [CDL Compiled to DDL](/docs/guides/databases/cdl-to-ddl): Explains how CDS models are compiled to database-specific DDL artifacts like SQL CREATE TABLE statements.
- [Adding Initial Data](/docs/guides/databases/initial-data): How to add .csv files to fill your database with initial and test data, automatically loaded by the CAP runtime.
- Deployed to ...

#### SAP HANA

- [SAP HANA](/docs/guides/databases/hana): How to set up and configure SAP HANA Cloud as the productive database for CAP applications.
- [Using Native Artifacts](/docs/guides/databases/hana-native): Create or use an existing database object (table, view, table function, calculation view) and make use of it in your CDS model, for instance for exposing it in an OData service.

#### SQLite

- [SQLite](/docs/guides/databases/sqlite): How to set up and use SQLite as the recommended in-memory database for fast CAP development and testing.
- [H2 (Java)](/docs/guides/databases/h2): How to use the H2 in-memory database for local development and testing in CAP Java.
- [PostgreSQL](/docs/guides/databases/postgres): How to set up and use PostgreSQL as a database for CAP applications via the @cap-js/postgres service.
- [Schema Evolution](/docs/guides/databases/schema-evolution): How CAP's built-in schema evolution support updates database schemas to reflect changes in CDS models without losing existing data.
- [Performance Guide](/docs/guides/databases/performance): Considerations and advice for CDS modeling with a focus on database query performance, such as avoiding UNION statements.

### Protocols

- [Protocols](/docs/guides/protocols/): Overview of the service protocols supported by CAP, such as OData, OpenAPI, AsyncAPI, and MCP, and how to use them.
- [OData APIs](/docs/guides/protocols/odata): Feature coverage and usage details for serving OData APIs from CAP services, including supported system query options.
- [OpenAPI](/docs/guides/protocols/openapi): About how to publish service APIs in OpenAPI format.
- [AsyncAPI](/docs/guides/protocols/asyncapi): About how to convert events in CDS models to AsyncAPI documentation.

### Native AI

- [Native AI](/docs/guides/ai/)
- [Vector Embeddings](/docs/guides/ai/embeddings): How to store and generate vector embeddings in CDS models to enable semantic search and other generative AI features.
- [MCP Services](/docs/guides/ai/cap-mcp)
- [CAP Agents](/docs/guides/ai/cap-agents)
- [The Xtravels Sample](/docs/guides/ai/xtravels-sample)
- [Joule Integration](/docs/guides/ai/joule-integration)

### Integration

- [Integration](/docs/guides/integration/): Overview of CAP-level service integration, data federation, and platform integration patterns available to CAP projects.
- [CAP-level Service Integration](/docs/guides/integration/calesi): Introduces the 'Calesi' pattern for integrating remote services as CAP services, consumed as if they were local and mocked out of the box.
- [CAP-level Data Federation](/docs/guides/integration/data-federation): Core concepts and techniques for federating and integrating data from multiple external data sources in CAP applications.
- [Inner Loop Development](/docs/guides/integration/inner-loops): How swapping production-grade services with local mocks enables fast inner-loop development and decoupled parallel work across teams.
- [Reuse & Compose](/docs/guides/integration/reuse-and-compose): How to reuse and compose solutions from modular CAP projects, adapting imported content with solution-specific projections and extensions.

### Events & Messaging

- [Events & Messaging](/docs/guides/events/): Introduces CAP's intrinsic support for emitting and receiving events, complemented by Messaging Services that connect to message brokers to exchange event messages with remote services.
- [Core Concepts](/docs/guides/events/core-concepts): This guides introduces CAP's intrinsic support for emitting and receiving events in the very core of the runtimes' processing models.
- [Event Queues](/docs/guides/events/event-queues): Transactional Event Queues let you persist events and scheduled tasks in the same database transaction as your business data, then process them asynchronously with retries and a dead letter queue.
- [Messaging](/docs/guides/events/messaging): How CAP's Messaging Services connect to message brokers to exchange event messages with remote services, complementing CAP's intrinsic event support.
- [Advanced Event Mesh](/docs/guides/events/is-aem): CAP provides out-of-the-box support for SAP Integration Suite, advanced event mesh, via CAP plugins for Node.js and Java.
- [SAP Event Mesh](/docs/guides/events/event-mesh): Using SAP Event Mesh service on SAP Business Technology Platform (BTP) as a messaging channel in CAP applications.
- [SAP Event Hub](/docs/guides/events/event-hub): Using SAP Cloud Application Event Hub service on SAP Business Technology Platform (BTP) as a messaging channel in CAP applications.
- [Events from S/4](/docs/guides/events/s4): Receiving events from SAP S/4HANA Cloud systems via SAP Event Mesh as well as SAP Cloud Application Event Hub.

### Security & Data Privacy

- [Security & Data Privacy](/docs/guides/security/): This guide teaches how to develop, deploy and operate CAP applications in a secure way.
- [Concepts & Architecture](/docs/guides/security/overview): This section provides an overview of the security concepts and architecture of CAP applications on different platforms.

#### Authentication

- [Authentication](/docs/guides/security/authentication): This guide explains how to authenticate CAP services.
- [Users & Roles](/docs/guides/security/cap-users): This guide introduces CAP user abstraction and role assignments.
- [Outbound Authentication](/docs/guides/security/remote-authentication): This guide explains how to authenticate when calling remote services.

#### Authorization

- [Authorization](/docs/guides/security/authorization): This guide explains how to restrict access to data by adding respective declarations to CDS models, which are then enforced by CAP's generic service providers.

#### Data Privacy

- [Data Privacy](/docs/guides/security/data-privacy): This guide discusses how CAP helps applications to comply with data privacy regulations imposed by various laws and standards.
- [Personal Data](/docs/guides/security/dpp-annotations): How to identify entities and elements holding personal data using @PersonalData annotations, to automate audit logging, personal data management, and data retention management.
- [Audit Logging](/docs/guides/security/dpp-audit-logging): The Audit Logging plugin provides out-of-the box support for automatic audit logging of data privacy-related events, in particular changes to personal data and reads of sensitive data.
- [Personal Data Manager](/docs/guides/security/dpp-pdm): The Personal Data Management (PDM) guide explains how to integrate your CAP application with the SAP Personal Data Manager service to respond to data subject requests about their personal data stored in your application.

#### Product Security

- [Product Security](/docs/guides/security/data-protection): CAP provides several features to ensure data protection that meet industry standards and regulatory requirements.

### Extensibility

- [Extensibility](/docs/guides/extensibility/): Learn here about intrinsic capabilities to extend your applications in verticalization and customization scenarios.
- [Extending SaaS Apps](/docs/guides/extensibility/customization): This guide explains how subscribers of SaaS applications can extend these on tenant level, thereby customizing them for their specific needs.
- [Feature Toggles](/docs/guides/extensibility/feature-toggles): Toggled features are pre-built extensions built by the provider of a SaaS application, which can be switched on selectively per subscriber.

### Deployment

- [Deployment](/docs/guides/deploy/): Overview of deployment options for CAP applications.
- [Deploy to Cloud Foundry](/docs/guides/deploy/to-cf): A comprehensive guide on deploying applications built with SAP Cloud Application Programming Model (CAP) to SAP BTP Cloud Foundry environment.
- [Deploy to Kyma/K8s](/docs/guides/deploy/to-kyma): A step-by-step guide on how to deploy a CAP (Cloud Application Programming Model) application to Kyma Runtime of SAP Business Technology Platform.
- [Deploy with CI/CD](/docs/guides/deploy/cicd): A comprehensive guide to implementing continuous integration and continuous deployment (CI/CD) for CAP projects using best practices, tools, and services.
- [Microservice Architectures](/docs/guides/deploy/microservices): A guide on deploying SAP Cloud Application Programming Model (CAP) applications as microservices to the SAP BTP Cloud Foundry environment.
- [Multi-tenant SaaS Apps](/docs/guides/multitenancy/): Introducing the fundamental concepts of multitenancy, underpinning SaaS solutions in CAP. It describes how to run and test apps in multitenancy mode with minimized setup and overhead.
- [MTX Services Reference](/docs/guides/multitenancy/mtxs): API reference for multitenancy and extensibility.
- [Monitoring / Health Checks](/docs/guides/deploy/health-checks): The guide provides an overview of health checks that are available on Cloud Foundry and Kubernetes, how to configure them, as well as the respective defaults of the two CAP stacks.
- [Custom Build Tasks](/docs/guides/deploy/build): The guide provides an overview of custom build processes for CAP projects, explaining how to tailor the standard build process to specific project requirements.

## CDS

- [CDS](/docs/cds/): Core Data Services (CDS) is CAP's modeling language for declaratively capturing service definitions, data models, queries, and expressions.

### Definition Language (CDL)

- [Definition Language (CDL)](/docs/cds/cdl): Specification of the definition language used to model data models and services in an easy, user-centric syntax, including a reference and overview of all CDS concepts and features with compact examples.
- [Keywords & Identifiers](/docs/cds/cdl#keywords--identifiers)
- [Built-in Types & Literals](/docs/cds/cdl#built-in-types)
- [Entities & Type Definitions](/docs/cds/cdl#entities--type-definitions)
- [Views & Projections](/docs/cds/cdl#views--projections)
- [Associations](/docs/cds/cdl#associations)
- [Annotations](/docs/cds/cdl#annotations)
- [Aspects](/docs/cds/cdl#aspects)
- [Services](/docs/cds/cdl#services)

### Schema Notation (CSN)

- [Schema Notation (CSN)](/docs/cds/csn): Specification of CSN, CDS' canonical format for representing CDS models as plain JavaScript objects, similar to JSON Schema.
- [Query Language (CQL)](/docs/cds/cql): Specification of the CDS Query Language (aka CQL) which is an extension of the standard SQL SELECT statement.
- [Query Notation (CQN)](/docs/cds/cqn): Specification of the Core Query Notation (CQN) format that is used to capture queries as plain JavaScript objects.
- [Expression Language (CXL)](/docs/cds/cxl): Specification of the CDS Expression Language (CXL) used to capture expressions in CDS.
- [Expression Notation (CXN)](/docs/cds/cxn): Specification of the Core Expression Notation (CXN) used to capture expressions as plain JavaScript objects.
- [Core / Built-in Types](/docs/cds/types): Find here a brief overview of the predefined types shipped with CDS.
- [Common Reuse Types](/docs/cds/common): Introduces @sap/cds/common, a prebuilt CDS model shipped with @sap/cds that provides common types and aspects.
- [Common Annotations](/docs/cds/annotations): Find here a reference and glossary of common annotations intrinsically supported by the CDS compiler and runtimes.
- [Compiler Messages](/docs/cds/compiler/messages): Explanations for certain CDS compiler messages.
- [Aspect-oriented Modelling](/docs/cds/aspects): Discusses the differences of the mixin-based approach of Aspects to inheritance as known from languages like Java.
- [The Nature of CDS Models](/docs/cds/models): Introduces the fundamental principles of CDS models.

## Node.js

- [Node.js](/docs/node.js/): Reference documentation for the CAP Service SDK for Node.js, covering how to implement domain-specific custom logic.
- [The cds Facade](/docs/node.js/cds-facade): Reference for the cds façade object, the single entry point providing access to all CAP Node.js APIs.

### cds. compile()

- [cds. compile()](/docs/node.js/cds-compile): Reference for cds.compile, the API used to parse and compile CDS models into various target formats.
- [cds. compile()](/docs/node.js/cds-compile#cds-compile-)
- [cds. compile.to ...](/docs/node.js/cds-compile#cds-compile-to-)
- [cds. load()](/docs/node.js/cds-compile#cds-load)
- [cds. parse()](/docs/node.js/cds-compile#cds-parse)
- [cds. minify()](/docs/node.js/cds-compile#cds-minify)
- [cds. resolve()](/docs/node.js/cds-compile#cds-resolve)

### cds. linked()

- [cds. linked()](/docs/node.js/cds-reflect): Find here information about reflecting parsed CDS models in CSN representation.
- [Class LinkedCSN](/docs/node.js/cds-reflect#linked-csn)
- [Class LinkedDefinitions](/docs/node.js/cds-reflect#iterable)
- [Class LinkedDefinition](/docs/node.js/cds-reflect#any)
- [Class cds. service](/docs/node.js/cds-reflect#cds-service)
- [Class cds. entity](/docs/node.js/cds-reflect#cds-entity)
- [Class cds. struct](/docs/node.js/cds-reflect#cds-struct)
- [Class cds. Association](/docs/node.js/cds-reflect#cds-association)
- [cds. linked. classes](/docs/node.js/cds-reflect#cds-linked-classes)

### cds. server

- [cds. server](/docs/node.js/cds-server): How CAP Node.js servers are bootstrapped via the built-in server.js module and cds serve CLI command, including custom bootstrapping.
- [cds. serve()](/docs/node.js/cds-serve): Reference for cds.serve(), used to construct and expose service providers from CDS service definitions.
- [cds. connect()](/docs/node.js/cds-connect): Reference for cds.connect.to(), used to connect to local or external required services configured in cds.requires.

### Class cds. Service

- [Class cds. Service](/docs/node.js/core-services): How CAP applications provide and consume services, covering service definitions, implementations, and event handlers.
- [Class cds. ApplicationService](/docs/node.js/app-services): Reference for class cds.ApplicationService, the default service provider implementation adding CAP's generic handlers.
- [Class cds. RemoteService](/docs/node.js/remote-services): Class cds.RemoteService is a service proxy class to consume remote services via different [protocols](cds-serve#cds-protocols), like OData or plain REST.
- [Class cds. MessagingService](/docs/node.js/messaging): Learn details about using messaging services and outbox for asynchronous communications.
- [Class cds. DatabaseService](/docs/node.js/databases): Class cds.DatabaseService and subclasses thereof are technical services representing persistent storage.

### cds. Events

- [cds. Events](/docs/node.js/events): Reference for accessing the current event context, such as tenant, user, and locale, via cds.context.
- [cds. context](/docs/node.js/events#cds-context)
- [Class cds. EventContext](/docs/node.js/events#cds-event-context)
- [Class cds. Event](/docs/node.js/events#cds-event)
- [Class cds. Request](/docs/node.js/events#cds-request)
- [Error Handling](/docs/node.js/events#req-reject)

### cds. Queries

- [cds. Queries](/docs/node.js/cds-ql): Reference for cds.ql, the module for constructing CQN queries in Node.js using fluent API and tagged template literal styles.
- [SELECT](/docs/node.js/cds-ql#select)
- [INSERT](/docs/node.js/cds-ql#insert)
- [UPSERT](/docs/node.js/cds-ql#upsert)
- [UPDATE](/docs/node.js/cds-ql#update)
- [DELETE](/docs/node.js/cds-ql#delete)
- [Expressions](/docs/node.js/cds-ql#expressions)

### cds. log()

- [cds. log()](/docs/node.js/cds-log): Reference for cds.log, CAP's minimalistic logging facade for obtaining and configuring loggers.
- [cds. i18n](/docs/node.js/cds-i18n): Reference for the cds.i18n module, used for localizing UIs and runtime error messages, and directly in custom code.
- [cds. env](/docs/node.js/cds-env): Learn here about using cds.env to specify and access configuration options for the Node.js runtimes as well as the @sap/cds-dk CLI commands.
- [cds. utils](/docs/node.js/cds-utils): Reference for cds.utils, a module of common utility functions such as UUID generation and file access.
- [Event Queues](/docs/node.js/event-queues): Node.js APIs and configuration for CAP's Transactional Event Queues — cds.queued, cds.unqueued, srv.schedule, cds.flush, callbacks, and queue configuration.
- [Serving Fiori UIs](/docs/node.js/fiori): Reference for SAP Fiori draft support in CAP, including draft-enabled entities.
- [Transactions](/docs/node.js/cds-tx): How CAP automatically manages database transactions, principal propagation, and tenant isolation for service requests.
- [Security](/docs/node.js/authentication): This guide is about authenticating users on incoming HTTP requests.
- [Plugins](/docs/node.js/cds-plugins): How the cds-plugin technique lets packages provide auto-configured extensions loaded automatically by CAP Node.js servers.
- [Testing](/docs/node.js/cds-test): Reference for cds.test, CAP's testing utility for writing and running tests against CAP services.
- [Streaming](/docs/node.js/streaming): How to use streaming in CAP Node.js applications to process large datasets with minimal memory usage.
- [TypeScript](/docs/node.js/typescript): How to enable and use TypeScript in a CAP Node.js project.
- [Best Practices](/docs/node.js/best-practices): Learn about Node.js best practices.

## Java

- [Java](/docs/java/): Reference documentation for the CAP Service SDK for Java.
- [Getting Started](/docs/java/getting-started): How to start a new CAP Java project and how to run it locally.
- [Versions & Dependencies](/docs/java/versions): Learn in this chapter about CAP Java versions and their dependencies.
- [Working with CDS Models](/docs/java/reflection-api): The Model Reflection API is a set of interfaces, which provide the ability to introspect a CDS model and retrieve details on the services, types, entities, and their elements that are defined by the model.
- [Working with CDS Data](/docs/java/cds-data): This section describes how CDS data is represented and used in CAP Java.

### Working with CDS CQL

- [Working with CDS CQL](/docs/java/working-with-cql/): Learn here about working with CDS CQL.
- [Build CQL Statements](/docs/java/working-with-cql/query-api): API to fluently build CQL statements in Java.
- [Execute CQL Statements](/docs/java/working-with-cql/query-execution): API to execute CQL statements on services accepting CQN queries.
- [Introspect CQL Statements](/docs/java/working-with-cql/query-introspection): API to introspect CDS Query Language (CQL) statements in Java.

### Services

- [Services](/docs/java/services): Introduces Services, one of the core concepts of CAP, describing how they're represented in the CAP Java SDK and how their event-based APIs, including the uniform query API based on CQN statements, can be used.

### CQN Services

- [CQN Services](/docs/java/cqn-services/): Introduces CQN Services, the core services of CAP that deal with CDS data, providing a uniform query API based on CQN statements.
- [Persistence Services](/docs/java/cqn-services/persistence-services): How CQN-based Persistence Services are created from datasources to supported database types and used as database clients.
- [Application Services](/docs/java/cqn-services/application-services): How to add business logic to Application Services — the APIs a CAP application exposes to its clients, for example through OData — by extending CRUD events and implementing actions and functions.
- [Remote Services](/docs/java/cqn-services/remote-services): Remote Services are CQN-based clients to remote APIs that a CAP application consumes. This section describes how to configure and use these services.

### Event Handlers

- [Event Handlers](/docs/java/event-handlers/): How to register event handlers on services to extend or override the processing of CRUD events, actions, functions, and asynchronous messaging events.
- [Indicating Errors](/docs/java/event-handlers/indicating-errors): Learn about the error handling capabilities provided by the CAP Java SDK.
- [Request Contexts](/docs/java/event-handlers/request-contexts): Request Contexts span the execution of multiple events on (different) services. They provide a common context to these events, by providing user or tenant information or access to headers or query parameters.
- [ChangeSet Contexts](/docs/java/event-handlers/changeset-contexts): ChangeSet Contexts are an abstraction around transactions. This chapter describes how ChangeSets are related to transactions and how to manage them with the CAP Java SDK.

### Event Queues

- [Event Queues](/docs/java/event-queues): Java APIs and configuration for CAP's Transactional Event Queues — OutboxService, AsyncCqnService, scheduling, custom outbox services, error handling, and event versioning.
- [AI Integration](/docs/java/ai): This section describes AI integration in CAP Java: building agents on top of your CDS services and configuring the LLM chat models they use.
- [Fiori Drafts](/docs/java/fiori-drafts): This section describes which events occur in combination with SAP Fiori Drafts.
- [Messaging](/docs/java/messaging): How CAP's publish-subscribe-based Messaging support enables asynchronous communication with one or many receivers that may be unknown or unavailable at the time of sending.
- [Audit Logging](/docs/java/auditlog): Find here information about the AuditLog service in CAP Java.
- [Change Tracking](/docs/java/change-tracking): Find here information about the change tracking feature in CAP Java.
- [Multitenancy](/docs/java/multitenancy): How CAP Java applications run as software as a service (SaaS) for multiple isolated subscriber tenants, who may optionally extend their served CDS models.
- [Security](/docs/java/security): Describes authentication and authorization specific for CAP Java.

### Spring Boot Integration

- [Spring Boot Integration](/docs/java/spring-boot-integration): This section shows how CAP Java is smoothly integrated with Spring Boot.
- [CAP plugins w/o CDS Model](/docs/java/cap-plugins-in-spring-boot-apps): This guide shows how Spring Boot applications that run without a CDS model can integrate with service offerings on SAP BTP by using CAP plugins without a full migration to CAP Java.

### Developing Applications

- [Developing Applications](/docs/java/developing-applications/): Learn here about developing a CAP Java application.
- [Building](/docs/java/developing-applications/building): How to create a CAP Java project from scratch, build it with Maven, and modify an existing project using the CDS Maven plugin.
- [Running](/docs/java/developing-applications/running): This section describes various options how to run CAP Java applications locally
- [Testing](/docs/java/developing-applications/testing): This section describes how to test CAP Java applications on different level.
- [Configuring](/docs/java/developing-applications/configuring): This section describes how to configure CAP Java applications.
- [CDS Properties](/docs/java/developing-applications/properties): Reference of all configuration properties available for configuring CAP Java applications via application.yml.

### Operating Applications

- [Operating Applications](/docs/java/operating-applications/): Learn here about operating a CAP Java application.
- [Optimizing](/docs/java/operating-applications/optimizing): This section describes how to optimize resource consumption of productive CAP Java applications.
- [Observability](/docs/java/operating-applications/observability): Presents a set of recommended tools that help to understand the current status of running CAP services.
- [Developer Dashboard](/docs/java/operating-applications/dashboard): This section describes how the CAP Developer Dashboard can be set up in both the local and cloud development environment to improve the developer experience.

### Building Plugins

- [Building Plugins](/docs/java/building-plugins): A collection of different mechanisms that can be used to build plugins for CAP Java.
- [Migration Guides](/docs/java/migration): This chapter contains comprehensive guides that help you to work through migrations such as from CAP Java 1.x to CAP Java 2.x.

## Tools

- [Tools](/docs/tools/): Overview of the command-line and IDE tools available for developing CAP applications.
- [Command Line Interface](/docs/tools/cds-cli): Available commands of the cds command line client.
- [Hybrid Testing w/ cds bind](/docs/tools/cds-bind): How to locally test your application with real cloud services.
- [Editors & IDEs](/docs/tools/cds-editors): Supported development environments (IDEs) and features of the CDS language editor.
- [CDS 2 TypeScript](/docs/tools/cds-typer): This page explains the package cds-typer in depth.

### CLI Plugin APIs

- [CLI Plugin APIs](/docs/tools/apis/): APIs of the @sap/cds-dk package like cds.import.
- [cds. add()](/docs/tools/apis/cds-add): Learn how to create a cds add plugin.
- [cds. import()](/docs/tools/apis/cds-import): Programmatically use cds.import.
- [cds. build()](/docs/tools/apis/cds-build): The guide provides an overview of custom build processes for CAP projects, explaining how to tailor the standard build process to specific project requirements.

## Plugins

- [Plugins](/docs/plugins/): A curated list of CAP plugins that integrate with SAP BTP services and other SAP products.
- [OData v2 Adapter](/docs/plugins/index#odata-v2-proxy)
- [WebSocket](/docs/plugins/index#websocket)
- [UI5 Dev Server](/docs/plugins/index#ui5-dev-server)
- [GraphQL Adapter](/docs/plugins/index#graphql-adapter)
- [Attachments](/docs/plugins/index#attachments)
- [SAP Document Management](/docs/plugins/index#@cap-js/sdm)
- [Audit Logging](/docs/plugins/index#audit-logging)
- [Data Privacy](/docs/plugins/index#data-privacy)
- [Change Tracking](/docs/plugins/index#change-tracking)
- [Notifications](/docs/plugins/index#notifications)
- [Telemetry](/docs/plugins/index#telemetry)
- [Open Resource Discovery](/docs/plugins/index#ord-open-resource-discovery)
- [CAP Operator for K8s](/docs/plugins/index#cap-operator-plugin)
- [SAP Cloud Appl. Event Hub](/docs/plugins/index#event-hub)
- [Advanced Event Mesh](/docs/plugins/index#advanced-event-mesh)
- [Process Automation](/docs/plugins/index#sap-build-process-automation)
- [Data Inspector](/docs/plugins/index#data-inspector)
- [AI](/docs/plugins/index#ai)
- [n8n](/docs/plugins/index#n8n)

## Releases

- [Releases](/docs/releases/): Overview of CAP's latest and major release notes, the release schedule, and the meaning of documentation status badges.
- [Release Schedule](/docs/releases/schedule): Explains CAP's yearly major, monthly minor, and patch release schedule, along with active, maintenance, and end-of-life status definitions.
- [September 2026](/docs/releases/2026/sep26)
- [June 2026](/docs/releases/2026/jun26)
- [April 2026](/docs/releases/2026/apr26)
- [February 2026](/docs/releases/2026/feb26)
- [January 2026](/docs/releases/2026/jan26)
- [December 2025](/docs/releases/2025/dec25)
- [November 2025](/docs/releases/2025/nov25)
- [September 2025](/docs/releases/2025/sep25)
- [August 2025](/docs/releases/2025/aug25)
- [July 2025](/docs/releases/2025/jul25)
- [June 2025](/docs/releases/2025/jun25)
- [May 2025](/docs/releases/2025/may25)

### Archive...

#### 2025

- [April 2025](/docs/releases/2025/apr25)
- [March 2025](/docs/releases/2025/mar25)
- [February 2025](/docs/releases/2025/feb25)
- [January 2025](/docs/releases/2025/jan25)

#### 2024

- [December 2024](/docs/releases/2024/dec24)
- [November 2024](/docs/releases/2024/nov24)
- [October 2024](/docs/releases/2024/oct24)
- [September 2024](/docs/releases/2024/sep24)
- [August 2024](/docs/releases/2024/aug24)
- [July 2024](/docs/releases/2024/jul24)
- [June 2024](/docs/releases/2024/jun24)
- [May 2024](/docs/releases/2024/may24)
- [April 2024](/docs/releases/2024/apr24)
- [March 2024](/docs/releases/2024/mar24)
- [February 2024](/docs/releases/2024/feb24)
- [January 2024](/docs/releases/2024/jan24)
- [Changelog 2024](/docs/releases/2024/changelog)

#### 2023

- [December 2023](/docs/releases/2023/dec23)
- [November 2023](/docs/releases/2023/nov23)
- [September 2023](/docs/releases/2023/sep23)
- [August 2023](/docs/releases/2023/aug23)
- [July 2023](/docs/releases/2023/jul23)
- [June 2023](/docs/releases/2023/jun23)
- [April 2023](/docs/releases/2023/apr23)
- [March 2023](/docs/releases/2023/march23)
- [February 2023](/docs/releases/2023/feb23)
- [January 2023](/docs/releases/2023/jan23)
- [Changelog 2023](/docs/releases/2023/changelog)

#### 2022

- [December 2022](/docs/releases/2022/dec22)
- [October 2022](/docs/releases/2022/oct22)
- [September 2022](/docs/releases/2022/sep22)
- [August 2022](/docs/releases/2022/aug22)
- [June 2022](/docs/releases/2022/jun22)
- [April 2022](/docs/releases/2022/apr22)
- [March 2022](/docs/releases/2022/mar22)
- [February 2022](/docs/releases/2022/feb22)
- [Changelog 2022](/docs/releases/2022/changelog)

#### 2021

- [December 2021](/docs/releases/2021/dec21)
- [November 2021](/docs/releases/2021/nov21)
- [October 2021](/docs/releases/2021/oct21)
- [August 2021](/docs/releases/2021/aug21)
- [July 2021](/docs/releases/2021/july21)
- [May 2021](/docs/releases/2021/may21)
- [March 2021](/docs/releases/2021/mar21)
- [February 2021](/docs/releases/2021/feb21)
- [January 2021](/docs/releases/2021/jan21)
- [Changelog 2021](/docs/releases/2021/changelog)

#### 2020

- [November 2020](/docs/releases/2020/nov20)
- [October 2020](/docs/releases/2020/oct20)
- [September 2020](/docs/releases/2020/sep20)
- [August 2020](/docs/releases/2020/aug20)
- [July 2020](/docs/releases/2020/july20)
- [June 2020](/docs/releases/2020/jun20)
- [May 2020](/docs/releases/2020/may20)
- [April 2020](/docs/releases/2020/apr20)
- [March 2020](/docs/releases/2020/mar20)
- [February 2020](/docs/releases/2020/feb20)
- [Changelog 2020](/docs/releases/2020/changelog)

#### 2018-2019

- [2018-2019](/docs/releases/2018-19/all)

### Changelogs

- [Changelog 2026](/docs/releases/2026/changelog)
- [Changelog 2025](/docs/releases/2025/changelog)

### Migration Guides

- [Migration Guides](/docs/releases/migration/cds10): Guidance for migrating CAP Node.js applications to cds 10, covering breaking fixes, kill switches, and non-breaking changes.

## Resources

- [Resources](/docs/resources/): Entry point for CAP resources and support, linking to community, help, and related information.
- [CAP Events](/docs/resources/events): All available information on past and future CAP events.
- [CAP License](/docs/resources/cap-license): Answers to frequently asked questions about the SAP Developer License 3.2 CAP and its benefits for customer-productive use.
- [Privacy](/docs/resources/privacy)
- [Cookies](/docs/resources/cookies)
