XSKY hosts API

HostController Host Management

Operations 6

GET /hosts/ #
POST /hosts/ #
GET /hosts/{host_id} #
DELETE /hosts/{host_id} #
PATCH /hosts/{host_id} #
GET /hosts/{host_id}/samples #

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-hosts-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-hosts-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 Hosts API
  contact: {}
  license:
    name: Commercial
servers:
- url: /v1
tags:
- name: hosts
  description: 'HostController Host Management

    '
paths:
  /hosts/:
    get:
      tags:
      - hosts
      description: List hosts by fileter
      operationId: ListHosts
      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: protection_domain_id
        in: query
        description: protection domain id
        required: false
        x-exportParamName: ProtectionDomainId
        schema:
          type: integer
          format: int64
      - name: hostname
        in: query
        description: host name
        required: false
        x-exportParamName: Hostname
        schema:
          type: string
      - name: type
        in: query
        description: if it existed, value should be xdcactive
        required: false
        x-exportParamName: Type_
        schema:
          type: string
      - name: role
        in: query
        description: filter by host role
        required: false
        x-exportParamName: Role
        schema:
          type: string
      - name: fc_available
        in: query
        description: available host with fc port
        required: false
        x-exportParamName: FcAvailable
        schema:
          type: boolean
      - name: replication_gateway_available
        in: query
        description: available host for replication gateway
        required: false
        x-exportParamName: ReplicationGatewayAvailable
        schema:
          type: boolean
      - 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_gateway_group_used
        in: query
        description: used in file storage gateway group
        required: false
        x-exportParamName: FsGatewayGroupUsed
        schema:
          type: boolean
      - 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
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HostsResp'
        400:
          description: BadRequest
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
    post:
      tags:
      - hosts
      description: check env and install packages
      operationId: CreateHost
      responses:
        202:
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HostResp'
        400:
          description: BadRequest
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HostCreateReq'
        description: host info
        required: true
  /hosts/{host_id}:
    get:
      tags:
      - hosts
      description: get a host info
      operationId: GetHost
      parameters:
      - name: host_id
        in: path
        description: the host id
        required: true
        x-exportParamName: HostId
        schema:
          type: integer
          format: int64
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HostResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
    delete:
      tags:
      - hosts
      description: delete host
      operationId: DeleteHost
      parameters:
      - name: host_id
        in: path
        description: host id
        required: true
        x-exportParamName: HostId
        schema:
          type: integer
          format: int64
      - name: force
        in: query
        description: force delete or not
        required: false
        x-exportParamName: Force
        schema:
          type: boolean
      responses:
        202:
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HostResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        409:
          description: Conflict
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
    patch:
      tags:
      - hosts
      description: update host info
      operationId: UpdateHost
      parameters:
      - name: host_id
        in: path
        description: host id
        required: true
        x-exportParamName: HostId
        schema:
          type: integer
          format: int64
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HostResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HostUpdateReq'
        description: host info
        required: true
  /hosts/{host_id}/samples:
    get:
      tags:
      - hosts
      description: get a host's samples
      operationId: GetHostSamples
      parameters:
      - name: host_id
        in: path
        description: host id
        required: true
        x-exportParamName: HostId
        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/HostSamplesResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
