VAST Data Block Hosts API
The Block Hosts API from VAST Data — 1 operation(s) for block hosts.
The Block Hosts API from VAST Data — 1 operation(s) for block hosts.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/vastdata-block-hosts-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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