api for graphql
32 TopicsFabric GraphQL — Decimal scalar broken in variables: mutations fail for any non-integer value
Environment Microsoft Fabric — API for GraphQL Data source: SQL Database in Fabric (not Warehouse) Column definition: [Price] DECIMAL(18,4) NOT NULL GraphQL scalar in the auto-generated schema: scalar Decimal Description I'm experiencing a bug with the Decimal custom scalar when passing values through GraphQL variables. Saving non-integer decimal values (e.g. 1.42) always fails, while integer values (e.g. 1, 2) are accepted without any issue. The bug is fully reproducible on any mutation that uses a Decimal-typed variable. Could the Fabric GraphQL / DAB team confirm whether this is a known issue, and provide either a target fix version or a supported variable format that works? The SQL column: CREATE TABLE [dbo].[ItemPrice] ( [Id] BIGINT IDENTITY(1,1) NOT NULL, [PriceListItemId] BIGINT NOT NULL, [CustomerPaymentTypeId] BIGINT NOT NULL, [Price] DECIMAL(18,4) NOT NULL, ... ) The auto-generated GraphQL type and input types: input CreateItemPriceInput { PriceListItemId: Long! CustomerPaymentTypeId: Long! Price: Decimal! UserCreate: String! UserLastUpdate: String! ... } Attempt 1 — Inline literal (✅ Works) When the value is hardcoded directly in the query document, the mutation succeeds: mutation CreateItemPrice { createItemPrice( item: { Price: 1.42 CustomerPaymentTypeId: 9 PriceListItemId: 17 UserCreate: "bg" UserLastUpdate: "bg" } ) { Id PriceListItemId CustomerPaymentTypeId Price UserCreate UserLastUpdate } } Attempt 2 — Variable typed as Decimal!, passed as JSON number (❌ Fails) mutation CreateItemPrice($Price: Decimal!) { createItemPrice( item: { Price: $Price CustomerPaymentTypeId: 9 PriceListItemId: 17 UserCreate: "bg" UserLastUpdate: "bg" } ) { Id PriceListItemId CustomerPaymentTypeId Price UserCreate UserLastUpdate } } Variables (Postman): { "Price": 1.42 } Error response: {"errors": [{"message": "Decimal cannot parse the given value of type `System.Double`."}]} Attempt 3 — Variable typed as Decimal!, passed as JSON string (❌ Fails) Same mutation as Attempt 2, variables: { "Price": "1.42" } Error response: {"errors": [{"message": "Decimal cannot deserialize the given value."}]} Expected behaviour Both of the following variable formats should be accepted by the Decimal implementation, consistent with how other GraphQL servers handle custom decimal scalars: { "Price": 1.42 } { "Price": "1.42" } Thank you! UPDATE 2026-07-29: Looking to escalate the issue to Microsoft GraphQL/DAB team.Solved246Views1like3CommentsMicrosoft Fabric GraphQL API returns 403 Forbidden - ServicePrincipalIsNotAllowedByTenantAdminSwitch
Hi Everyone, We have verified the integration from our side. Access token is generated successfully using the provided Client ID, Client Secret, and Tenant ID. The token audience is https://api.fabric.microsoft.com. The GraphQL request is sent with a valid Bearer token. However, the API returns 403 Forbidden with the response header: X-PowerBI-Error-Info: ServicePrincipalIsNotAllowedByTenantAdminSwitch ThanksSolved471Views2likes5CommentsHow to pull data from fabric data stores without authentication?
Is there any supported way to expose or consume Fabric GraphQL data externally without requiring Microsoft Entra ID authentication? For example, can the GraphQL endpoint be accessed through any alternative mechanism such as a public endpoint, API key, embedded access model, service account, or any other supported integration pattern? Our requirement is to allow an external system to retrieve data without implementing Entra ID-based authentication.Solved384Views1like4CommentsIs Microsoft Entra authentication mandatory for Fabric GraphQL APIs?
Hi Team, I have created a GraphQL API in Microsoft Fabric and I am trying to consume it from an external application (Salesforce/Postman). Currently, I have only the GraphQL endpoint URL. When I try to access the endpoint, I receive a 401 Unauthorized response. Is Microsoft Entra ID authentication (Tenant ID, Client ID, Client Secret, Access Token) mandatory for accessing Fabric GraphQL APIs? Is there any way to access the API using existing workspace permissions without configuring an Entra App? Thanks.Solved523Views0likes5CommentsCreate Sharepoint shortcut in Fabric lakehouse by code/API
I have a Microsoft Fabric connection set up with SharePoint. Manually, I can use that connection to create a shortcut in a Lakehouse for a SharePoint site. I want to perform this process via API/code. I want to be able to create a shortcut in a Lakehouse using the lakehouse_id (the ID of the Lakehouse where I want to create the shortcut), connection_id (the ID of the SharePoint connection), sharepoint_relative_path (the relative SharePoint path I want to save as a shortcut under “Files” in the Lakehouse), and shortcut_name (the name I want to give that shortcut in the Lakehouse). I've tried with: from sempy.fabric import FabricRestClient client = FabricRestClient() shortcut_name = "projects_shortcut" response = client.post( f"/v1/workspaces/{ws_id}/items/{lakehouse_id}/shortcuts", json={ "displayName": shortcut_name, "path": "Files", "target": { "type": "SharePoint", "connectionId": connecion_id, "path": sharepoint_relative_path } } ) if response.status_code not in [200, 201]: raise Exception(response.text) print("✅ Shortcut created") But I get: FabricHTTPException 403 Forbidden for url: I've tried also: from sempy.fabric import FabricRestClient client = FabricRestClient() client.get("/v1/connections") And I get the same 403 Forbidden error. Any ideas?912Views1like7CommentsData connection rules combined with block public acces
Hi all, I am trying to set up a secure fabric environment with outbound and inbound rules. Combined with block public internet access, so people within the company can only go to Fabric via a dedicated VM. As you can see in the picture i created 3 Managed Private Endpoints for the data extraction, this works fine with notebooks. I also have 2 connections that needs pipelines for the extraction, so that is why I have configured a VnetGateway. Because I block outbound Public access, it is a good way out to use the connection rules to allow the VnetGateway. It worked a few days ago. It looks like that since I Block Public Internet Access this feature wont work anymore. Is this a bug, or is this just not working because of another reason?Solved884Views0likes4CommentsFacebook data extraction -metrics not supported
I am extracting data from facebook graph api using python notebooks in ms fabric. Most of the metrics i need to extract is giving me error. {"error":{"message":"(#100) The value must be a valid insights metric","type":"OAuthException","code":100,"fbtrace_id":"AYRyf7QjSolved3.4KViews0likes5CommentsSending data outside Fabric
Hi Team, Few questions around GrapghQL API: 1 )Can we create a 'writeAPI' using GRAPHQL in Fabric? 2) Do we have these security policies/validations while creating GRAPHQL APIs: Security Header / Policy Content-Type Header Content-Type-Options: nosniff HTTP OPTION Method WWW-Authenticate HTTP Header Content Type Setting Cross-Site Scripting Protection Cache-Control Policy Header Content Security Policy: X-Frame-Options Header: Access-Control-Allow-Origin Access-Control-Allow-Headers Access-Control-Allow-Methods COOKIE POLICY Misconfiguration in CORS Implementation GraphQL Introspection Enabled data validations a. Data Type b. Range, Length, Size c. Format d. Values" 3) Is there a branching feature in GraphQL API also? 4) Is JSONB format supported? ThanksSolved557Views0likes2CommentsUnable to query GraphQL many-to-many relationships
Hi, I'm running into some issues while trying to set up a many-to-many relationship in a GraphQL schema: I am able to create the relationship as shown above. The xref_party_email type is a simple joining table, containing only the foreign key columns. As such, Fabric creates two many-to-many relationships: However, when I try to traverse the relationship as part of a query, I recieve the following error message: The destination, destination table, column, or view could not be found. Please contact the API owner to verify the data source. Not entirely sure what's going on - if I create this as two separate one-to-many relationships, then the query works just fine. Not sure if I'm missing something really obvious here?Solved724Views0likes3CommentsUnable to pass runtime parameters when triggering Microsoft Fabric Data Pipeline via REST API – defa
I am trying to trigger a Microsoft Fabric Data Pipeline from a .NET Core Web API using the official Fabric REST API. The pipeline triggers successfully, but: Runtime parameters passed via API are ignored Pipeline always uses default parameter values In some attempts, the API returns 405 – Method Not Allowed This issue blocks external orchestration from enterprise applications. Environment Details Service: Microsoft Fabric Item Type: Data Pipeline Trigger Method: REST API Client: .NET Core Web API Authentication: Azure AD (Service Principal) Token Scope: https://api.fabric.microsoft.com/.default Pipeline Parameters Name Type Default Value batch_no Int 5050 Accounting_date String 1990-01-01 process_type String E API Endpoint Used POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{pipelineId}/jobs/instances .NET Core Code var requestBody = new { parameters = new Dictionary<string, object> { { "batch_no", 4021 }, { "Accounting_date", "2025-01-01" }, { "process_type", "E" } } }; var url = $"https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{pipelineId}/jobs/instances"; using var client = new HttpClient(); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken); var response = await client.PostAsJsonAsync(url, requestBody); Actual Behavior The pipeline starts successfully when it is triggered through the REST API. However, when checking Fabric Monitor → Run → Parameters, the values shown are always the default values defined in the pipeline. The parameters batch_no, Accounting_date, and process_type do not change based on the values passed from the API. This means the runtime values sent from the external application are ignored. In some attempts, the same API call also returns a 405 Method Not Allowed error. Expected Behavior The pipeline should receive and use the runtime parameter values passed through the REST API. When checking Fabric Monitor → Run → Parameters, the values should reflect the values sent from the API, such as batch_no = 4021, Accounting_date = 2025-01-01, and process_type = E. Troubleshooting Already Done The pipeline item type has been confirmed as a Data Pipeline. Parameter names have been checked to ensure they are case-sensitive and match exactly. All query parameters were removed from the URL, and the correct Fabric REST endpoint was used. The access token was generated with the correct Fabric scope. The same request was tested using Postman, and the pipeline was also tested manually in the Fabric UI, where parameters work correctly. Questions for the Fabric Team Is triggering a Fabric Data Pipeline with runtime parameters through the REST API fully supported? Is there a different request body or payload format required to pass parameters correctly? Are there any known issues or limitations related to runtime parameters? Is there an alternative supported API for passing parameters from external systems? Impact This issue prevents proper external orchestration of Fabric pipelines using APIs or schedulers. It also blocks enterprise system integrations and makes dynamic, batch-based pipeline execution difficult to implement. Request I kindly request clarification or confirmation from the Fabric engineering team regarding the correct API usage for parameterized pipeline execution. Any information about known limitations or future roadmap updates related to this functionality would be greatly appreciated.Solved846Views1like2Comments