XSKY fs-folders API

FSFolderController provides API for file storage folder

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/xsky-fs-folders-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 email required.

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

OpenAPI Specification

xsky-fs-folders-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  description: XMS is the controller of distributed storage system
  version: SDS_4.2.000.0.200302
  title: XMS access-paths fs-folders API
  contact: {}
  license:
    name: Commercial
basePath: /v1
tags:
- name: fs-folders
  description: 'FSFolderController provides API for file storage folder

    '
paths:
  /fs-folders/:
    get:
      tags:
      - fs-folders
      description: List file storage folders
      operationId: ListFolders
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: limit
        in: query
        description: paging param
        required: false
        type: integer
        format: int64
        x-exportParamName: Limit
      - name: offset
        in: query
        description: paging param
        required: false
        type: integer
        format: int64
        x-exportParamName: Offset
      - name: q
        in: query
        description: query param of search
        required: false
        type: string
        x-exportParamName: Q
      - name: sort
        in: query
        description: sort param of search
        required: false
        type: string
        x-exportParamName: Sort
      - name: fs_user_id
        in: query
        description: file storage user id
        required: false
        type: integer
        format: int64
        x-exportParamName: FsUserId
      - name: fs_user_group_id
        in: query
        description: file storage user group id
        required: false
        type: integer
        format: int64
        x-exportParamName: FsUserGroupId
      - name: fs_gateway_group_id
        in: query
        description: file storage gateway group id
        required: false
        type: integer
        format: int64
        x-exportParamName: FsGatewayGroupId
      - name: fs_snapshot_id
        in: query
        description: file storage snapshot id
        required: false
        type: integer
        format: int64
        x-exportParamName: FsSnapshotId
      - name: fs_client_id
        in: query
        description: file storage client id
        required: false
        type: integer
        format: int64
        x-exportParamName: FsClientId
      - name: fs_client_group_id
        in: query
        description: file storage client group id
        required: false
        type: integer
        format: int64
        x-exportParamName: FsClientGroupId
      - name: pool_id
        in: query
        description: pool id
        required: false
        type: integer
        format: int64
        x-exportParamName: PoolId
      responses:
        200:
          description: OK
          schema:
            $ref: '#/definitions/FSFoldersResp'
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
    post:
      tags:
      - fs-folders
      description: Create file storage folder
      operationId: CreateFolder
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: folder info
        required: true
        schema:
          $ref: '#/definitions/FSFolderCreateReq'
        x-exportParamName: Body
      responses:
        200:
          description: OK
          schema:
            $ref: '#/definitions/FSFolderResp'
        202:
          description: Accepted
          schema:
            $ref: '#/definitions/FSFolderResp'
        400:
          description: BadRequest
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
  /fs-folders/{fs_folder_id}:
    get:
      tags:
      - fs-folders
      description: Get file storage folder
      operationId: GetFolder
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: fs_folder_id
        in: path
        description: folder id
        required: true
        type: integer
        format: int64
        x-exportParamName: FsFolderId
      responses:
        200:
          description: OK
          schema:
            $ref: '#/definitions/FSFolderResp'
        404:
          description: NotFound
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
    delete:
      tags:
      - fs-folders
      description: delete file storage folder
      operationId: DeleteFolder
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: force
        in: query
        description: force delete
        required: false
        type: boolean
        x-exportParamName: Force
      - name: fs_folder_id
        in: path
        description: folder id
        required: true
        type: integer
        format: int64
        x-exportParamName: FsFolderId
      responses:
        202:
          description: Accepted
          schema:
            $ref: '#/definitions/FSFolderResp'
        404:
          description: NotFound
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
    patch:
      tags:
      - fs-folders
      description: Update file storage folder
      operationId: UpdateFolder
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: fs_folder_id
        in: path
        description: folder id
        required: true
        type: integer
        format: int64
        x-exportParamName: FsFolderId
      - in: body
        name: body
        description: folder info
        required: true
        schema:
          $ref: '#/definitions/FSFolderUpdateReq'
        x-exportParamName: Body
      responses:
        202:
          description: Accepted
          schema:
            $ref: '#/definitions/FSFolderResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
  /fs-folders/{fs_folder_id}/fs-quota-trees:
    put:
      tags:
      - fs-folders
      description: add file storage quota trees
      operationId: AddFSQuotaTrees
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: fs_folder_id
        in: path
        description: fs folder id
        required: true
        type: integer
        format: int64
        x-exportParamName: FsFolderId
      - in: body
        name: body
        description: quota trees info
        required: true
        schema:
          $ref: '#/definitions/FSFolderAddQuotaTreesReq'
        x-exportParamName: Body
      responses:
        202:
          description: Accepted
          schema:
            $ref: '#/definitions/FSFolderResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
    delete:
      tags:
      - fs-folders
      description: delete fs quota trees from fs folder
      operationId: RemoveFSQuotaTrees
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: fs_folder_id
        in: path
        description: fs folder id
        required: true
        type: integer
        format: int64
        x-exportParamName: FsFolderId
      - in: body
        name: body
        description: quota trees info
        required: true
        schema:
          $ref: '#/definitions/FSFolderRemoveQuotaTreesReq'
        x-exportParamName: Body
      responses:
        202:
          description: Accepted
          schema:
            $ref: '#/definitions/FSFolderResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
  /fs-folders/{fs_folder_id}/samples:
    get:
      tags:
      - fs-folders
      description: get a file storage folder's samples
      operationId: GetFSFolderSamples
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: fs_folder_id
        in: path
        description: file storage folder id
        required: true
        type: integer
        format: int64
        x-exportParamName: FsFolderId
      - name: duration_begin
        in: query
        description: duration begin timestamp
        required: false
        type: string
        x-exportParamName: DurationBegin
      - name: duration_end
        in: query
        description: duration end timestamp
        required: false
        type: string
        x-exportParamName: DurationEnd
      - name: period
        in: query
        description: samples period
        required: false
        type: string
        x-exportParamName: Period
      responses:
        200:
          description: OK
          schema:
            $ref: '#/definitions/FSFolderSamplesResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
  /fs-folders/{fs_folder_id}:roll-back:
    post:
      tags:
      - fs-folders
      description: roll back file storage folder
      operationId: RollBackFolder
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: fs_folder_id
        in: path
        description: folder id
        required: true
        type: integer
        format: int64
        x-exportParamName: FsFolderId
      - in: body
        name: body
        description: folder info
        required: true
        schema:
          $ref: '#/definitions/FSFolderRollBackReq'
        x-exportParamName: Body
      responses:
        202:
          description: Accepted
          schema:
            $ref: '#/definitions/FSFolderResp'
        404:
          description: NotFound
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
  /fs-folders/{fs_folder_id}:set-snapshot-protection:
    post:
      tags:
      - fs-folders
      description: Set snapshot protection for a fs folder
      operationId: SetFSSnapshotProtection
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: fs_folder_id
        in: path
        description: fs folder id in db
        required: true
        type: integer
        format: int64
        x-exportParamName: FsFolderId
      - in: body
        name: body
        description: request info
        required: true
        schema:
          $ref: '#/definitions/FSFolderSnapshotProtectionReq'
        x-exportParamName: Body
      responses:
        202:
          description: Accepted
          schema:
            $ref: '#/definitions/FSFolderResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
  /fs-folders/{fs_folder_id}:unset-snapshot-protection:
    post:
      tags:
      - fs-folders
      description: Unset snapshot protection for a fs folder
      operationId: UnsetFSSnapshotProtection
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: fs_folder_id
        in: path
        description: fs_folder id in db
        required: true
        type: integer
        format: int64
        x-exportParamName: FsFolderId
      - name: force
        in: query
        description: force unset or not
        required: false
        type: boolean
        x-exportParamName: Force
      responses:
        202:
          description: Accepted
          schema:
            $ref: '#/definitions/FSFolderResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
