Hi everyone,
I’m trying to start a Synapse pipeline trigger via Azure CLI and consistently get a Bad Request error.
Observed output (excerpt)
DEBUG: cli.knack.cli: Command arguments: ['synapse','trigger','start','--workspace-name','dwh-dev-tst-asa-000','--name','a_source_onedrive_management_cockpit','--debug']
...
ERROR: cli.azure.cli.core.azclierror: Operation returned an invalid status 'Bad Request'
ERROR: az_command_data_logger: Operation returned an invalid status 'Bad Request'
There’s no additional error detail in --debug, just the generic Bad Request. The trigger exists in the workspace and can be viewed/edited in the portal.
What I’ve already checked
- Trigger and workspace names are correct (no typos).
- Trigger is Stopped (trying to start it), not already Running.
- I have permissions (Synapse role + RBAC) and can start other pipelines/triggers in this workspace.
- No policy blocking at subscription level (checked Azure Policy / Deny assignments).
- Same result from two different machines and from Cloud Shell.
Questions
- Is there a known issue where
az synapse trigger start returns Bad Request with no details?
- Are there trigger‑type constraints (e.g., Tumbling Window) that require additional payload or preconditions when starting via CLI?
- How can I get more actionable diagnostics for this specific API call (REST endpoint, activity logs, hidden error code, etc.)?
Any pointers would be appreciated—especially how to surface the underlying error message behind “Bad Request”. Thanks!
Log Error:
2026-01-07T16:25:01.3523081Z 2026-01-07T16:25:28.4530298Z [STATE] trigger: <trigger_name_1> -> new state: Started 2026-01-07T16:25:31.2308135Z [Error] for trigger <trigger_name_2> - message: DEBUG: cli.knack.cli: Command arguments: ['synapse', 'trigger', 'start', '--workspace-name', '<workspace_name>', '--name', '<trigger_name_2>', '--debug'] DEBUG: cli.knack.cli: init debug log: Cannot enable color. DEBUG: cli.knack.cli: Event: Cli.PreExecute [] DEBUG: cli.knack.cli: Event: CommandParser.OnGlobalArgumentsCreate [<function CLILogging.on_global_arguments>, <function OutputProducer.on_global_arguments>, <function CLIQuery.on_global_arguments>] DEBUG: cli.knack.cli: Event: CommandInvoker.OnPreCommandTableCreate [] DEBUG: cli.azure.cli.core: Modules found from index for 'synapse': ['azure.cli.command_modules.synapse'] DEBUG: cli.azure.cli.core: Loading command modules: DEBUG: cli.azure.cli.core: Name Load Time Groups Commands DEBUG: cli.azure.cli.core: synapse 0.009 54 246 DEBUG: cli.azure.cli.core: Total (1) 0.009 54 246 DEBUG: cli.azure.cli.core: These extensions are not installed and will be skipped: ['azext_ai_examples', 'azext_next'] DEBUG: cli.azure.cli.core: Loading extensions: DEBUG: cli.azure.cli.core: Name Load Time Groups Commands Directory DEBUG: cli.azure.cli.core: Total (0) 0.000 0 0 DEBUG: cli.azure.cli.core: Loaded 54 groups, 246 commands. DEBUG: cli.azure.cli.core: Found a match in the command table. DEBUG: cli.azure.cli.core: Raw command : synapse trigger start DEBUG: cli.azure.cli.core: Command table: synapse trigger start DEBUG: cli.knack.cli: Event: CommandInvoker.OnPreCommandTableTruncate [<function AzCliLogging.init_command_file_logging>] DEBUG: cli.azure.cli.core.azlogging: metadata file logging enabled - writing logs to '<log_file_path>' INFO: az_command_data_logger: command args: synapse trigger start --workspace-name {} --name {} --debug DEBUG: cli.knack.cli: Event: CommandInvoker.OnPreArgumentLoad [...] DEBUG: cli.knack.cli: Event: CommandInvoker.OnPostArgumentLoad [] DEBUG: cli.knack.cli: Event: CommandInvoker.OnPostCommandTableCreate [...] DEBUG: cli.knack.cli: Event: CommandInvoker.OnCommandTableLoaded [] DEBUG: cli.knack.cli: Event: CommandInvoker.OnPreParseArgs [] DEBUG: cli.knack.cli: Event: CommandInvoker.OnPostParseArgs [...] DEBUG: cli.azure.cli.core.auth.persistence: build_persistence: location='<temp_path>/service_principal_entries.json', encrypt=False DEBUG: cli.azure.cli.core.auth.persistence: build_persistence: location='<temp_path>/msal_token_cache.json', encrypt=False DEBUG: cli.azure.cli.core.auth.binary_cache: load: <temp_path>/msal_http_cache.bin DEBUG: urllib3.util.retry: Converted retries value: 1 -> Retry(total=1, ...) DEBUG: msal.authority: Initializing with Entra authority: https://login.microsoftonline.com/<tenant_id> DEBUG: msal.authority: openid_config("https://login.microsoftonline.com/<tenant_id>/v2.0/.well-known/openid-configuration") = {...} DEBUG: msal.application: Broker enabled? None DEBUG: msal.application: Region to be used: None DEBUG: cli.azure.cli.core.auth.credential_adaptor: CredentialAdaptor.get_token_info: scopes=('https://dev.azuresynapse.net/.default',), options={} DEBUG: cli.azure.cli.core.auth.msal_credentials: ServicePrincipalCredential.acquire_token: scopes=['https://dev.azuresynapse.net/.default'], kwargs={} DEBUG: msal.application: Cache hit an AT DEBUG: msal.telemetry: Generate or reuse correlation_id: <correlation_id> DEBUG: urllib3.connectionpool: Starting new HTTPS connection (1): <workspace_name>.dev.azuresynapse.net:443 DEBUG: urllib3.connectionpool: https://<workspace_name>.dev.azuresynapse.net:443 "POST /triggers/<trigger_name_2>/start?api-version=2020-12-01 HTTP/1.1" 500 171 DEBUG: urllib3.connectionpool: https://<workspace_name>.dev.azuresynapse.net:443 "POST /triggers/<trigger_name_2>/start?api-version=2020-12-01 HTTP/1.1" 400 171 DEBUG: cli.azure.cli.core.azclierror: Traceback (most recent call last): File "...", line ..., in invoke ... azure.core.exceptions.HttpResponseError: Operation returned an invalid status 'Bad Request' Content: { "code": "BadRequest", "message": "Resource cannot be updated during provisioning", "target": "<trigger_name_2>", "details": null, "error": null } ERROR: cli.azure.cli.core.azclierror: Operation returned an invalid status 'Bad Request' ERROR: az_command_data_logger: Operation returned an invalid status 'Bad Request' DEBUG: cli.knack.cli: Event: Cli.PostExecute [<function AzCliLogging.deinit_cmd_metadata_logging>] INFO: az_command_data_logger: exit code: 1 INFO: cli.main: Command ran in 29.704 seconds (init: 0.141, invoke: 29.563) INFO: telemetry.main: Begin splitting cli events and extra events, total events: 1 INFO: telemetry.client: Accumulated 0 events. Flush the clients. INFO: telemetry.main: Finish splitting cli events and extra events, cli events: 1 INFO: telemetry.save: Save telemetry record of length 3986 in cache file under <telemetry_cache_path> INFO: telemetry.main: Begin creating telemetry upload process. INFO: telemetry.process: Creating upload process: "<python_path> <telemetry_script_path> <telemetry_cache_path> <telemetry_file>" INFO: telemetry.process: Return from creating process <process_id> INFO: telemetry.main: Finish creating telemetry upload process. ---- error message end ----