XSKY fs-folders API

FSFolderController provides API for file storage folder

Operations 11

GET /fs-folders/ #
POST /fs-folders/ #
GET /fs-folders/{fs_folder_id} #
DELETE /fs-folders/{fs_folder_id} #
PATCH /fs-folders/{fs_folder_id} #
PUT /fs-folders/{fs_folder_id}/fs-quota-trees #
DELETE /fs-folders/{fs_folder_id}/fs-quota-trees #
GET /fs-folders/{fs_folder_id}/samples #
POST /fs-folders/{fs_folder_id}:roll-back #
POST /fs-folders/{fs_folder_id}:set-snapshot-protection #
POST /fs-folders/{fs_folder_id}:unset-snapshot-protection #

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 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

xsky-fs-folders-api-openapi.yml Raw ↑
openapi: 3.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
servers:
- url: /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
      parameters:
      - name: limit
        in: query
        description: paging param
        required: false
        x-exportParamName: Limit
        schema:
          type: integer
          format: int64
      - name: offset
        in: query
        description: paging param
        required: false
        x-exportParamName: Offset
        schema:
          type: integer
          format: int64
      - name: q
        in: query
        description: query param of search
        required: false
        x-exportParamName: Q
        schema:
          type: string
      - name: sort
        in: query
        description: sort param of search
        required: false
        x-exportParamName: Sort
        schema:
          type: string
      - name: fs_user_id
        in: query
        description: file storage user id
        required: false
        x-exportParamName: FsUserId
        schema:
          type: integer
          format: int64
      - name: fs_user_group_id
        in: query
        description: file storage user group id
        required: false
        x-exportParamName: FsUserGroupId
        schema:
          type: integer
          format: int64
      - name: fs_gateway_group_id
        in: query
        description: file storage gateway group id
        required: false
        x-exportParamName: FsGatewayGroupId
        schema:
          type: integer
          format: int64
      - name: fs_snapshot_id
        in: query
        description: file storage snapshot id
        required: false
        x-exportParamName: FsSnapshotId
        schema:
          type: integer
          format: int64
      - name: fs_client_id
        in: query
        description: file storage client id
        required: false
        x-exportParamName: FsClientId
        schema:
          type: integer
          format: int64
      - name: fs_client_group_id
        in: query
        description: file storage client group id
        required: false
        x-exportParamName: FsClientGroupId
        schema:
          type: integer
          format: int64
      - name: pool_id
        in: query
        description: pool id
        required: false
        x-exportParamName: PoolId
        schema:
          type: integer
          format: int64
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FSFoldersResp'
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
    post:
      tags:
      - fs-folders
      description: Create file storage folder
      operationId: CreateFolder
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FSFolderResp'
        202:
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FSFolderResp'
        400:
          description: BadRequest
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FSFolderCreateReq'
        description: folder info
        required: true
  /fs-folders/{fs_folder_id}:
    get:
      tags:
      - fs-folders
      description: Get file storage folder
      operationId: GetFolder
      parameters:
      - name: fs_folder_id
        in: path
        description: folder id
        required: true
        x-exportParamName: FsFolderId
        schema:
          type: integer
          format: int64
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FSFolderResp'
        404:
          description: NotFound
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
    delete:
      tags:
      - fs-folders
      description: delete file storage folder
      operationId: DeleteFolder
      parameters:
      - name: force
        in: query
        description: force delete
        required: false
        x-exportParamName: Force
        schema:
          type: boolean
      - name: fs_folder_id
        in: path
        description: folder id
        required: true
        x-exportParamName: FsFolderId
        schema:
          type: integer
          format: int64
      responses:
        202:
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FSFolderResp'
        404:
          description: NotFound
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
    patch:
      tags:
      - fs-folders
      description: Update file storage folder
      operationId: UpdateFolder
      parameters:
      - name: fs_folder_id
        in: path
        description: folder id
        required: true
        x-exportParamName: FsFolderId
        schema:
          type: integer
          format: int64
      responses:
        202:
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FSFolderResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FSFolderUpdateReq'
        description: folder info
        required: true
  /fs-folders/{fs_folder_id}/fs-quota-trees:
    put:
      tags:
      - fs-folders
      description: add file storage quota trees
      operationId: AddFSQuotaTrees
      parameters:
      - name: fs_folder_id
        in: path
        description: fs folder id
        required: true
        x-exportParamName: FsFolderId
        schema:
          type: integer
          format: int64
      responses:
        202:
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FSFolderResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FSFolderAddQuotaTreesReq'
        description: quota trees info
        required: true
    delete:
      tags:
      - fs-folders
      description: delete fs quota trees from fs folder
      operationId: RemoveFSQuotaTrees
      parameters:
      - name: fs_folder_id
        in: path
        description: fs folder id
        required: true
        x-exportParamName: FsFolderId
        schema:
          type: integer
          format: int64
      responses:
        202:
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FSFolderResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FSFolderRemoveQuotaTreesReq'
        description: quota trees info
        required: true
  /fs-folders/{fs_folder_id}/samples:
    get:
      tags:
      - fs-folders
      description: get a file storage folder's samples
      operationId: GetFSFolderSamples
      parameters:
      - name: fs_folder_id
        in: path
        description: file storage folder id
        required: true
        x-exportParamName: FsFolderId
        schema:
          type: integer
          format: int64
      - name: duration_begin
        in: query
        description: duration begin timestamp
        required: false
        x-exportParamName: DurationBegin
        schema:
          type: string
      - name: duration_end
        in: query
        description: duration end timestamp
        required: false
        x-exportParamName: DurationEnd
        schema:
          type: string
      - name: period
        in: query
        description: samples period
        required: false
        x-exportParamName: Period
        schema:
          type: string
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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
      parameters:
      - name: fs_folder_id
        in: path
        description: folder id
        required: true
        x-exportParamName: FsFolderId
        schema:
          type: integer
          format: int64
      responses:
        202:
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FSFolderResp'
        404:
          description: NotFound
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FSFolderRollBackReq'
        description: folder info
        required: true
  /fs-folders/{fs_folder_id}:set-snapshot-protection:
    post:
      tags:
      - fs-folders
      description: Set snapshot protection for a fs folder
      operationId: SetFSSnapshotProtection
      parameters:
      - name: fs_folder_id
        in: path
        description: fs folder id in db
        required: true
        x-exportParamName: FsFolderId
        schema:
          type: integer
          format: int64
      responses:
        202:
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FSFolderResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FSFolderSnapshotProtectionReq'
        description: request info
        required: true
  /fs-folders/{fs_folder_id}:unset-snapshot-protection:
    post:
      tags:
      - fs-folders
      description: Unset snapshot protection for a fs folder
      operationId: UnsetFSSnapshotProtection
      parameters:
      - name: fs_folder_id
        in: path
        description: fs_folder id in db
        required: true
        x-exportParamName: FsFolderId
        schema:
          type: integer
          format: int64
      - name: force
        in: query
        description: force unset or not
        required: false
        x-exportParamName: Force
        schema:
          type: boolean
      responses:
        202:
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FSFolderResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
components:
  schemas:
    FSFolder:
      type: object
      properties:
        access_path:
          $ref: '#/components/schemas/AccessPath_Nestview'
        action_status:
          type: string
        block_volume:
          $ref: '#/components/schemas/Volume_Nestview'
        block_volume_status:
          type: string
        create:
          type: string
          format: date-time
        description:
          type: string
        dp_fs_snapshot_policy:
          $ref: '#/components/schemas/DpFSSnapshotPolicy_Nestview'
        flattened:
          type: boolean
        formatted:
          type: boolean
        fs_gateway_group:
          $ref: '#/components/schemas/FSGatewayGroup'
        fs_quota_tree_num:
          type: integer
          format: int64
        fs_snapshot:
          $ref: '#/components/schemas/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: '#/components/schemas/Pool_Nestview'
        progress:
          type: number
          format: double
        qos:
          $ref: '#/components/schemas/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
    DpFSSnapshotPolicy_Nestview:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
      title: DpFSSnapshotPolicy_Nestview
      example:
        name: name
        id: 0
    FSFolderRemoveQuotaTreesReq:
      type: object
      required:
      - fs_folder
      properties:
        fs_folder:
          $ref: '#/components/schemas/FSFolderRemoveQuotaTreesReq_Folder'
      title: FSFolderRemoveQuotaTreesReq
    FSFolderCreateReq:
      type: object
      required:
      - fs_folder
      properties:
        fs_folder:
          $ref: '#/components/schemas/FSFolderCreateReq_Folder'
      title: FSFolderCreateReq
    FSFolderSamplesResp:
      type: object
      properties:
        fs_folder_samples:
          type: array
          items:
            $ref: '#/components/schemas/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
    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
    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
    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
    FSFoldersResp:
      type: object
      required:
      - fs_folders
      properties:
        fs_folders:
          type: array
          description: file storage folder records
          items:
            $ref: '#/components/schemas/FSFolderRecord'
      title: FSFoldersResp
      example:
        fs_folders:
        - ''
        - ''
    Pool_Nestview:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
      title: Pool_Nestview
      example:
        name: name
        id: 5
    FSFolderRollBackReq:
      type: object
      required:
      - fs_folder
      properties:
        fs_folder:
          $ref: '#/components/schemas/FSFolderRollBackReq_Folder'
      title: FSFolderRollBackReq
    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: '#/components/schemas/VolumeQosSpec'
        qos_enabled:
          type: boolean
          description: enable or disable the qos
        size:
          type: integer
          format: int64
          description: size of folder
      title: FSFolderUpdateReq_Folder
    FSFolderUpdateReq:
      type: object
      required:
      - fs_folder
      properties:
        fs_folder:
          $ref: '#/components/schemas/FSFolderUpdateReq_Folder'
      title: FSFolderUpdateReq
    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
    AccessPath_Nestview:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
      title: AccessPath_Nestview
      example:
        name: name
        id: 0
    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
    FSFolderRecord:
      title: FSFolderRecord
      allOf:
      - $ref: '#/components/schemas/FSFolder'
      - properties:
          samples:
            type: array
            items:
              $ref: '#/components/schemas/FSFolderStat'
      description: FSFolderRecord combine FSFolder and FSFolderStat as API response
    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
    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: '#/components/schemas/VolumeQosSpec'
        qos_enabled:
          type: boolean
          description: enable or disable the qos
        size:
          type: integer
          format: int64
          description: size of folder
      title: FSFolderCreateReq_Folder
    FSSnapshot_Nestview:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
      title: FSSnapshot_Nestview
      example:
        name: name
        id: 1
    FSFolderSnapshotProtectionReq:
      type: object
      required:
      - fs_folder
      properties:
        fs_folder:
          $ref: '#/components/schemas/FSFolderSnapshotProtectionReq_Folder'
      title: FSFolderSnapshotProtectionReq
    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:
      type: object
      required:
      - fs_folder
      properties:
        fs_folder:
          $ref: '#/components/schemas/FSFolderAddQuotaTreesReq_Folder'
      title: FSFolderAddQuotaTreesReq
    FSFolderResp:
      type: object
      required:
      - fs_folder
      properties:
        fs_folder:
          description: file storage folder records
          $ref: '#/components/schemas/FSFolderRecord'
      title: FSFolderResp
      example:
        fs_folder: ''
    FSFolderAddQuotaTreesReq_Folder:
      type: object
      required:
      - fs_quota_trees
      properties:
        fs_quota_trees:
          type: array
          items:
            $ref: '#/components/schemas/FSFolderAddQuotaTreesReq_Folder_QuotaTrees_Elt'
      title: FSFolderAddQuotaTreesReq_Folder
  securitySchemes:
    tokenInHeader:
      description: auth by token
      type: apiKey
      name: Xms-Auth-Token
      in: header
    tokenInQuery:
      description: auth by token
      type: apiKey
      name: token
      in: query