NexGen Cloud Volume Attachment API

Volume attachment endpoints manage the binding between a volume and a virtual machine. A volume can be attached to one VM at a time. Detach a volume before attaching it elsewhere; the data persists on the volume across attachments.

Business capability
IT Infrastructure Management BC-600.50

Operations 3

POST /core/virtual-machines/{vm_id}/attach-volumes Attach volumes to virtual machine #
POST /core/virtual-machines/{vm_id}/detach-volumes Detach volumes from virtual machine #
PATCH /core/volume-attachments/{volume_attachment_id} Update a volume attachment #

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/nexgen-cloud-volume-attachment-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

nexgen-cloud-volume-attachment-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Infrahub volume attachment API
  version: '1.0'
  description: Volume Attachment APIs
servers:
- url: https://infrahub-api.nexgencloud.com/v1
security:
- accessToken: []
- apiKey: []
tags:
- name: volume attachment
  description: Volume Attachment APIs
paths:
  /core/virtual-machines/{vm_id}/attach-volumes:
    post:
      tags:
      - volume attachment
      summary: Attach volumes to virtual machine
      description: Attaches one or more volumes to an existing virtual machine, expanding its storage capacity by 2PB per attached volume. Include the VM ID in the path and the volume IDs in the request body to attach the specified volumes. For more detailson volume attachment, **click here**.
      operationId: Attach_volumes_to_VM
      parameters:
      - name: vm_id
        in: path
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Attach_Volumes_Payload'
        required: true
      responses:
        '200':
          description: Volumes have been successfully attached to the virtual machine.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Attach_Volumes'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '405':
          description: Method Not Allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '500':
          description: Internal Server Error
          content: {}
      security:
      - accessToken: []
      - apiKey: []
      x-codegen-request-body-name: payload
  /core/virtual-machines/{vm_id}/detach-volumes:
    post:
      tags:
      - volume attachment
      summary: Detach volumes from virtual machine
      description: Detaches one or more volumes attached to an existing virtual machine. Include the VM ID in the path and volume IDs in the request body to detach the specified volumes from the virtual machine.
      operationId: Detach_volumes_from_VM
      parameters:
      - name: vm_id
        in: path
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Detach_Volumes_Payload'
        required: true
      responses:
        '200':
          description: Volumes have been successfully detached from the virtual machine.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Detach_Volumes'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '405':
          description: Method Not Allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '500':
          description: Internal Server Error
          content: {}
      security:
      - accessToken: []
      - apiKey: []
      x-codegen-request-body-name: payload
  /core/volume-attachments/{volume_attachment_id}:
    patch:
      tags:
      - volume attachment
      summary: Update a volume attachment
      operationId: Update_volume_attachment
      parameters:
      - name: volume_attachment_id
        in: path
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Update_Volume_Attachment_Payload'
        required: true
      responses:
        '200':
          description: Volume attachment has been updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Attach_Volumes'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '405':
          description: Method Not Allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '500':
          description: Internal Server Error
          content: {}
      security:
      - accessToken: []
      - apiKey: []
      x-codegen-request-body-name: payload
components:
  schemas:
    Detach_Volumes_Payload:
      type: object
      properties:
        volume_ids:
          type: array
          items:
            type: integer
    Detach_Volumes:
      type: object
      properties:
        status:
          type: boolean
        message:
          type: string
        volume_attachments:
          type: array
          items:
            $ref: '#/components/schemas/Attach_Volume_Fields'
    ErrorResponseModel:
      type: object
      properties:
        status:
          type: boolean
          default: false
        message:
          type: string
        error_reason:
          type: string
    Attach_Volume_Fields:
      type: object
      properties:
        id:
          type: integer
        instance_id:
          type: integer
        volume_id:
          type: integer
        device:
          type: string
        status:
          type: string
        protected:
          type: boolean
        created_at:
          type: string
          format: date-time
    Attach_Volumes_Payload:
      type: object
      properties:
        volume_ids:
          type: array
          items:
            type: integer
        protected:
          type: boolean
          default: false
    Update_Volume_Attachment_Payload:
      type: object
      properties:
        protected:
          type: boolean
    Attach_Volumes:
      type: object
      properties:
        status:
          type: boolean
        message:
          type: string
        volume_attachments:
          type: array
          items:
            $ref: '#/components/schemas/Attach_Volume_Fields'
  securitySchemes:
    accessToken:
      type: apiKey
      description: Bearer Token
      name: Authorization
      in: header
    apiKey:
      type: apiKey
      description: Send it as api_key in header
      name: api_key
      in: header
x-original-swagger-version: '2.0'