VMware Datastores API

Datastore management including browsing, capacity monitoring, and storage configuration

Documentation

Specifications

Code Examples

Schemas & Data

Other Resources

OpenAPI Specification

vmware-datastores-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: VMware vSphere Automation REST Clusters Datastores API
  description: RESTful API for managing VMware vSphere virtualization platform resources including virtual machines, hosts, datastores, clusters, networks, and related infrastructure. The vSphere Automation API provides modern REST endpoints for vCenter Server operations using JSON payloads and session-based or OAuth authentication. This API supersedes the legacy SOAP-based vSphere Web Services API for most automation use cases.
  version: '8.0'
  contact:
    name: Broadcom Developer Support
    url: https://developer.broadcom.com/
  license:
    name: Proprietary
    url: https://www.broadcom.com/company/legal/terms-of-use
  termsOfService: https://www.broadcom.com/company/legal/terms-of-use
servers:
- url: https://{vcenter}/api
  description: vCenter Server REST API endpoint
  variables:
    vcenter:
      default: vcenter.example.com
      description: Hostname or IP address of your vCenter Server instance
security:
- sessionAuth: []
- basicAuth: []
tags:
- name: Datastores
  description: Datastore management including browsing, capacity monitoring, and storage configuration
paths:
  /vcenter/datastore:
    get:
      operationId: listDatastores
      summary: Vmware List Datastores
      description: Returns a list of datastores in the vCenter inventory matching the specified filter criteria. Results can be filtered by name, type, datacenter, and folder.
      tags:
      - Datastores
      parameters:
      - name: filter.datastores
        in: query
        description: Identifiers of datastores to filter by
        schema:
          type: array
          items:
            type: string
        style: form
        explode: true
        example: []
      - name: filter.names
        in: query
        description: Names of datastores to filter by
        schema:
          type: array
          items:
            type: string
        style: form
        explode: true
        example: []
      - name: filter.types
        in: query
        description: Types of datastores to filter by
        schema:
          type: array
          items:
            type: string
            enum:
            - VMFS
            - NFS
            - NFS41
            - CIFS
            - VSAN
            - VFFS
            - VVOL
        style: form
        explode: true
        example: []
      - name: filter.folders
        in: query
        description: Folders that must contain the datastores
        schema:
          type: array
          items:
            type: string
        style: form
        explode: true
        example: []
      - name: filter.datacenters
        in: query
        description: Datacenters that must contain the datastores
        schema:
          type: array
          items:
            type: string
        style: form
        explode: true
        example: []
      responses:
        '200':
          description: List of datastores matching the filter
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DatastoreSummary'
              examples:
                Listdatastores200Example:
                  summary: Default listDatastores 200 response
                  x-microcks-default: true
                  value:
                  - datastore: example_value
                    name: Example Title
                    type: VMFS
                    free_space: 10
                    capacity: 10
        '400':
          description: Invalid filter parameters
        '401':
          description: Not authenticated
        '403':
          description: Insufficient privileges
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /vcenter/datastore/{datastore}:
    get:
      operationId: getDatastore
      summary: Vmware Get Datastore Details
      description: Returns detailed information about the specified datastore including capacity, free space, type, and accessible hosts.
      tags:
      - Datastores
      parameters:
      - $ref: '#/components/parameters/datastoreId'
      responses:
        '200':
          description: Datastore details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatastoreInfo'
              examples:
                Getdatastore200Example:
                  summary: Default getDatastore 200 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    type: VMFS
                    accessible: true
                    free_space: 10
                    capacity: 10
                    thin_provisioning_supported: true
                    multiple_host_access: true
        '401':
          description: Not authenticated
        '404':
          description: Datastore not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  parameters:
    datastoreId:
      name: datastore
      in: path
      required: true
      description: Identifier of the datastore (e.g., datastore-15)
      schema:
        type: string
  schemas:
    DatastoreInfo:
      type: object
      description: Detailed datastore configuration and status
      properties:
        name:
          type: string
          description: Display name of the datastore
          example: Example Title
        type:
          type: string
          enum:
          - VMFS
          - NFS
          - NFS41
          - CIFS
          - VSAN
          - VFFS
          - VVOL
          example: VMFS
        accessible:
          type: boolean
          description: Whether the datastore is currently accessible
          example: true
        free_space:
          type: integer
          description: Available free space in bytes
          format: int64
          example: 10
        capacity:
          type: integer
          description: Maximum capacity in bytes
          format: int64
          example: 10
        thin_provisioning_supported:
          type: boolean
          description: Whether thin provisioning is supported
          example: true
        multiple_host_access:
          type: boolean
          description: Whether the datastore is accessible by multiple hosts
          example: true
    DatastoreSummary:
      type: object
      description: Summary of a datastore in the vCenter inventory
      required:
      - datastore
      - name
      properties:
        datastore:
          type: string
          description: Unique identifier of the datastore (e.g., datastore-15)
          example: example_value
        name:
          type: string
          description: Display name of the datastore
          example: Example Title
        type:
          type: string
          description: Type of the datastore
          enum:
          - VMFS
          - NFS
          - NFS41
          - CIFS
          - VSAN
          - VFFS
          - VVOL
          example: VMFS
        free_space:
          type: integer
          description: Free space in bytes
          format: int64
          example: 10
        capacity:
          type: integer
          description: Total capacity in bytes
          format: int64
          example: 10
  securitySchemes:
    sessionAuth:
      type: apiKey
      in: header
      name: vmware-api-session-id
      description: Session token obtained from POST /session. Include this header in all subsequent API requests.
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication using vCenter Server credentials. Used primarily for creating sessions.
externalDocs:
  description: vSphere Automation API Reference on Broadcom Developer Portal
  url: https://developer.broadcom.com/xapis/vsphere-automation-api/latest/