CubeFS Volumes API

Volume lifecycle management operations including creating, updating, expanding, shrinking, and deleting volumes. Volumes are the top-level storage namespaces in CubeFS.

Business capability
IT Infrastructure Management BC-600.50

Operations 6

GET /admin/createVol CubeFS Create a volume #
GET /admin/getVol CubeFS Get volume information #
GET /admin/listVols CubeFS List volumes #
GET /vol/update CubeFS Update volume configuration #
GET /vol/delete CubeFS Delete a volume #
GET /vol/expand CubeFS Expand volume capacity #

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/cubefs:cubefs-volumes-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

cubefs-volumes-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CubeFS Master Volumes API
  description: The CubeFS Master API provides HTTP endpoints for administering a CubeFS distributed storage cluster.
  version: '3.3'
  contact:
    name: CubeFS Community
    url: https://cubefs.io/community/overview.html
servers:
- url: http://{masterHost}:{masterPort}
  description: CubeFS Master node HTTP API server
  variables:
    masterHost:
      default: 127.0.0.1
      description: IP address or hostname of the CubeFS Master node.
    masterPort:
      default: '17010'
      description: Listening port of the CubeFS Master node.
tags:
- name: Volumes
  description: Volume lifecycle management operations including creating, updating, expanding, shrinking, and deleting volumes. Volumes are the top-level storage namespaces in CubeFS.
