UI Definition: Microsoft.Solutions.ArmApiControl UI element does not work

Volodymyr Palant 40 Reputation points
2025-07-24T16:11:17.41+00:00

Hello Azure community,

I am encountering an issue with Azure Managed Applications regarding the use of Microsoft.Solutions.ArmApiControl in a Create UI Definition.

Background and Details:

  • I have been using Microsoft.Solutions.ArmApiControl in my Create UI Definition file to retrieve dynamic data from the ARM API and populate dropdown controls, as demonstrated in the official documentation: https://learn.microsoft.com/en-us/azure/azure-resource-manager/managed-applications/microsoft-solutions-armapicontrol
  • This approach was working as recently as a few months ago.
  • Now, when I try to use this pattern in the Create UI Definition Sandbox (link), I receive the following error: User's image
      Template deployment does not support ARM API and Graph API controls in UX configuration.
    
  • A minimal example of my Create UI Definition follows (from the documentation):
{
  "$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
  "handler": "Microsoft.Azure.CreateUIDef",
  "version": "0.1.2-preview",
  "parameters": {
    "basics": [
      {
        "name": "providersApi",
        "type": "Microsoft.Solutions.ArmApiControl",
        "request": {
          "method": "GET",
          "path": "[concat(subscription().id, '/providers/Microsoft.Network/expressRouteServiceProviders?api-version=2022-01-01')]"
        }
      },
      {
        "name": "providerDropDown",
        "type": "Microsoft.Common.DropDown",
        "label": "Provider",
        "toolTip": "The provider that offers the express route connection.",
        "constraints": {
          "allowedValues": "[map(basics('providersApi').value, (item) => parse(concat('{\"label\":\"', item.name, '\",\"value\":\"', item.name, '\"}')))]",
          "required": true
        },
        "visible": true
      }
    ],
    "steps": [],
    "outputs": {
      "providerName": "[basics('providerDropDown')]"
    }
  }
}
  • The same template, and ARM API control specifically, used to work perfectly, but now always triggers the error above.

Questions and Request:

  1. Has there been a recent change to the support for ARM API or Graph API controls in Create UI Definitions for managed applications?
  2. If so, could you clarify if this is a temporary regression/bug or a long-term breaking change?
  3. Is there any workaround or recommended approach for dynamically retrieving values (such as express route provider lists) in the current Create UI Definition system?
  4. Can you please update the documentation if this feature is no longer supported, or if there are new requirements or limitations?

This feature is critical for the design of user-friendly managed applications, and clarification or a fix would be greatly appreciated.

Thank you very much for your help in advance.

Azure Automation
Azure Automation
An Azure service that is used to automate, configure, and install updates across hybrid environments.
0 comments No comments
{count} votes

Accepted answer
  1. Dmytro Smirnov 75 Reputation points
    2025-08-20T10:01:53.01+00:00

    It seems the problem was related to the Sandbox itself. Today, I was able to preview my createUIDefinition.json configurations successfully with it, so the problem should be solved.

    The only difference I see is a warning about using operations that will make ARM or Graph API calls that prompt for confirmation.

    Not sure if we can get any details from the team on what the problem was or how/when it was fixed.

    Please share if the problem is solved on your side as well. Thank you for raising the topic.

    User's image

    0 comments No comments

1 additional answer

Sort by: Most helpful
  1. Volodymyr Palant 40 Reputation points
    2025-08-20T14:07:57.2733333+00:00

    Thank you, now it works for me as well!

    1 person found this answer helpful.
    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.