VAST Data Block Hosts API

The Block Hosts API from VAST Data — 1 operation(s) for block hosts.

Business capability
IT Infrastructure Management BC-600.50

Operations 8

DELETE /blockhosts/bulk Delete a Bulk Of Hosts #
GET /blockhosts/ List Block Hosts per Tenant #
POST /blockhosts/ Create a Block Host #
DELETE /blockhosts/{id}/ Delete a Block Host #
GET /blockhosts/{id}/ Return Details of a Block Host #
PATCH /blockhosts/{id}/ Modifies a Block Host #
PATCH /blockhosts/{id}/set_volumes Mapping a block host to volumes #
PATCH /blockhosts/{id}/update_volumes Update Mapping of Block Host to Volumes #

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/vastdata-block-hosts-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

vastdata-block-hosts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: VAST Management API definition
  title: VAST API Swagger Schema Block Hosts API
  version: '1.0'
security:
- ApiToken: []
tags:
- name: Block Hosts
paths:
  /blockhosts/bulk:
    delete:
      description: This endpoint deletes multiple block hosts.
      operationId: hosts_bulk_delete
      parameters:
      - $ref: '#/components/parameters/BlockHostVolumeForce'
      responses:
        '204':
          description: OK
      summary: Delete a Bulk Of Hosts
      tags:
      - Block Hosts
  /blockhosts/:
    get:
      description: This endpoint lists all block storage hosts configured on the tenant.
      operationId: blockhosts_list
      parameters:
      - $ref: '#/components/parameters/TenantIdQP'
      - $ref: '#/components/parameters/BlockHostNameQP'
      - $ref: '#/components/parameters/BlockHostNqnQP'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/BlockHost'
                title: Block Hosts
                type: array
          description: Block hosts and their properties
      summary: List Block Hosts per Tenant
      tags:
      - Block Hosts
    post:
      description: This endpoint creates a blockhost object with the properties of a block storage client host, to enable the assignment of volumes to the host. Block hosts are added per tenant. To serve block storage from multiple tenants, create a blockhost objec on each tennt separately.
      operationId: blockhosts_create
      requestBody:
        content:
          application/json:
            schema:
              properties:
                name:
                  description: The name of the block host. Must be unique on the tenant. Can be duplicated on multiple tenants.
                  type: string
                nqn:
                  description: The host's NVMe Qualified Name (NQN), a unique identifier used to identify the host in NVMe operations. Retrieve the NQN from the host.
                  type: string
                tags:
                  $ref: '#/components/schemas/ArbitraryStringsObject'
                tenant_id:
                  description: The ID of the tenant to which to add the block host. Add the host separately as needed to each tenant.
                  type: integer
              required:
              - tenant_id
              - name
              - nqn
              type: object
        x-originalParamName: BlockHostCreateParams
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockHost'
          description: OK
      summary: Create a Block Host
      tags:
      - Block Hosts
  /blockhosts/{id}/:
    delete:
      description: This endpoint deletes a block host.
      operationId: blockhosts_delete
      parameters:
      - $ref: '#/components/parameters/PathObjectId'
      - description: Forces removal of mappings of the host to volumes. A host can be deleted only if it is not mapped to any volume.
        in: query
        name: force
        schema:
          type: boolean
      responses:
        '204':
          description: OK
      summary: Delete a Block Host
      tags:
      - Block Hosts
    get:
      description: This endpoint returns information about a specific Block Host.
      operationId: blockhosts_read
      parameters:
      - $ref: '#/components/parameters/PathObjectId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockHost'
          description: ''
      summary: Return Details of a Block Host
      tags:
      - Block Hosts
    patch:
      description: This endpoint modifies a block storage host.
      operationId: blockhosts_update
      parameters:
      - $ref: '#/components/parameters/PathObjectId'
      requestBody:
        content:
          application/json:
            schema:
              properties:
                name:
                  description: The name of the block host. Must be unique on the tenant. Can be duplicated on multiple tenants.
                  type: string
                tags:
                  $ref: '#/components/schemas/ArbitraryStringsObject'
              type: object
        x-originalParamName: BlockHostModifyParams
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockHost'
          description: ''
      summary: Modifies a Block Host
      tags:
      - Block Hosts
  /blockhosts/{id}/set_volumes:
    patch:
      operationId: hosts_set_volumes
      parameters:
      - $ref: '#/components/parameters/PathObjectId'
      requestBody:
        content:
          application/json:
            schema:
              properties:
                ids:
                  items:
                    type: integer
                  type: array
                snapshot_id:
                  type: integer
              type: object
        x-originalParamName: HostSetVolumesParams
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskInResponse'
          description: This endpoint maps a single host to multiple volumes (where each is either the current version of the volume or a snapshot of the volume).
      summary: Mapping a block host to volumes
      tags:
      - Block Hosts
  /blockhosts/{id}/update_volumes:
    patch:
      operationId: hosts_update_volumes
      parameters:
      - $ref: '#/components/parameters/PathObjectId'
      requestBody:
        content:
          application/json:
            schema:
              properties:
                ids_to_add:
                  items:
                    type: integer
                  type: array
                ids_to_remove:
                  items:
                    type: integer
                  type: array
                snapshot_id:
                  type: integer
              type: object
        x-originalParamName: HostUpdateVolumesParams
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskInResponse'
          description: This endpoint maps (update) a single host into multiple volumes (either their current version or a snapshot).
      summary: Update Mapping of Block Host to Volumes
      tags:
      - Block Hosts
