Search code examples
restazureazure-devopsazure-devops-rest-api

Get all organizations in Azure DevOps using REST API


I am trying to retrieve all the organizations in my account but in the documentation an organization is always required in the API call.

https://dev.azure.com/{organization}/_apis/...

Solution

  • 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"
            }
        } }