These tables list the features available in Data API builder (DAB).
Database version
| Database |
Abbreviation |
Min. Version |
| SQL Server |
MSSQL |
Version 2016 |
| Azure SQL Database |
MSSQL |
N/A (PaaS) |
| Azure SQL Managed Instance |
MSSQL |
N/A (PaaS) |
| SQL Server on Azure VMs |
MSSQL |
Version 2016 |
| Arc-enabled SQL Server |
MSSQL |
Version 2016 |
| SQL database in Fabric |
MSSQL |
N/A (PaaS) |
| Azure Cosmos DB for NoSQL |
COSMOSDB |
N/A (PaaS) |
| PostgreSQL |
PGSQL |
Version 11 |
| Azure Database for PostgreSQL Flexible Server |
PGSQL |
Version 11 |
| MySQL |
MySQL |
Version 8 |
| Azure Database for MySQL Flexible Server |
MySQL |
Version 5.7 |
| Azure Synapse Analytics (Dedicated SQL pool) |
DWSQL¹ |
N/A (PaaS) |
Default transaction isolation levels
Data API builder uses the following default transaction isolation levels.
| Database type |
Isolation level |
More information |
| Microsoft SQL |
Read Committed |
Azure SQL |
| PostgreSQL |
Read Committed |
PostgreSQL |
| MySQL |
Repeatable Read |
MySQL |
Cloud and hosting environments
Data API builder runs in any environment with container support. The following are common cloud deployment targets:
| Environment |
Supported |
| Microsoft Azure |
✅ Yes |
| Amazon Web Services (AWS) |
✅ Yes |
| Google Cloud Platform (GCP) |
✅ Yes |
| Any other cloud provider |
✅ Yes |
| On-premises |
✅ Yes |
GraphQL
| Feature |
MSSQL |
Cosmos |
PGSQL |
MySQL |
DWSQL¹ |
| Pagination |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
| Throttling |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
| Filtering |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
| Aggregation |
✅ Yes |
✖️ No |
✖️ No |
✖️ No |
✅ Yes |
| Sorting |
✅ Yes |
✖️ No |
✅ Yes |
✅ Yes |
✅ Yes |
| Selection |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
| Query-type |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
| Mutation-type |
✅ Yes |
⚠️ Partial |
✅ Yes |
✅ Yes |
✅ Yes |
| Multi-Mutation |
✅ Yes |
✖️ No |
✖️ No |
✖️ No |
✖️ No |
| Advanced GroupBy |
✅ Yes |
✖️ No |
✖️ No |
✖️ No |
✅ Yes |
| Advanced Having |
✅ Yes |
✖️ No |
✖️ No |
✖️ No |
✅ Yes |
| Schema Generation |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
Schema Attribute (@model) |
✖️ No |
✖️ No |
✖️ No |
✖️ No |
✖️ No |
Schema Attribute (@authorize) |
✖️ No |
✖️ No |
✖️ No |
✖️ No |
✖️ No |
| User Provided Schema |
✖️ No |
✅ Yes |
✖️ No |
✖️ No |
✖️ No |
| Subscription |
✖️ No |
✖️ No |
✖️ No |
✖️ No |
✖️ No |
| Nitro |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
| Cache Headers |
✅ Yes |
✖️ No |
✅ Yes |
✅ Yes |
✅ Yes |
| Level 1 Cache: Memory |
✅ Yes |
✖️ No |
✅ Yes |
✅ Yes |
✅ Yes |
| Level 2 Cache: Redis |
✅ Yes |
✖️ No |
✅ Yes |
✅ Yes |
✅ Yes |
GraphQL Relationship Navigation
REST
Supported Database Objects
| Feature |
MSSQL |
Cosmos |
PGSQL |
MySQL |
DWSQL¹ |
| Tables |
✅ Yes |
✖️ No |
✅ Yes |
✅ Yes |
✅ Yes |
| Views |
✅ Yes |
✖️ No |
✅ Yes |
✖️ No |
✅ Yes |
| Stored Procedures |
✅ Yes |
✖️ No |
✖️ No |
✖️ No |
✅ Yes |
| Proc Parameters |
✅ Yes |
✖️ No |
✖️ No |
✖️ No |
✅ Yes |
| Functions |
✖️ No |
✖️ No |
✖️ No |
✖️ No |
✖️ No |
| Collections |
✖️ No |
✅ Yes |
✖️ No |
✖️ No |
✖️ No |
| Field Mapping |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
Entity Permissions
| Feature |
MSSQL |
Cosmos |
PGSQL |
MySQL |
DWSQL¹ |
Create |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
Read |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
Update |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
Delete |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
Execute |
✅ Yes |
✖️ No |
✖️ No |
✖️ No |
✅ Yes |
| Include Fields |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
| Exclude Fields |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
Database Policy
Authentication Features
Other Features
| Feature |
MSSQL |
Cosmos |
PGSQL |
MySQL |
DWSQL¹ |
| Native JSON Support |
✖️ No |
✖️ No |
✖️ No |
✖️ No |
✖️ No |
| Native XML Support |
✖️ No |
✖️ No |
✖️ No |
✖️ No |
✖️ No |
| Native Vector Support |
✖️ No |
✖️ No |
✖️ No |
✖️ No |
✖️ No |
| Auto Configuration |
✅ Yes |
✖️ No |
✖️ No |
✖️ No |
✖️ No |
| HTTP Response Compression |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
| Application Insights |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
| Log Analytics |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
| File Logging |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
| Session Context |
✅ Yes |
✖️ No |
✖️ No |
✖️ No |
✖️ No |
| Multiple Data Sources |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
| Cross-Source Join |
✖️ No |
✖️ No |
✖️ No |
✖️ No |
✖️ No |
| OpenTelemetry |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
| Health Endpoints |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
| Custom Log Levels |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
| .NET Aspire |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
| MCP³ |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
MCP Server
Note
MCP Server features require Data API builder version 1.7 or later.
Data API builder runs on any container runtime or orchestration platform. Common platforms include:
| Platform |
Supported |
| Azure Container Apps (ACA) |
✅ Yes |
| Azure Container Instances (ACI) |
✅ Yes |
| Azure Kubernetes Service (AKS) |
✅ Yes |
| AWS Elastic Container Service (ECS) |
✅ Yes |
| AWS Elastic Kubernetes Service (EKS) |
✅ Yes |
| Google Kubernetes Engine (GKE) |
✅ Yes |
| Kubernetes (any distribution) |
✅ Yes |
| Docker |
✅ Yes |
| Any other container runtime |
✅ Yes |
Azure deployment services
| Feature |
MSSQL |
Cosmos |
PGSQL |
MySQL |
DWSQL¹ |
| Azure Container Apps |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
| Azure Container Instances |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
| Azure Kubernetes Services |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
| Azure Web App for Containers |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
| Azure Red Hat OpenShift |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
| Azure Spring Apps |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
| Azure Service Fabric |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
| Azure Virtual Machine |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
Unsupported data types
Data API builder doesn't support some data types for each database platform. These limitations are typically due to serialization constraints or lack of native support in the underlying database driver.
Microsoft SQL
| Data type |
Description |
geography |
Geospatial data representing Earth's surface. |
geometry |
Planar spatial data using Cartesian coordinates. |
hierarchyid |
Hierarchical data management. |
json |
JSON formatted data. |
rowversion |
Row versioning for concurrency control. |
sql_variant |
Values of various SQL Server-supported data types. |
vector |
Vector data. |
xml |
XML formatted data. |
PostgreSQL
| Data type |
Description |
bytea |
Binary string storage. |
date |
Calendar dates (year, month, day). |
smalldatetime |
Less precise date and time storage. |
datetime2 |
Not native; typically handled by timestamp. |
timestamptz |
Dates and times with time zone. |
time |
Time of day without date. |
localtime |
Current time based on system clock. |
MySQL
| Data type |
Description |
UUID |
Universally Unique Identifiers. |
DATE |
Calendar dates. |
SMALLDATETIME |
Less precise date and time storage. |
DATETIME2 |
Not native; typically handled by datetime. |
DATETIMEOFFSET |
Dates and times with time zone. |
TIME |
Time of day without date. |
LOCALTIME |
Current time based on system clock. |
Azure Cosmos DB for NoSQL
Azure Cosmos DB for NoSQL is schema-agnostic, so data type restrictions don't apply in the same way as relational databases.
¹ DWSQL reflects support for Dedicated SQL pool only. Serverless SQL pool isn't supported.
² Cosmos is supported in DAB via GraphQL. DAB doesn't generate REST endpoints for Cosmos because the API for NoSQL provides a native REST API. For more information, see Azure Cosmos DB: REST API Reference.
³ MCP (Model Context Protocol) is an endpoint-level capability, not database-specific.
⁴ Managed identity support uses Azure DefaultAzureCredential, which supports both System-Assigned (SAMI) and User-Assigned (UAMI) managed identities. UAMI requires setting the AZURE_CLIENT_ID environment variable.
⚠️ Partial for Cosmos DB mutations means basic create, update, and delete operations are supported, but not all mutation types (such as multi-mutation) are available.