paths:
  /admin/createVol:
    get:
      operationId: createVolume
      summary: CubeFS Create a volume
      description: Creates a new CubeFS volume with the specified configuration. Volumes are the top-level namespace for storing data. When created, CubeFS allocates 10 data partitions and 3 metadata partitions by default. If no user matching the owner ID exists, a new user is automatically created with that ID. The volume can be configured for replication or erasure coding.
      tags:
      - Volumes
      parameters:
      - name: name
        in: query
        required: true
        description: Unique name for the new volume.
        schema:
          type: string
      - name: capacity
        in: query
        required: true
        description: Capacity of the volume in GB.
        schema:
          type: integer
          minimum: 1
      - name: owner
        in: query
        required: true
        description: User ID that owns this volume. Creates the user if they do not exist.
        schema:
          type: string
      - name: mpCount
        in: query
        required: false
        description: Initial number of metadata partitions. Defaults to 3.
        schema:
          type: integer
          minimum: 1
      - name: dpCount
        in: query
        required: false
        description: Initial number of data partitions. Defaults to 10.
        schema:
          type: integer
          minimum: 1
      - name: replicaNum
        in: query
        required: false
        description: Replication factor for data partitions. Defaults to 3.
        schema:
          type: integer
          enum:
          - 1
          - 2
          - 3
      - name: followerRead
        in: query
        required: false
        description: Whether follower replicas can serve read requests.
        schema:
          type: string
          enum:
          - 'true'
          - 'false'
      - name: enablePosixAcl
        in: query
        required: false
        description: Whether POSIX ACL is enabled for this volume.
        schema:
          type: string
          enum:
          - 'true'
          - 'false'
      - name: volType
        in: query
        required: false
        description: Volume type. 0 for replicated, 1 for erasure coded.
        schema:
          type: integer
          enum:
          - 0
          - 1
      - name: qosEnable
        in: query
        required: false
        description: Whether QoS (quality of service) throttling is enabled.
        schema:
          type: string
          enum:
          - 'true'
          - 'false'
      responses:
        '200':
          description: Volume created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /admin/getVol:
    get:
      operationId: getVolume
      summary: CubeFS Get volume information
      description: Returns detailed information about a specific volume including its name, owner, capacity, replication configuration, data partition list, metadata partition list, and current status.
      tags:
      - Volumes
      parameters:
      - name: name
        in: query
        required: true
        description: Name of the volume to retrieve.
        schema:
          type: string
      - name: authKey
        in: query
        required: true
        description: MD5 of the owner's user ID for authentication.
        schema:
          type: string
      responses:
        '200':
          description: Volume information retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeInfoResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /admin/listVols:
    get:
      operationId: listVolumes
      summary: CubeFS List volumes
      description: Returns a list of all volumes in the cluster. The results can be filtered by keyword to match volume names containing the specified substring.
      tags:
      - Volumes
      parameters:
      - name: keywords
        in: query
        required: false
        description: Substring filter for volume names.
        schema:
          type: string
      responses:
        '200':
          description: Volume list retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /vol/update:
    get:
      operationId: updateVolume
      summary: CubeFS Update volume configuration
      description: Updates configuration parameters for an existing volume including capacity, replication settings, QoS parameters, follower read policy, and access control settings.
      tags:
      - Volumes
      parameters:
      - name: name
        in: query
        required: true
        description: Name of the volume to update.
        schema:
          type: string
      - name: authKey
        in: query
        required: true
        description: MD5 of the owner's user ID for authentication.
        schema:
          type: string
      - name: capacity
        in: query
        required: false
        description: New capacity in GB for the volume.
        schema:
          type: integer
          minimum: 1
      - name: followerRead
        in: query
        required: false
        description: Enable or disable follower reads.
        schema:
          type: string
          enum:
          - 'true'
          - 'false'
      - name: replicaNum
        in: query
        required: false
        description: New replication factor for the volume.
        schema:
          type: integer
      - name: enablePosixAcl
        in: query
        required: false
        description: Enable or disable POSIX ACL.
        schema:
          type: string
          enum:
          - 'true'
          - 'false'
      responses:
        '200':
          description: Volume updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /vol/delete:
    get:
      operationId: deleteVolume
      summary: CubeFS Delete a volume
      description: Marks a volume for deletion. The volume is first logically deleted by setting its status to deleted, then all data and metadata partitions are asynchronously removed via periodic tasks. Erasure-coded volumes can only be deleted when their used size is 0.
      tags:
      - Volumes
      parameters:
      - name: name
        in: query
        required: true
        description: Name of the volume to delete.
        schema:
          type: string
      - name: authKey
        in: query
        required: true
        description: MD5 of the owner's user ID for authentication.
        schema:
          type: string
      responses:
        '200':
          description: Volume deletion initiated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /vol/expand:
    get:
      operationId: expandVolume
      summary: CubeFS Expand volume capacity
      description: Expands the storage capacity of a volume to the specified size in GB. The new capacity must be larger than the current capacity. CubeFS will automatically allocate additional data partitions as needed.
      tags:
      - Volumes
      parameters:
      - name: name
        in: query
        required: true
        description: Name of the volume to expand.
        schema:
          type: string
      - name: authKey
        in: query
        required: true
        description: MD5 of the owner's user ID for authentication.
        schema:
          type: string
      - name: capacity
        in: query
        required: true
        description: New capacity in GB. Must be greater than current capacity.
        schema:
          type: integer
          minimum: 1
      responses:
        '200':
          description: Volume expansion initiated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  responses:
    Unauthorized:
      description: Authentication credentials are missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    BadRequest:
      description: The request was malformed or missing required parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  schemas:
    VolumeListResponse:
      type: object
      description: List of volumes response.
      properties:
        code:
          type: integer
          description: Response code. 200 indicates success.
        msg:
          type: string
          description: Response message.
        data:
          type: array
          description: List of volume summary objects.
          items:
            $ref: '#/components/schemas/VolumeView'
    VolumeView:
      type: object
      description: Summary view of a CubeFS volume.
      properties:
        Name:
          type: string
          description: Name of the volume.
        Owner:
          type: string
          description: User ID that owns the volume.
        CreateTime:
          type: string
          description: Volume creation timestamp.
        Status:
          type: integer
          description: Volume status. 0 is normal, 1 is marked for deletion.
        TotalSize:
          type: integer
          description: Total capacity allocated to the volume in bytes.
        UsedSize:
          type: integer
          description: Amount of storage used in bytes.
        DpCnt:
          type: integer
          description: Number of data partitions.
        MpCnt:
          type: integer
          description: Number of metadata partitions.
    GeneralResponse:
      type: object
      description: General success response from the CubeFS Master API.
      properties:
        code:
          type: integer
          description: Response code. 200 indicates success.
        msg:
          type: string
          description: Response message, typically "success".
        data:
          description: Response data, content varies by operation.
    MetaPartitionView:
      type: object
      description: Summary of a metadata partition.
      properties:
        PartitionID:
          type: integer
          description: Unique partition identifier.
        Start:
          type: integer
          description: Start of the inode range for this partition.
        End:
          type: integer
          description: End of the inode range for this partition.
        InodeCount:
          type: integer
          description: Current number of inodes in this partition.
        MaxInodeID:
          type: integer
          description: Highest inode ID in this partition.
        IsRecover:
          type: boolean
          description: Whether this partition is currently recovering.
        Hosts:
          type: array
          description: Metadata nodes hosting this partition.
          items:
            type: string
            description: Node address in host:port format.
    VolumeInfo:
      type: object
      description: Detailed information about a CubeFS volume.
      properties:
        Name:
          type: string
          description: Name of the volume.
        Owner:
          type: string
          description: User ID that owns the volume.
        Capacity:
          type: integer
          description: Total configured capacity in GB.
        ReplicaNum:
          type: integer
          description: Replication factor for data partitions.
        FollowerRead:
          type: boolean
          description: Whether follower replicas can serve reads.
        Status:
          type: integer
          description: Volume status. 0 is normal, 1 is marked for deletion.
        EnablePosixAcl:
          type: boolean
          description: Whether POSIX ACL is enabled.
        VolType:
          type: integer
          description: Volume type. 0 for replicated, 1 for erasure coded.
        DataPartitions:
          type: array
          description: List of data partitions belonging to this volume.
          items:
            $ref: '#/components/schemas/DataPartitionView'
        MetaPartitions:
          type: array
          description: List of metadata partitions belonging to this volume.
          items:
            $ref: '#/components/schemas/MetaPartitionView'
    DataPartitionView:
      type: object
      description: Summary of a data partition.
      properties:
        PartitionID:
          type: integer
          description: Unique partition identifier.
        Status:
          type: integer
          description: Partition status.
        ReplicaNum:
          type: integer
          description: Number of replicas for this partition.
        Hosts:
          type: array
          description: Data nodes hosting replicas of this partition.
          items:
            type: string
            description: Node address in host:port format.
    ErrorResponse:
      type: object
      description: Error response from the CubeFS Master API.
      properties:
        code:
          type: integer
          description: Error code. Non-200 values indicate failure.
        msg:
          type: string
          description: Human-readable error message.
        data:
          description: Additional error context, may be null or empty.
    VolumeInfoResponse:
      type: object
      description: Detailed volume information response.
      properties:
        code:
          type: integer
          description: Response code. 200 indicates success.
        msg:
          type: string
          description: Response message.
        data:
          $ref: '#/components/schemas/VolumeInfo'
externalDocs:
  description: CubeFS Master Admin API Reference
  url: https://cubefs.io/docs/master/dev-guide/admin-api/master/