Forum Discussion
How to implement API consumption at Gold Layer and Semantic level
Dears,
I have a silver layer and a gold layer (a side prevelious layers ) as you can see ilustrated below
I was requested to introduce the possibility to allow API consumption from the silver and gold layers
Silver is composed by two worskpaces, one for structured data and one for unstructured. Each workspace has its own lakehouse(s)
Gold has one workspace per each domain . Inside each workspace, there is a one lakehouse and one semantic model (directlake)
What can I do to enable API consumption for example at Gold level?
1 - Shall I create one consumption service per each domain? or per each data product?
2 - What shall I use to build this APIs? is it SQL or Python?
3 - Which GET and POST methods should they have
4 - How do External apps (outside fabric) consume from this APIs? is it a Json request that they submit to the API?
5 - How shall this be security at rest, in transit and from a service-to-service perspective?
Thanks a lot,
Pedro Ribeiro
Hi fabricpribeiro ,
Thank you for reaching out to the Microsoft Community Forum.At the Gold layer, Expose data through a dedicated API layer per domain, aligned with your domain workspaces. Each domain API can expose endpoints for its data products while querying the Lakehouse SQL analytics endpoint or the semantic model (Direct Lake) behind the scenes. This keeps the Gold layer as the serving layer while avoiding direct external access to Fabric artifacts.
For building the APIs, use a service layer (for example Azure Functions, FastAPI or .NET APIs) that queries Fabric using the SQL endpoint or semantic model. The APIs will typically expose REST endpoints, mostly GET for data retrieval (e.g., /sales, /customers/{id}), while POST can be used when clients need to submit complex filters or query payloads. External applications then call these APIs over HTTPS and receive JSON responses.
For security, follow the standard Microsoft pattern: Microsoft Entra ID authentication for service to service access, HTTPS/TLS for data in transit and Fabric workspace permissions or semantic model security (e.g., RLS) for data authorization. Optionally placing Azure API Management in front of the APIs helps with throttling, monitoring and centralized security policies when multiple external applications consume the APIs.
How to Connect - Microsoft Fabric | Microsoft Learn
What is the SQL analytics endpoint for a lakehouse? - Microsoft Fabric | Microsoft Learn
Better Together - the Lakehouse and Warehouse - Microsoft Fabric | Microsoft Learn
Connect applications to Fabric API for GraphQL - Microsoft Fabric | Microsoft Learn
Manage a lakehouse with the REST API - Microsoft Fabric | Microsoft Learn
Microsoft Fabric REST API references - Microsoft Fabric REST APIs | Microsoft Learn
If I misunderstand your needs or you still have problems on it, please feel free to let us know.
Best Regards,
Community Support Team
3 Replies
- v-menakakota
Community Support
Hi fabricpribeiro ,
Thank you for reaching out to the Microsoft Community Forum.At the Gold layer, Expose data through a dedicated API layer per domain, aligned with your domain workspaces. Each domain API can expose endpoints for its data products while querying the Lakehouse SQL analytics endpoint or the semantic model (Direct Lake) behind the scenes. This keeps the Gold layer as the serving layer while avoiding direct external access to Fabric artifacts.
For building the APIs, use a service layer (for example Azure Functions, FastAPI or .NET APIs) that queries Fabric using the SQL endpoint or semantic model. The APIs will typically expose REST endpoints, mostly GET for data retrieval (e.g., /sales, /customers/{id}), while POST can be used when clients need to submit complex filters or query payloads. External applications then call these APIs over HTTPS and receive JSON responses.
For security, follow the standard Microsoft pattern: Microsoft Entra ID authentication for service to service access, HTTPS/TLS for data in transit and Fabric workspace permissions or semantic model security (e.g., RLS) for data authorization. Optionally placing Azure API Management in front of the APIs helps with throttling, monitoring and centralized security policies when multiple external applications consume the APIs.
How to Connect - Microsoft Fabric | Microsoft Learn
What is the SQL analytics endpoint for a lakehouse? - Microsoft Fabric | Microsoft Learn
Better Together - the Lakehouse and Warehouse - Microsoft Fabric | Microsoft Learn
Connect applications to Fabric API for GraphQL - Microsoft Fabric | Microsoft Learn
Manage a lakehouse with the REST API - Microsoft Fabric | Microsoft Learn
Microsoft Fabric REST API references - Microsoft Fabric REST APIs | Microsoft Learn
If I misunderstand your needs or you still have problems on it, please feel free to let us know.
Best Regards,
Community Support Team- v-menakakota
Community Support
Hi fabricpribeiro ,
I hope the issue has been resolved. If you continue to experience any problems, please reach out here and we will assist you.
Best Regards,
Community Support Team- v-menakakota
Community Support
Hi @fabricpribeiro ,
I hope the issue has been resolved. If you continue to experience any problems, please reach out here and we will assist you.
Best Regards,
Community Support Team