| name | data-api-builder-config |
| description | Create and refine dab-config.json for Data API Builder, including data-source, runtime, entities, permissions, relationships, and MCP settings. |
| license | MIT |
Data API Builder Configuration
Use this skill for editing dab-config.json directly.
When to use
- Create or fix
dab-config.json
- Configure runtime (REST/GraphQL/MCP/auth/CORS)
- Add entity permissions, mappings, and relationships
- Troubleshoot validation/configuration errors
Fast workflow
- Start from a sample config asset.
- Set
data-source and runtime.
- Add or refine
entities.
- Validate with
dab validate.
- Start runtime and verify endpoint behavior.
If the user asks to automate edits via commands instead of hand-editing JSON, switch to the data-api-builder-cli skill.
Bundled sample configs
Use these ready-to-copy assets:
Minimal valid config
{
"$schema": "https://dataapibuilder.azureedge.net/schemas/latest/dab.draft.schema.json",
"data-source": {
"database-type": "mssql",
"connection-string": "@env('DATABASE_CONNECTION_STRING')"
},
"runtime": {
"rest": { "enabled": true, "path": "/api" },
"graphql": { "enabled": true, "path": "/graphql" },
"mcp": { "enabled": true, "path": "/mcp" },
"host": { "mode": "development" }
},
"entities": {}
}
Core sections to get right
data-source: DB type + connection string (@env(...))
runtime: global endpoints/auth/CORS/mode
entities: exposed objects and security model
Reference playbooks
Use these for deep details instead of bloating this file:
Quick correctness checks
- Keep
$schema present.
- Keep secrets out of config (
@env(...) only).
- Ensure each exposed entity has intentional permissions.
- Validate after every meaningful change.
- Keep local runtime values in environment variables rather than checked-in config.
Consistency rules
- Prefer minimal changes per request.
- Keep runtime surface area intentionally small.
- Use references for advanced troubleshooting and edge cases.
- Keep samples and references aligned when behavior changes.
References