definitions:
  FSFolderUpdateReq:
    type: object
    required:
    - fs_folder
    properties:
      fs_folder:
        $ref: '#/definitions/FSFolderUpdateReq_Folder'
    title: FSFolderUpdateReq
  FSFolderCreateReq:
    type: object
    required:
    - fs_folder
    properties:
      fs_folder:
        $ref: '#/definitions/FSFolderCreateReq_Folder'
    title: FSFolderCreateReq
  FSFolderAddQuotaTreesReq:
    type: object
    required:
    - fs_folder
    properties:
      fs_folder:
        $ref: '#/definitions/FSFolderAddQuotaTreesReq_Folder'
    title: FSFolderAddQuotaTreesReq
  FSFolder:
    type: object
    properties:
      access_path:
        $ref: '#/definitions/AccessPath_Nestview'
      action_status:
        type: string
      block_volume:
        $ref: '#/definitions/Volume_Nestview'
      block_volume_status:
        type: string
      create:
        type: string
        format: date-time
      description:
        type: string
      dp_fs_snapshot_policy:
        $ref: '#/definitions/DpFSSnapshotPolicy_Nestview'
      flattened:
        type: boolean
      formatted:
        type: boolean
      fs_gateway_group:
        $ref: '#/definitions/FSGatewayGroup'
      fs_quota_tree_num:
        type: integer
        format: int64
      fs_snapshot:
        $ref: '#/definitions/FSSnapshot_Nestview'
      fs_snapshot_num:
        type: integer
        format: int64
      id:
        type: integer
        format: int64
      latest_snapshot_time:
        type: string
        format: date-time
      name:
        type: string
      pool:
        $ref: '#/definitions/Pool_Nestview'
      progress:
        type: number
        format: double
      qos:
        $ref: '#/definitions/VolumeQosSpec'
      qos_enabled:
        type: boolean
      quota_tree_share_types:
        type: array
        items:
          type: string
      quota_tree_shared:
        type: boolean
      share_types:
        type: array
        items:
          type: string
      shared:
        type: boolean
        description: 'before version 3.2.14, these fields was calculated by wizard, but there is quota

          trees in new verion, calculations is too complicated, so add the fields to

          folder struct'
      size:
        type: integer
        format: int64
      status:
        type: string
      update:
        type: string
        format: date-time
    title: FSFolder
    description: FSFolder defines model of file storage folder
  FSFolderRollBackReq_Folder:
    type: object
    properties:
      fs_snapshot_id:
        type: integer
        format: int64
        description: file storage snapshot id
    title: FSFolderRollBackReq_Folder
  FSFolderStat:
    type: object
    properties:
      create:
        type: string
        format: date-time
      read_bandwidth_kbyte:
        type: number
        format: double
      read_iops:
        type: number
        format: double
      read_latency_us:
        type: number
        format: double
      total_bandwidth_kbyte:
        type: number
        format: double
      total_iops:
        type: number
        format: double
      used_kbyte:
        type: number
        format: double
      write_bandwidth_kbyte:
        type: number
        format: double
      write_iops:
        type: number
        format: double
      write_latency_us:
        type: number
        format: double
    title: FSFolderStat
    description: FSFolderStat records file storage folder stat info
    example:
      used_kbyte: 2.3021358869347655
      read_bandwidth_kbyte: 0.8008281904610115
      write_bandwidth_kbyte: 7.061401241503109
      create: '2000-01-23T04:56:07.000+00:00'
      total_bandwidth_kbyte: 5.962133916683182
      write_iops: 9.301444243932576
      write_latency_us: 3.616076749251911
      total_iops: 5.637376656633329
      read_latency_us: 1.4658129805029452
      read_iops: 6.027456183070403
  FSFolderAddQuotaTreesReq_Folder_QuotaTrees_Elt:
    type: object
    required:
    - name
    properties:
      name:
        type: string
        description: name of quota tree
      size:
        type: integer
        format: int64
        description: size of quota tree
      soft_quota_size:
        type: integer
        format: int64
        description: soft quota size of quota tree
    title: FSFolderAddQuotaTreesReq_Folder_QuotaTrees_Elt
  FSFolderUpdateReq_Folder:
    type: object
    properties:
      description:
        type: string
        description: description of folder
      name:
        type: string
        description: name of folder
      qos:
        description: qos of volume
        $ref: '#/definitions/VolumeQosSpec'
      qos_enabled:
        type: boolean
        description: enable or disable the qos
      size:
        type: integer
        format: int64
        description: size of folder
    title: FSFolderUpdateReq_Folder
  AccessPath_Nestview:
    type: object
    properties:
      id:
        type: integer
        format: int64
      name:
        type: string
    title: AccessPath_Nestview
    example:
      name: name
      id: 0
  FSFolderSamplesResp:
    type: object
    properties:
      fs_folder_samples:
        type: array
        items:
          $ref: '#/definitions/FSFolderStat'
    title: FSFolderSamplesResp
    example:
      fs_folder_samples:
      - used_kbyte: 2.3021358869347655
        read_bandwidth_kbyte: 0.8008281904610115
        write_bandwidth_kbyte: 7.061401241503109
        create: '2000-01-23T04:56:07.000+00:00'
        total_bandwidth_kbyte: 5.962133916683182
        write_iops: 9.301444243932576
        write_latency_us: 3.616076749251911
        total_iops: 5.637376656633329
        read_latency_us: 1.4658129805029452
        read_iops: 6.027456183070403
      - used_kbyte: 2.3021358869347655
        read_bandwidth_kbyte: 0.8008281904610115
        write_bandwidth_kbyte: 7.061401241503109
        create: '2000-01-23T04:56:07.000+00:00'
        total_bandwidth_kbyte: 5.962133916683182
        write_iops: 9.301444243932576
        write_latency_us: 3.616076749251911
        total_iops: 5.637376656633329
        read_latency_us: 1.4658129805029452
        read_iops: 6.027456183070403
  FSFolderRemoveQuotaTreesReq_Folder:
    type: object
    properties:
      fs_quota_tree_ids:
        type: array
        description: id array of quota trees
        items:
          type: integer
          format: int64
    title: FSFolderRemoveQuotaTreesReq_Folder
  FSSnapshot_Nestview:
    type: object
    properties:
      id:
        type: integer
        format: int64
      name:
        type: string
    title: FSSnapshot_Nestview
    example:
      name: name
      id: 1
  FSFolderCreateReq_Folder:
    type: object
    required:
    - name
    properties:
      description:
        type: string
        description: description of folder
      flattened:
        type: boolean
        description: flatten or not flatten
      fs_snapshot_id:
        type: integer
        format: int64
        description: file storage snapshot id
      name:
        type: string
        description: name of folder
      pool_id:
        type: integer
        format: int64
        description: id of pool
      qos:
        description: qos of volume
        $ref: '#/definitions/VolumeQosSpec'
      qos_enabled:
        type: boolean
        description: enable or disable the qos
      size:
        type: integer
        format: int64
        description: size of folder
    title: FSFolderCreateReq_Folder
  FSFolderRemoveQuotaTreesReq:
    type: object
    required:
    - fs_folder
    properties:
      fs_folder:
        $ref: '#/definitions/FSFolderRemoveQuotaTreesReq_Folder'
    title: FSFolderRemoveQuotaTreesReq
  FSGatewayGroup:
    type: object
    properties:
      action_status:
        type: string
      create:
        type: string
        format: date-time
      description:
        type: string
      encoding:
        type: string
      folder_num:
        type: integer
        format: int64
      id:
        type: integer
        format: int64
      name:
        type: string
      nfs_versions:
        type: array
        description: NFS attributes
        items:
          type: string
      port:
        type: integer
        format: int64
        description: FTP attributes
      security:
        type: string
        description: SMB attributes
      smb1_enabled:
        type: boolean
      smb_ports:
        type: array
        items:
          type: integer
          format: int64
      status:
        type: string
      types:
        type: array
        items:
          type: string
      update:
        type: string
        format: date-time
      user_group_num:
        type: integer
        format: int64
      vip:
        type: string
      vip_mask:
        type: integer
        format: int64
    title: FSGatewayGroup
    description: FSGatewayGroup defines model of file storage gateway group @grpc-models-proto
    example:
      smb_ports:
      - 5
      - 5
      types:
      - types
      - types
      smb1_enabled: true
      description: description
      update: '2000-01-23T04:56:07.000+00:00'
      vip_mask: 2
      encoding: encoding
      security: security
      port: 1
      name: name
      create: '2000-01-23T04:56:07.000+00:00'
      nfs_versions:
      - nfs_versions
      - nfs_versions
      user_group_num: 5
      id: 6
      vip: vip
      action_status: action_status
      folder_num: 0
      status: status
  FSFolderAddQuotaTreesReq_Folder:
    type: object
    required:
    - fs_quota_trees
    properties:
      fs_quota_trees:
        type: array
        items:
          $ref: '#/definitions/FSFolderAddQuotaTreesReq_Folder_QuotaTrees_Elt'
    title: FSFolderAddQuotaTreesReq_Folder
  FSFolderSnapshotProtectionReq_Folder:
    type: object
    required:
    - dp_fs_snapshot_policy_id
    properties:
      dp_fs_snapshot_policy_id:
        type: integer
        format: int64
        description: id of dp fs snapshot policy
    title: FSFolderSnapshotProtectionReq_Folder
  FSFolderRollBackReq:
    type: object
    required:
    - fs_folder
    properties:
      fs_folder:
        $ref: '#/definitions/FSFolderRollBackReq_Folder'
    title: FSFolderRollBackReq
  FSFolderSnapshotProtectionReq:
    type: object
    required:
    - fs_folder
    properties:
      fs_folder:
        $ref: '#/definitions/FSFolderSnapshotProtectionReq_Folder'
    title: FSFolderSnapshotProtectionReq
  VolumeQosSpec:
    type: object
    properties:
      burst_total_bw:
        type: integer
        format: int64
      burst_total_iops:
        type: integer
        format: int64
      max_total_bw:
        type: integer
        format: int64
      max_total_iops:
        type: integer
        format: int64
    title: VolumeQosSpec
    description: VolumeQosSpec is a collection of all qos field
    example:
      burst_total_iops: 2
      max_total_iops: 9
      burst_total_bw: 5
      max_total_bw: 7
  Pool_Nestview:
    type: object
    properties:
      id:
        type: integer
        format: int64
      name:
        type: string
    title: Pool_Nestview
    example:
      name: name
      id: 5
  FSFoldersResp:
    type: object
    required:
    - fs_folders
    properties:
      fs_folders:
        type: array
        description: file storage folder records
        items:
          $ref: '#/definitions/FSFolderRecord'
    title: FSFoldersResp
    example:
      fs_folders:
      - ''
      - ''
  FSFolderResp:
    type: object
    required:
    - fs_folder
    properties:
      fs_folder:
        description: file storage folder records
        $ref: '#/definitions/FSFolderRecord'
    title: FSFolderResp
    example:
      fs_folder: ''
  FSFolderRecord:
    title: FSFolderRecord
    allOf:
    - $ref: '#/definitions/FSFolder'
    - properties:
        samples:
          type: array
          items:
            $ref: '#/definitions/FSFolderStat'
    description: FSFolderRecord combine FSFolder and FSFolderStat as API response
  Volume_Nestview:
    type: object
    properties:
      id:
        type: integer
        format: int64
      name:
        type: string
      original_name:
        type: string
    title: Volume_Nestview
    example:
      original_name: original_name
      name: name
      id: 9
  DpFSSnapshotPolicy_Nestview:
    type: object
    properties:
      id:
        type: integer
        format: int64
      name:
        type: string
    title: DpFSSnapshotPolicy_Nestview
    example:
      name: name
      id: 0
securityDefinitions:
  tokenInHeader:
    description: auth by token
    type: apiKey
    name: Xms-Auth-Token
    in: header
  tokenInQuery:
    description: auth by token
    type: apiKey
    name: token
    in: query