components:
  parameters:
    BlockHostVolumeForce:
      description: Forcefully removes mappings between hosts and volumes. A host can be deleted only if it is not mapped to any volume, and a volume can be deleted only if it is not mapped to any host.
      in: query
      name: force
      schema:
        type: boolean
    PageSize:
      in: query
      name: page_size
      schema:
        minimum: 1
        type: integer
    BlockHostNameQP:
      description: name of the blockhost
      in: query
      name: name
      schema:
        type: string
    BlockHostNqnQP:
      description: NQN of the blockhost
      in: query
      name: nqn
      schema:
        type: string
    Page:
      in: query
      name: page
      schema:
        minimum: 1
        type: integer
    PathObjectId:
      description: Object ID specified in the path
      in: path
      name: id
      required: true
      schema:
        type: string
    TenantIdQP:
      description: Filter by tenant. Specify tenant ID.
      in: query
      name: tenant_id
      schema:
        minimum: 1
        type: integer
  securitySchemes:
    ApiToken:
      description: Send current valid API token in an Authorization header with format Api-Token <token>.
      in: header
      name: ApiToken
      type: apiKey
    basicAuth:
      description: Basic authentication using VMS user name and password
      scheme: basic
      type: http
  schemas:
    ArbitraryStringsObject:
      additionalProperties:
        type: string
      type: object
    BlockHost:
      properties:
        id:
          type: integer
        mapped_block_host_count:
          description: The number of block hosts mapped to the volume.
          type: integer
        mapped_block_hosts_preview:
          description: Mapped block hosts preview.
          type: string
        mapped_volume_count:
          description: How many Volumes are mapped to this block host.
          type: integer
        mapped_volumes_preview:
          description: Mapped volumes preview.
          type: string
        name:
          description: The name of the block host, which is unique per tenant.
          type: string
        nqn:
          description: The NVMe Qualified Name of the host.
          type: string
        tags:
          $ref: '#/components/schemas/ArbitraryStringsObject'
        tenant_id:
          description: ID of the tenant to which the block host belongs.
          type: integer
        tenant_name:
          description: The name of the tenant to which the block host belongs.
          type: string
      required:
      - id
      - tenant_id
      - name
      - nqn
      - tags
      type: object
    AsyncTaskInResponse:
      properties:
        async_task:
          description: Creation Async task properties
          type: object
      type: object