MoreBeerMorePower

Power Platform中心だけど、ノーコード/ローコード系を書いてます。

How to retrieve Power Apps authoring versions

f:id:mofumofu_dance:20210923183106p:plain

Sometimes I saw a sorrow about Power Apps authoring experience, like: "It was working fine until last week, then I edited it with the latest Studio and it looks broken!" or "I don't see an option in the Studio version list!"

As you may know, Power Apps studio can edit app with specific authoring version when you add url parameter &studio-version=v3.21093.33.xxxxxx.

Usually, the authoring version should be chosen from list in Setting dialog though, it does not display old versions (few weeks ago or month ago) or sometimes only showing current version.

f:id:mofumofu_dance:20210923180455p:plain

Besides of that, we can get version info from App detail screen as following

f:id:mofumofu_dance:20210923160058p:plain
Authoring (studio) version in App versions

However, this is part of the Authoring version string, and the entire version number is needed to actually specify the URL parameter.

In this post I will show you how to retrieve authoring versions which can work on make.powerapps.com.

HealthDetail API

I found there is undocumented (=unsupported) HealthDetail API which contains several authoring version history with entire version number.

https://instance-wus2.create.powerapps.com/api/451f562d-fbd0-4eaf-908e-2213e0248035/healthdetail

where wus2 corresponds to "Preview (United States)" environment. (As far as I confirmed, eus is for United States and eas is for East Asia region)

Once you call this api with GET method, response data includes supported client versions:

{
    "preferredVersion": "3.21093.33.199939130",
    "koPreferredVersion": "3.19091.18.124726339",
    "preferredVersionFrequent": "3.21093.33.199939130",
    "preferredVersionModerate": "3.21091.38.199469954",
    "authoringServiceInfo": {
        "versionInfo": {
            "serviceVersion": {
                "commitId": "9b9334a2ca7d7ff32db59f00026aafd6167a6b3e",
                "version": "1.196.0.81"
            },
            "supportedClientVersions": [
                {
                    "commitId": "9d748bb65713a3414ac547b2727bd1a1d9befe41",
                    "commitDateUtc": "Sat, 31 Aug 2019 06:56:06 GMT",
                    "buildLabel": "PowerApps-t1909.1_preview_20190831.01",
                    "buildId": "24668189",
                    "buildConfiguration": "Release",
                    "buildPlatform": "AnyCPU",
                    "buildTimestampUtc": "Sat, 31 Aug 2019 07:05:01 GMT",
                    "powerAppsClientVersion": "v3.19091.18.124726339"
                },
                {
                    "commitId": "8f741b7a296c265b2171a8f8e8aab112a180f6d1",
                    "commitDateUtc": "Wed, 19 Feb 2020 19:25:16 GMT",
                    "buildLabel": "PowerApps-t2002.2_prod_20200219.02",
                    "buildId": "28830546",
                    "buildConfiguration": "Release",
                    "buildPlatform": "AnyCPU",
                    "buildTimestampUtc": "Wed, 19 Feb 2020 22:08:36 GMT",
                    "powerAppsClientVersion": "v3.20022.19.141980634"
                },
...

Here, "powerAppsClientVersion" denotes an entire version number, which can be add as URL parameter.

So, if maker want to open latest app with old authoring version, those information by this way will help them.

That's all!