Get all organizations in Azure DevOps using REST API

If you load the current landing page, it displays all your organizations tied to your account. I assumed it had to get that information some way. I captured the network traffic and I believe you could get to the data you want using a system API call. However, it might change or might become unsupported without notice, so use at your own discretion.

You can get the information you want using this API:

Post https://dev.azure.com/{organization1}/_apis/Contribution/HierarchyQuery?api-version=5.0-preview.1

Body:

{
    "contributionIds": ["ms.vss-features.my-organizations-data-provider"],
    "dataProviderContext":
        {
            "properties":{}
        }
}

Response:

{
    "dataProviderSharedData": {},
    "dataProviders": {
        "ms.vss-web.component-data": {},
        "ms.vss-web.shared-data": null,
        "ms.vss-features.my-organizations-data-provider": {
            "organizations": [
                {
                    "id": "{redacted id}",
                    "name": "{organization1}",
                    "url": "https://{organization1}.visualstudio.com/"
                },
                {
                    "id": "{redacted id}",
                    "name": "{organization2}",
                    "url": "https://dev.azure.com/{organization2}/"
                }
            ],
            "createNewOrgUrl": "https://app.vsaex.visualstudio.com/go/signup?account=true"
        }
    } }

you can do it simply by making a call to get all the account you are member/ owner of. However for that you need your id, which can be easily fetched by making get profile call. Here are steps below:

  1. Make a VSTS API call to get profile details using Bearer token or PAT

https://app.vssps.visualstudio.com/_apis/profile/profiles/me?api-version=5.1

This will return you, your Id:

{
    "displayName": "xxxx",
    "publicAlias": "xxx",
    "emailAddress": "xxx",
    "coreRevision": xxx,
    "timeStamp": "2019-06-17T09:29:11.1917804+00:00",
    "id": "{{We need this}}",
    "revision": 298459751
}
  1. Next, make a call to get all the accounts you are member of or owner of:

https://app.vssps.visualstudio.com/_apis/accounts?api-version=5.1&memberId={{Your Id}}

Response:

{
    "count": 1,
    "value": [
        {
            "accountId": "xxx",
            "accountUri": "xxx",
            "accountName": "xxx",
            "properties": {}
        }
    ]
}

It will return list of accounts you are associated with.