Microsoft Azure Cloud Virtual Machines API

VM lifecycle operations

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/azure-cloud-virtual-machines-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

azure-cloud-virtual-machines-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Azure Compute REST Availability Sets Virtual Machines API
  version: '2024-03-01'
  description: 'Azure Resource Manager (ARM) REST API for managing Azure compute resources

    (virtual machines, virtual machine scale sets, disks, snapshots, images,

    availability sets). Requests are sent to `https://management.azure.com` and

    authenticated with Microsoft Entra ID OAuth 2.0 bearer tokens.

    '
  contact:
    name: Azure Compute REST API
    url: https://learn.microsoft.com/en-us/rest/api/compute/
servers:
- url: https://management.azure.com
  description: Azure Resource Manager
tags:
- name: Virtual Machines
  description: VM lifecycle operations
paths:
  /subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachines:
    get:
      summary: List virtual machines in a subscription
      operationId: listVirtualMachinesBySubscription
      tags:
      - Virtual Machines
      parameters:
      - in: path
        name: subscriptionId
        required: true
        schema:
          type: string
      - in: query
        name: api-version
        required: true
        schema:
          type: string
          default: '2024-03-01'
      responses:
        '200':
          description: A page of VMs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualMachineList'
      security:
      - entra: []
  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines:
    get:
      summary: List virtual machines in a resource group
      operationId: listVirtualMachinesByResourceGroup
      tags:
      - Virtual Machines
      parameters:
      - in: path
        name: subscriptionId
        required: true
        schema:
          type: string
      - in: path
        name: resourceGroupName
        required: true
        schema:
          type: string
      - in: query
        name: api-version
        required: true
        schema:
          type: string
          default: '2024-03-01'
      responses:
        '200':
          description: A page of VMs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualMachineList'
      security:
      - entra: []
  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}:
    parameters:
    - in: path
      name: subscriptionId
      required: true
      schema:
        type: string
    - in: path
      name: resourceGroupName
      required: true
      schema:
        type: string
    - in: path
      name: vmName
      required: true
      schema:
        type: string
    - in: query
      name: api-version
      required: true
      schema:
        type: string
        default: '2024-03-01'
    get:
      summary: Get a virtual machine
      operationId: getVirtualMachine
      tags:
      - Virtual Machines
      responses:
        '200':
          description: Virtual machine
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualMachine'
      security:
      - entra: []
    put:
      summary: Create or update a virtual machine
      operationId: createOrUpdateVirtualMachine
      tags:
      - Virtual Machines
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VirtualMachine'
      responses:
        '200':
          description: Updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualMachine'
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualMachine'
      security:
      - entra: []
    delete:
      summary: Delete a virtual machine
      operationId: deleteVirtualMachine
      tags:
      - Virtual Machines
      responses:
        '202':
          description: Accepted
        '204':
          description: No content
      security:
      - entra: []
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/start
  : post:
      summary: Start a virtual machine
      operationId: startVirtualMachine
      tags:
      - Virtual Machines
      parameters:
      - in: path
        name: subscriptionId
        required: true
        schema:
          type: string
      - in: path
        name: resourceGroupName
        required: true
        schema:
          type: string
      - in: path
        name: vmName
        required: true
        schema:
          type: string
      - in: query
        name: api-version
        required: true
        schema:
          type: string
          default: '2024-03-01'
      responses:
        '202':
          description: Start in progress
      security:
      - entra: []
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/deallocate
  : post:
      summary: Deallocate a virtual machine
      operationId: deallocateVirtualMachine
      tags:
      - Virtual Machines
      parameters:
      - in: path
        name: subscriptionId
        required: true
        schema:
          type: string
      - in: path
        name: resourceGroupName
        required: true
        schema:
          type: string
      - in: path
        name: vmName
        required: true
        schema:
          type: string
      - in: query
        name: api-version
        required: true
        schema:
          type: string
          default: '2024-03-01'
      responses:
        '202':
          description: Deallocate in progress
      security:
      - entra: []
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/restart
  : post:
      summary: Restart a virtual machine
      operationId: restartVirtualMachine
      tags:
      - Virtual Machines
      parameters:
      - in: path
        name: subscriptionId
        required: true
        schema:
          type: string
      - in: path
        name: resourceGroupName
        required: true
        schema:
          type: string
      - in: path
        name: vmName
        required: true
        schema:
          type: string
      - in: query
        name: api-version
        required: true
        schema:
          type: string
          default: '2024-03-01'
      responses:
        '202':
          description: Restart in progress
      security:
      - entra: []
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/powerOff
  : post:
      summary: Power off a virtual machine
      operationId: powerOffVirtualMachine
      tags:
      - Virtual Machines
      parameters:
      - in: path
        name: subscriptionId
        required: true
        schema:
          type: string
      - in: path
        name: resourceGroupName
        required: true
        schema:
          type: string
      - in: path
        name: vmName
        required: true
        schema:
          type: string
      - in: query
        name: api-version
        required: true
        schema:
          type: string
          default: '2024-03-01'
      responses:
        '202':
          description: Power off in progress
      security:
      - entra: []
components:
  schemas:
    VirtualMachineList:
      type: object
      properties:
        value:
          type: array
          items:
            $ref: '#/components/schemas/VirtualMachine'
        nextLink:
          type: string
    VirtualMachine:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        type:
          type: string
        location:
          type: string
        tags:
          type: object
          additionalProperties:
            type: string
        properties:
          type: object
          properties:
            hardwareProfile:
              type: object
              properties:
                vmSize:
                  type: string
            storageProfile:
              type: object
            osProfile:
              type: object
            networkProfile:
              type: object
            provisioningState:
              type: string
  securitySchemes:
    entra:
      type: oauth2
      description: Microsoft Entra ID OAuth 2.0 bearer token (scope https://management.azure.com/.default)
      flows:
        authorizationCode:
          authorizationUrl: https://login.microsoftonline.com/common/oauth2/v2.0/authorize
          tokenUrl: https://login.microsoftonline.com/common/oauth2/v2.0/token
          scopes:
            https://management.azure.com/.default: Manage Azure resources
        clientCredentials:
          tokenUrl: https://login.microsoftonline.com/common/oauth2/v2.0/token
          scopes:
            https://management.azure.com/.default: Manage Azure resources