components:
  schemas:
    HostStat:
      type: object
      properties:
        context_switch_ps:
          type: number
          format: double
        cpu_util:
          type: number
          format: double
        create:
          type: string
          format: date-time
        interrupts_ps:
          type: number
          format: double
        load15min:
          type: number
          format: double
        load1min:
          type: number
          format: double
        load5min:
          type: number
          format: double
        mem_usage_percent:
          type: number
          format: double
        meta_docker_used_kbyte:
          type: number
          format: double
        meta_elasticsearch_used_kbyte:
          type: number
          format: double
        meta_etcd_used_kbyte:
          type: number
          format: double
        meta_log_used_kbyte:
          type: number
          format: double
        meta_mon_used_kbyte:
          type: number
          format: double
        meta_postgres_used_kbyte:
          type: number
          format: double
        meta_prometheus_used_kbyte:
          type: number
          format: double
        network_drop_pps:
          type: number
          format: double
        network_error_pps:
          type: number
          format: double
        network_rx_bandwidth_kbyte:
          type: number
          format: double
        network_rx_drop_pps:
          type: number
          format: double
        network_rx_error_pps:
          type: number
          format: double
        network_rx_pps:
          type: number
          format: double
        network_tx_bandwidth_kbyte:
          type: number
          format: double
        network_tx_drop_pps:
          type: number
          format: double
        network_tx_error_pps:
          type: number
          format: double
        network_tx_pps:
          type: number
          format: double
        page_paging_ps:
          type: number
          format: double
      title: HostStat
      description: HostStat define the host statistics
      example:
        network_tx_error_pps: 6.683562403749608
        meta_mon_used_kbyte: 7.386281948385884
        meta_postgres_used_kbyte: 1.2315135367772556
        network_drop_pps: 1.4894159098541704
        network_tx_pps: 8.762042012749001
        load5min: 2.3021358869347655
        meta_docker_used_kbyte: 9.301444243932576
        network_error_pps: 6.84685269835264
        network_rx_pps: 5.025004791520295
        page_paging_ps: 9.018348186070783
        load1min: 5.637376656633329
        network_rx_bandwidth_kbyte: 7.457744773683766
        create: '2000-01-23T04:56:07.000+00:00'
        cpu_util: 6.027456183070403
        context_switch_ps: 0.8008281904610115
        network_rx_error_pps: 4.965218492984954
        network_rx_drop_pps: 1.1730742509559433
        load15min: 5.962133916683182
        mem_usage_percent: 7.061401241503109
        meta_elasticsearch_used_kbyte: 3.616076749251911
        interrupts_ps: 1.4658129805029452
        meta_prometheus_used_kbyte: 1.0246457001441578
        network_tx_bandwidth_kbyte: 9.965781217890562
        meta_log_used_kbyte: 4.145608029883936
        meta_etcd_used_kbyte: 2.027123023002322
        network_tx_drop_pps: 9.369310271410669
    Host:
      type: object
      required:
      - admin_ip
      properties:
        action_status:
          type: string
        admin_ip:
          type: string
        clock_diff:
          type: integer
          format: int64
          description: clock diff in milliseconds with primary host
        cores:
          type: integer
          format: int64
        cpu_model:
          type: string
        create:
          type: string
          format: date-time
        description:
          type: string
        disk_num:
          type: integer
          format: int64
        enclosures:
          type: array
          items:
            type: object
            properties: {}
        fcports:
          type: array
          description: fc ports of host
          items:
            $ref: '#/components/schemas/HostFcPort'
        gateway_ips:
          type: string
        id:
          type: integer
          format: int64
        is_master_db:
          type: boolean
        memory_kbyte:
          type: integer
          format: int64
        model:
          type: string
        name:
          type: string
        os:
          type: string
        private_ip:
          type: string
        protection_domain:
          description: protection domain of host
          $ref: '#/components/schemas/ProtectionDomain_Nestview'
        public_ips:
          type: string
        rack:
          type: string
        roles:
          type: string
        root_disk:
          $ref: '#/components/schemas/Disk_Nestview'
        status:
          type: string
        type:
          type: string
        up:
          type: boolean
        update:
          type: string
          format: date-time
        vendor:
          type: string
      title: Host
      description: Host defines the installed hosts @grpc-models-proto
      example:
        roles: roles
        description: description
        update: '2000-01-23T04:56:07.000+00:00'
        type: type
        enclosures:
        - '{}'
        - '{}'
        private_ip: private_ip
        root_disk:
          disk_type: disk_type
          id: 0
          device: device
        cores: 6
        is_master_db: true
        disk_num: 1
        cpu_model: cpu_model
        vendor: vendor
        create: '2000-01-23T04:56:07.000+00:00'
        model: model
        id: 5
        up: true
        action_status: action_status
        public_ips: public_ips
        memory_kbyte: 2
        rack: rack
        gateway_ips: gateway_ips
        os: os
        clock_diff: 0
        admin_ip: admin_ip
        protection_domain:
          name: name
          id: 5
        name: name
        fcports:
        - host:
            name: name
            admin_ip: admin_ip
            id: 0
          create: '2000-01-23T04:56:07.000+00:00'
          id: 5
          wwn: wwn
        - host:
            name: name
            admin_ip: admin_ip
            id: 0
          create: '2000-01-23T04:56:07.000+00:00'
          id: 5
          wwn: wwn
        status: status
    HostFcPort:
      type: object
      properties:
        create:
          type: string
          format: date-time
        host:
          $ref: '#/components/schemas/Host_Nestview'
        id:
          type: integer
          format: int64
        wwn:
          type: string
      title: HostFcPort
      description: HostFcPort defines fc port on the host
      example:
        host:
          name: name
          admin_ip: admin_ip
          id: 0
        create: '2000-01-23T04:56:07.000+00:00'
        id: 5
        wwn: wwn
    HostCreateReq:
      type: object
      properties:
        host:
          $ref: '#/components/schemas/HostCreateReq_Host'
      title: HostCreateReq
      example:
        host:
          gateway_ips:
          - gateway_ips
          - gateway_ips
          public_ip: public_ip
          roles:
          - roles
          - roles
          description: description
          meta_device: meta_device
          admin_ip: admin_ip
          type: type
          protection_domain_id: 0
          private_ip: private_ip
    HostResp:
      type: object
      required:
      - host
      properties:
        host:
          description: host
          $ref: '#/components/schemas/HostRecord'
      title: HostResp
      example:
        host: ''
    HostCreateReq_Host:
      type: object
      required:
      - admin_ip
      properties:
        admin_ip:
          type: string
          description: admin ip
        description:
          type: string
          description: host description
        gateway_ips:
          type: array
          description: gateway ips for s3
          items:
            type: string
        meta_device:
          type: string
          description: meta device for docker
        private_ip:
          type: string
          description: cluster private ip for internal data access
        protection_domain_id:
          type: integer
          format: int64
          description: deprecated
        public_ip:
          type: string
          description: public ip for outside data access
        roles:
          type: array
          description: 'host roles:

            admin,monitor,block_storage_gateway,file_storage_gateway,s3_gateway,nfs_gateway'
          items:
            type: string
        type:
          type: string
          description: storage server or storage client
      title: HostCreateReq_Host
      example:
        gateway_ips:
        - gateway_ips
        - gateway_ips
        public_ip: public_ip
        roles:
        - roles
        - roles
        description: description
        meta_device: meta_device
        admin_ip: admin_ip
        type: type
        protection_domain_id: 0
        private_ip: private_ip
    HostRecord:
      title: HostRecord
      allOf:
      - $ref: '#/components/schemas/Host'
      - properties:
          samples:
            type: array
            items:
              $ref: '#/components/schemas/HostStat'
      description: HostRecord combine Host and HostStatus to let API comfortable
    HostUpdateReq_Host:
      type: object
      properties:
        description:
          type: string
        roles:
          type: array
          items:
            type: string
      title: HostUpdateReq_Host
      example:
        roles:
        - roles
        - roles
        description: description
    HostsResp:
      type: object
      required:
      - hosts
      properties:
        hosts:
          type: array
          description: hosts
          items:
            $ref: '#/components/schemas/HostRecord'
      title: HostsResp
      example:
        hosts:
        - ''
        - ''
    Disk_Nestview:
      type: object
      properties:
        device:
          type: string
        disk_type:
          type: string
        id:
          type: integer
          format: int64
      title: Disk_Nestview
      example:
        disk_type: disk_type
        id: 0
        device: device
    HostUpdateReq:
      type: object
      required:
      - host
      properties:
        host:
          $ref: '#/components/schemas/HostUpdateReq_Host'
      title: HostUpdateReq
      example:
        host:
          roles:
          - roles
          - roles
          description: description
    Host_Nestview:
      type: object
      required:
      - admin_ip
      properties:
        admin_ip:
          type: string
        id:
          type: integer
          format: int64
        name:
          type: string
      title: Host_Nestview
      example:
        name: name
        admin_ip: admin_ip
        id: 0
    ProtectionDomain_Nestview:
      type: object
      properties:
        id:
          type: integer
          format: int64
          description: id of protection domain
        name:
          type: string
          description: name of protection domain
      title: ProtectionDomain_Nestview
      example:
        name: name
        id: 5
    HostSamplesResp:
      type: object
      required:
      - host_samples
      properties:
        host_samples:
          type: array
          description: host samples
          items:
            $ref: '#/components/schemas/HostStat'
      title: HostSamplesResp
      example:
        host_samples:
        - network_tx_error_pps: 6.683562403749608
          meta_mon_used_kbyte: 7.386281948385884
          meta_postgres_used_kbyte: 1.2315135367772556
          network_drop_pps: 1.4894159098541704
          network_tx_pps: 8.762042012749001
          load5min: 2.3021358869347655
          meta_docker_used_kbyte: 9.301444243932576
          network_error_pps: 6.84685269835264
          network_rx_pps: 5.025004791520295
          page_paging_ps: 9.018348186070783
          load1min: 5.637376656633329
          network_rx_bandwidth_kbyte: 7.457744773683766
          create: '2000-01-23T04:56:07.000+00:00'
          cpu_util: 6.027456183070403
          context_switch_ps: 0.8008281904610115
          network_rx_error_pps: 4.965218492984954
          network_rx_drop_pps: 1.1730742509559433
          load15min: 5.962133916683182
          mem_usage_percent: 7.061401241503109
          meta_elasticsearch_used_kbyte: 3.616076749251911
          interrupts_ps: 1.4658129805029452
          meta_prometheus_used_kbyte: 1.0246457001441578
          network_tx_bandwidth_kbyte: 9.965781217890562
          meta_log_used_kbyte: 4.145608029883936
          meta_etcd_used_kbyte: 2.027123023002322
          network_tx_drop_pps: 9.369310271410669
        - network_tx_error_pps: 6.683562403749608
          meta_mon_used_kbyte: 7.386281948385884
          meta_postgres_used_kbyte: 1.2315135367772556
          network_drop_pps: 1.4894159098541704
          network_tx_pps: 8.762042012749001
          load5min: 2.3021358869347655
          meta_docker_used_kbyte: 9.301444243932576
          network_error_pps: 6.84685269835264
          network_rx_pps: 5.025004791520295
          page_paging_ps: 9.018348186070783
          load1min: 5.637376656633329
          network_rx_bandwidth_kbyte: 7.457744773683766
          create: '2000-01-23T04:56:07.000+00:00'
          cpu_util: 6.027456183070403
          context_switch_ps: 0.8008281904610115
          network_rx_error_pps: 4.965218492984954
          network_rx_drop_pps: 1.1730742509559433
          load15min: 5.962133916683182
          mem_usage_percent: 7.061401241503109
          meta_elasticsearch_used_kbyte: 3.616076749251911
          interrupts_ps: 1.4658129805029452
          meta_prometheus_used_kbyte: 1.0246457001441578
          network_tx_bandwidth_kbyte: 9.965781217890562
          meta_log_used_kbyte: 4.145608029883936
          meta_etcd_used_kbyte: 2.027123023002322
          network_tx_drop_pps: 9.369310271410669
  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