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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/xsky-disks-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
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 Disks API
contact: {}
license:
name: Commercial
servers:
- url: /v1
tags:
- name: disks
description: 'DiskController Disk Management
'
paths:
/disks/:
get:
tags:
- disks
description: List all pyhsical disks in the system
operationId: ListDisks
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: host_id
in: query
description: host id
required: false
x-exportParamName: HostId
schema:
type: integer
format: int64
- name: is_cache
in: query
description: filter cache disk
required: false
x-exportParamName: IsCache
schema:
type: boolean
- name: used
in: query
description: filter used
required: false
x-exportParamName: Used
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/DisksResp'
400:
description: BadRequest
500:
description: InternalServerError
security:
- tokenInQuery: []
- tokenInHeader: []
/disks/{disk_id}:
get:
tags:
- disks
description: Get a disk
operationId: GetDisk
parameters:
- name: disk_id
in: path
description: disk id
required: true
x-exportParamName: DiskId
schema:
type: integer
format: int64
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DiskResp'
404:
description: NotFound
500:
description: InternalServerError
security:
- tokenInQuery: []
- tokenInHeader: []
patch:
tags:
- disks
description: update disk info
operationId: UpdateDisk
parameters:
- name: disk_id
in: path
description: disk id
required: true
x-exportParamName: DiskId
schema:
type: integer
format: int64
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DiskResp'
400:
description: BadRequest
404:
description: NotFound
500:
description: InternalServerError
security:
- tokenInQuery: []
- tokenInHeader: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DiskUpdateReq'
description: disk info
required: true
/disks/{disk_id}/partitions:
put:
tags:
- disks
description: create cache partitions for disk
operationId: CreatePartitions
parameters:
- name: disk_id
in: path
description: disk id
required: true
x-exportParamName: DiskId
schema:
type: integer
format: int64
- name: num
in: query
description: num of partitions to create
required: false
x-exportParamName: Num
schema:
type: integer
format: int64
responses:
202:
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/DiskResp'
400:
description: BadRequest
404:
description: NotFound
500:
description: InternalServerError
security:
- tokenInQuery: []
- tokenInHeader: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PartitionsCreateReq'
description: partitions info
required: true
delete:
tags:
- disks
description: delete cache partitions of disk
operationId: DeletePartitions
parameters:
- name: disk_id
in: path
description: disk id
required: true
x-exportParamName: DiskId
schema:
type: integer
format: int64
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DiskResp'
400:
description: BadRequest
404:
description: NotFound
500:
description: InternalServerError
security:
- tokenInQuery: []
- tokenInHeader: []
/disks/{disk_id}/samples:
get:
tags:
- disks
description: get a disk's samples
operationId: GetDiskSamples
parameters:
- name: disk_id
in: path
description: disk id
required: true
x-exportParamName: DiskId
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/DiskSamplesResp'
400:
description: BadRequest
404:
description: NotFound
500:
description: InternalServerError
security:
- tokenInHeader: []
- tokenInQuery: []
components:
schemas:
DisksResp:
type: object
required:
- disks
properties:
disks:
type: array
description: disks
items:
$ref: '#/components/schemas/DiskRecord'
title: DisksResp
example:
disks:
- ''
- ''
PartitionsCreateReq_Partitions:
type: object
properties:
num:
type: integer
format: int64
omap_byte:
type: integer
format: int64
title: PartitionsCreateReq_Partitions
example:
num: 0
omap_byte: 6
DiskSamplesResp:
type: object
required:
- disk_samples
properties:
disk_samples:
type: array
description: disk samples
items:
$ref: '#/components/schemas/DiskStat'
title: DiskSamplesResp
example:
disk_samples:
- healthy_percent: 1.4658129805029452
read_wait_us: 7.386281948385884
recovery_percent: 1.2315135367772556
total_bandwidth_kbyte: 1.0246457001441578
read_merged_ps: 4.145608029883936
read_bandwidth_kbyte: 3.616076749251911
omap_total_kbyte: 2.3021358869347655
avg_queue_len: 0.8008281904610115
create: '2000-01-23T04:56:07.000+00:00'
write_iops: 9.369310271410669
total_kbyte: 7
degraded_percent: 6.027456183070403
total_iops: 6.84685269835264
write_merged_ps: 6.683562403749608
unavailable_percent: 1.1730742509559433
read_iops: 2.027123023002322
io_util: 5.962133916683182
omap_used_kbyte: 7.061401241503109
omap_used_percent: 9.301444243932576
used_kbyte: 4
write_bandwidth_kbyte: 9.965781217890562
write_wait_us: 8.762042012749001
used_percent: 5.025004791520295
kbyte_per_io: 5.637376656633329
total_io_wait_us: 1.4894159098541704
- healthy_percent: 1.4658129805029452
read_wait_us: 7.386281948385884
recovery_percent: 1.2315135367772556
total_bandwidth_kbyte: 1.0246457001441578
read_merged_ps: 4.145608029883936
read_bandwidth_kbyte: 3.616076749251911
omap_total_kbyte: 2.3021358869347655
avg_queue_len: 0.8008281904610115
create: '2000-01-23T04:56:07.000+00:00'
write_iops: 9.369310271410669
total_kbyte: 7
degraded_percent: 6.027456183070403
total_iops: 6.84685269835264
write_merged_ps: 6.683562403749608
unavailable_percent: 1.1730742509559433
read_iops: 2.027123023002322
io_util: 5.962133916683182
omap_used_kbyte: 7.061401241503109
omap_used_percent: 9.301444243932576
used_kbyte: 4
write_bandwidth_kbyte: 9.965781217890562
write_wait_us: 8.762042012749001
used_percent: 5.025004791520295
kbyte_per_io: 5.637376656633329
total_io_wait_us: 1.4894159098541704
Disk:
type: object
properties:
action_status:
type: string
bytes:
type: integer
format: int64
description: size of disk
cache_create:
type: string
format: date-time
channel_id:
type: string
create:
type: string
format: date-time
device:
type: string
disk_type:
type: string
driver_type:
type: string
enclosure_id:
type: string
host:
$ref: '#/components/schemas/Host_Nestview'
id:
type: integer
format: int64
is_cache:
type: boolean
description: used as cache disk
is_root:
type: boolean
description: used as root disk
lighting_status:
type: string
model:
type: string
partition_num:
type: integer
format: int64
partitions:
type: array
items:
$ref: '#/components/schemas/Partition'
power_safe:
type: boolean
rotation_rate:
type: string
rotational:
type: boolean
serial:
type: string
slot_id:
type: string
smart_attrs:
type: array
items:
$ref: '#/components/schemas/SmartAttr'
ssd_life_left:
type: integer
format: int64
status:
type: string
update:
type: string
format: date-time
used:
type: boolean
wwid:
type: string
title: Disk
description: Disk defines the available disk @grpc-models-proto
DiskUpdateReq:
type: object
required:
- disk
properties:
disk:
$ref: '#/components/schemas/DiskUpdateReq_Disk'
title: DiskUpdateReq
example:
disk:
power_safe: true
disk_type: disk_type
lighting_status: lighting_status
DiskUpdateReq_Disk:
type: object
properties:
disk_type:
type: string
lighting_status:
type: string
power_safe:
type: boolean
title: DiskUpdateReq_Disk
example:
power_safe: true
disk_type: disk_type
lighting_status: lighting_status
DiskStat:
type: object
properties:
avg_queue_len:
type: number
format: double
create:
type: string
format: date-time
degraded_percent:
type: number
format: double
healthy_percent:
type: number
format: double
io_util:
type: number
format: double
kbyte_per_io:
type: number
format: double
omap_total_kbyte:
type: number
format: double
omap_used_kbyte:
type: number
format: double
omap_used_percent:
type: number
format: double
read_bandwidth_kbyte:
type: number
format: double
read_iops:
type: number
format: double
read_merged_ps:
type: number
format: double
read_wait_us:
type: number
format: double
recovery_percent:
type: number
format: double
total_bandwidth_kbyte:
type: number
format: double
total_io_wait_us:
type: number
format: double
total_iops:
type: number
format: double
total_kbyte:
type: integer
format: int64
unavailable_percent:
type: number
format: double
used_kbyte:
type: integer
format: int64
used_percent:
type: number
format: double
write_bandwidth_kbyte:
type: number
format: double
write_iops:
type: number
format: double
write_merged_ps:
type: number
format: double
write_wait_us:
type: number
format: double
title: DiskStat
description: DiskStat defines the basic info of a DiskStat
example:
healthy_percent: 1.4658129805029452
read_wait_us: 7.386281948385884
recovery_percent: 1.2315135367772556
total_bandwidth_kbyte: 1.0246457001441578
read_merged_ps: 4.145608029883936
read_bandwidth_kbyte: 3.616076749251911
omap_total_kbyte: 2.3021358869347655
avg_queue_len: 0.8008281904610115
create: '2000-01-23T04:56:07.000+00:00'
write_iops: 9.369310271410669
total_kbyte: 7
degraded_percent: 6.027456183070403
total_iops: 6.84685269835264
write_merged_ps: 6.683562403749608
unavailable_percent: 1.1730742509559433
read_iops: 2.027123023002322
io_util: 5.962133916683182
omap_used_kbyte: 7.061401241503109
omap_used_percent: 9.301444243932576
used_kbyte: 4
write_bandwidth_kbyte: 9.965781217890562
write_wait_us: 8.762042012749001
used_percent: 5.025004791520295
kbyte_per_io: 5.637376656633329
total_io_wait_us: 1.4894159098541704
DiskRecord:
title: DiskRecord
allOf:
- $ref: '#/components/schemas/Disk'
- properties:
samples:
type: array
items:
$ref: '#/components/schemas/DiskStat'
description: DiskRecord contains information of a disk
SmartAttr:
type: object
properties:
attr_id:
type: integer
format: int64
description: sata only
create:
type: string
format: date-time
flag:
type: string
id:
type: integer
format: int64
name:
type: string
description: base
raw_value:
type: string
status:
type: string
thresh:
type: string
type:
type: string
value:
type: string
when_failed:
type: string
worst:
type: string
title: SmartAttr
description: SmartAttr defines disk smart attribute
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
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
PartitionsCreateReq:
type: object
properties:
partitions:
$ref: '#/components/schemas/PartitionsCreateReq_Partitions'
title: PartitionsCreateReq
example:
partitions:
num: 0
omap_byte: 6
Partition:
type: object
properties:
action_status:
type: string
create:
type: string
format: date-time
disk:
$ref: '#/components/schemas/Disk_Nestview'
id:
type: integer
format: int64
omap_byte:
type: integer
format: int64
omap_device_path:
type: string
path:
type: string
size:
type: integer
format: int64
status:
type: string
update:
type: string
format: date-time
used:
type: boolean
uuid:
type: string
version:
type: integer
format: int64
title: Partition
description: Partition defines cache partition of disk
example:
omap_device_path: omap_device_path
update: '2000-01-23T04:56:07.000+00:00'
omap_byte: 1
used: true
uuid: uuid
version: 5
path: path
disk:
disk_type: disk_type
id: 0
device: device
size: 5
create: '2000-01-23T04:56:07.000+00:00'
id: 6
action_status: action_status
status: status
DiskResp:
type: object
required:
- disk
properties:
disk:
description: disk
$ref: '#/components/schemas/DiskRecord'
title: DiskResp
example:
disk: ''
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