Azure Bastion REST API

Azure Bastion REST API enables management of fully managed PaaS service for secure RDP and SSH access to virtual machines directly through the Azure portal without exposing public IP addresses.

OpenAPI Specification

microsoft-azure-bastion-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Azure Bastion REST API
  description: Azure Bastion provides secure RDP and SSH access to virtual machines through the Azure
    portal without exposing public IPs. The REST API manages bastion hosts and configuration.
  version: '2024-01-01'
externalDocs:
  description: Azure Bastion REST API Documentation
  url: https://learn.microsoft.com/en-us/rest/api/virtualnetwork/bastion-hosts
servers:
- url: https://management.azure.com
  description: Azure Resource Manager
tags:
- name: Bastion Hosts
  description: Bastion Hosts operations
- name: Operations
  description: Operations operations
security:
- azure_auth:
  - user_impersonation
paths:
  /providers/Microsoft.Network/operations:
    get:
      operationId: listOperations
      summary: Azure Bastion REST API List operations
      description: Lists all available REST API operations for Microsoft.Network.
      tags:
      - Operations
      parameters:
      - $ref: '#/components/parameters/apiVersion'
      responses:
        '200':
          description: Operations list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationList'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /subscriptions/{subscriptionId}/providers/Microsoft.Network/bastionHosts:
    get:
      operationId: listBastionhostsBySubscription
      summary: Azure Bastion REST API List by subscription
      description: Lists all bastionHosts resources within the specified subscription.
      tags:
      - Bastion Hosts
      parameters:
      - $ref: '#/components/parameters/subscriptionId'
      - $ref: '#/components/parameters/apiVersion'
      responses:
        '200':
          description: Resource list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts:
    get:
      operationId: listBastionhostsByResourceGroup
      summary: Azure Bastion REST API List by resource group
      description: Lists all bastionHosts resources within the specified resource group.
      tags:
      - Bastion Hosts
      parameters:
      - $ref: '#/components/parameters/subscriptionId'
      - $ref: '#/components/parameters/resourceGroupName'
      - $ref: '#/components/parameters/apiVersion'
      responses:
        '200':
          description: Resource list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{name}:
    parameters:
    - $ref: '#/components/parameters/subscriptionId'
    - $ref: '#/components/parameters/resourceGroupName'
    - name: name
      in: path
      required: true
      description: Name of the resource.
      schema:
        type: string
    - $ref: '#/components/parameters/apiVersion'
    get:
      operationId: getBastionhosts
      summary: Azure Bastion REST API Get resource
      description: Gets a specific bastionHosts resource.
      tags:
      - Bastion Hosts
      responses:
        '200':
          description: Resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        '404':
          description: Not found
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      operationId: createOrUpdateBastionhosts
      summary: Azure Bastion REST API Create or update resource
      description: Creates or updates a bastionHosts resource.
      tags:
      - Bastion Hosts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Resource'
      responses:
        '200':
          description: Resource updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        '201':
          description: Resource created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    patch:
      operationId: updateBastionhosts
      summary: Azure Bastion REST API Update resource
      description: Updates a bastionHosts resource.
      tags:
      - Bastion Hosts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: Resource updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      operationId: deleteBastionhosts
      summary: Azure Bastion REST API Delete resource
      description: Deletes a bastionHosts resource.
      tags:
      - Bastion Hosts
      responses:
        '200':
          description: Resource deleted
        '202':
          description: Deletion accepted
        '204':
          description: Resource not found or already deleted
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  parameters:
    subscriptionId:
      name: subscriptionId
      in: path
      required: true
      description: The ID of the target subscription.
      schema:
        type: string
    resourceGroupName:
      name: resourceGroupName
      in: path
      required: true
      description: The name of the resource group.
      schema:
        type: string
    apiVersion:
      name: api-version
      in: query
      required: true
      description: The API version to use for this operation.
      schema:
        type: string
  schemas:
    Resource:
      type: object
      properties:
        id:
          type: string
          description: Resource ID.
        name:
          type: string
          description: Resource name.
        type:
          type: string
          description: Resource type.
        location:
          type: string
          description: Resource location.
        tags:
          type: object
          additionalProperties:
            type: string
        properties:
          type: object
          description: Resource-specific properties.
    ResourceList:
      type: object
      properties:
        value:
          type: array
          items:
            $ref: '#/components/schemas/Resource'
        nextLink:
          type: string
          description: URL to the next page of results.
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            target:
              type: string
    Operation:
      type: object
      properties:
        name:
          type: string
        display:
          type: object
          properties:
            provider:
              type: string
            resource:
              type: string
            operation:
              type: string
            description:
              type: string
        isDataAction:
          type: boolean
    OperationList:
      type: object
      properties:
        value:
          type: array
          items:
            $ref: '#/components/schemas/Operation'
        nextLink:
          type: string
  securitySchemes:
    azure_auth:
      type: oauth2
      description: Azure Active Directory OAuth2 Flow.
      flows:
        implicit:
          authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
          scopes:
            user_impersonation: Impersonate your user account
x-generated-from: https://learn.microsoft.com/en-us/rest/api/virtualnetwork/bastion-hosts
x-generated-by: claude-crawl-2026-05-08