Create or update the GraphQL API (dry run by default)
create_backendCreates a Fabric API for GraphQL item over the source's tables with the plan's keys and relationships, or updates
the API of that name in place. Requires workspace, source and name. Returns JSON {summary, dry_run, result, card
(endpoint, portal steps left), skipped_relationships}; the dry run returns instead whether the item exists and
would be updated or created, the definition and what changes in it, and the checks that passed. Changes Fabric
only with dry_run=false: an update replaces the API's definition;
tables outside tables or gone from the source leave it, field names of unchanged relationships are kept, and
no item is deleted. When an update would drop relationships the API has, nothing is written and the answer (kind
would_remove) lists them as confirmed entries. It does not run validate_plan; plan_backend
proposes, validate_plan checks, plan_drift previews an update. Errors: {error, kind, hint}.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"workspace": "<workspace>",
"source": "<source>",
"name": "<name>"
},
"name": "create_backend"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| keys | No | Primary keys replacing the inferred ones. Default: inferred. Example: {"order_items": ["order_id", "line_no"]}. | |
| name | Yes | Display name of the API for GraphQL item; an existing item with this name is updated in place. Example: "shop_api". | |
| schema | No | Schema in the source. Default "dbo". | dbo |
| source | Yes | Lakehouse, warehouse or SQL database, name or id. | |
| tables | No | Exact table names the API exposes; the plan is still made from the whole schema. Default: all tables. Example: ["orders", "customers"]. | |
| dry_run | No | true (default) returns what would be created and the REST calls, changing nothing; false creates or updates. | |
| writable | No | true includes create, update and delete mutations in the API; false (default) gives a read-only API. Example: true. | |
| confirmed | No | Relationships the user confirmed, added to the plan. Default none. Example: [{"source": "orders", "source_cols": ["ship_to_id"], "target": "addresses", "target_cols": ["address_id"]}]. | |
| workspace | Yes | Fabric workspace, name or id. | |
| allow_removals | No | true lets an update drop relationships the existing API has; false (default) writes nothing and lists them instead. Example: true. |