Get certified for free when you join Fabric Data Days 2026 and dive into Fabric, Power BI, SQL, AI, and other essential data skills.
Join now60 Days of Data Days! Live and on-demand sessions, challenges, study groups and more! And it's all FREE!. Join now. Learn more
Greetings, community. I am trying to trigger an on-demand job to run a notebook using the REST API (Job Scheduler - Run On Demand Item Job - REST API (Core) | Microsoft Learn). The notebook is triggered successfully, but the parameters are not passed in no matter what configuration I try. Does anyone have suggestions/ideas?
The docs indicate a parameter input like this should work:
{
"parameters": [
{
"name": "testval",
"value": "start",
"type": "Text"
}
}
However, no parameters are registered by the notebook:
I have tried other "forms" of this that date back to earlier versions of the APIs equally unsuccessfully.
Solved! Go to Solution.
Hi @arpost , Thank you for reaching out to the Microsoft Community Forum.
The generic Run On Demand Item Job API shows a top-level parameters property, but it also notes that parameter support is not broadly supported and can vary by item and job type. Based on your confirmation that passing the notebook parameters through executionData.parameters works, along with @Srisakthi 's similar working example, this appears to be the approach that currently works for passing parameters when invoking a notebook through the REST API.
It seems RunNotebook does not honor the generic parameters payload in this case, so the documentation could be clearer about the expected request format for notebook jobs. If you believe the documentation should explicitly call this out, you could consider submitting an idea in the Microsoft Fabric Ideas or create a post in the Fabric Community Blog to raise awareness among users, which will in turn gets the notice of Microsoft to help improve the documentation and guidance for this scenario.
Also, please refer:
Job Scheduler - Run On Demand Item Job - REST API (Core) | Microsoft Learn
Manage and execute Fabric notebooks with public APIs - Microsoft Fabric | Microsoft Learn
Thanks @Srisakthi for sharing your working example.
Hi @arpost , Hope you are doing well. Kindly let us know if the issue has been resolved or if further assistance is needed. Your input could be helpful to others in the community.
Hi @arpost , Thank you for reaching out to the Microsoft Community Forum.
The generic Run On Demand Item Job API shows a top-level parameters property, but it also notes that parameter support is not broadly supported and can vary by item and job type. Based on your confirmation that passing the notebook parameters through executionData.parameters works, along with @Srisakthi 's similar working example, this appears to be the approach that currently works for passing parameters when invoking a notebook through the REST API.
It seems RunNotebook does not honor the generic parameters payload in this case, so the documentation could be clearer about the expected request format for notebook jobs. If you believe the documentation should explicitly call this out, you could consider submitting an idea in the Microsoft Fabric Ideas or create a post in the Fabric Community Blog to raise awareness among users, which will in turn gets the notice of Microsoft to help improve the documentation and guidance for this scenario.
Also, please refer:
Job Scheduler - Run On Demand Item Job - REST API (Core) | Microsoft Learn
Manage and execute Fabric notebooks with public APIs - Microsoft Fabric | Microsoft Learn
Thanks @Srisakthi for sharing your working example.
Thanks for the reply, @v-hashadapu. I'll look at doing that. It was definitely a challenge figuring this out through a lot of trial-and-error, so it would be useful to have supported vs. non-supported be tracked.
Hi @arpost ,
I have tried this few months earlier in powershell, it was working
$runNotebookBody = @{
executionData = @{
parameters = @{
DDLPath = @{
value = "Files/check"
type = "string"
}
lakehouse_name = @{
value = $lakehouseName
type = "string"
}
}
}
configuration = @{
defaultLakehouse = @{
name = $lakehouseName
id = $lakehouse.Id
workspaceId = $workspace.Id
}
}
} | ConvertTo-Json -Depth 10
$global:baseUrl = "https://api.fabric.microsoft.com/v1"
$notebookRunUrl = "{0}/workspaces/{1}/items/{2}/jobs/instances?jobType=RunNotebook" -f $global:baseUrl, $workspace.Id, $notebook.id
Invoke-RestMethod -Headers $global:fabricHeaders -Uri $notebookRunUrl -Method POST -Body $runNotebookBody
Regards,
Srisakthi
Hi @arpost
Why not simply use a data pipeline where you can pass through the parameters successfully to your notebook?
Good question. This is the first step toward a Power Platform-based orchestration solution. Having a pipeline + notebook combo just to orchestrate incurs duplicative capacity usage and also has potential limitations in cases where we may have changing parameters.
API-based approach enables us to pass "dynamic" parameters to the Fabric item in question.
EXAMPLE: I want a Power App that lets users make selections related to a particular technical or business process, select some items that produce parameter inputs, and then trigger.
I was able to successfully run with a similar construction to what was provided here (Solved: Re: Notebook parameters not passing through RunNot... - Microsoft Fabric Community), but that's not what the docs indicate; is there something I'm missing in the docs without using executionData?
| User | Count |
|---|---|
| 10 | |
| 6 | |
| 5 | |
| 4 | |
| 4 |
| User | Count |
|---|---|
| 29 | |
| 20 | |
| 16 | |
| 15 | |
| 15 |