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-osd-groups-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 Osd Groups API
contact: {}
license:
name: Commercial
servers:
- url: /v1
tags:
- name: osd-groups
description: 'OsdGroupController API /osd-groups
'
paths:
/osd-groups/:
get:
tags:
- osd-groups
description: List osd groups
operationId: ListOsdGroups
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
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OsdGroupsResp'
400:
description: BadRequest
500:
description: InternalServerError
security:
- tokenInQuery: []
- tokenInHeader: []
/osd-groups/{group_id}:
get:
tags:
- osd-groups
description: Get osd group
operationId: GetOsdGroup
parameters:
- name: group_id
in: path
description: osd group id
required: true
x-exportParamName: GroupId
schema:
type: integer
format: int64
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OsdGroupResp'
400:
description: BadRequest
404:
description: NotFound
500:
description: InternalServerError
security:
- tokenInHeader: []
- tokenInQuery: []
/osd-groups/{group_id}/samples:
get:
tags:
- osd-groups
description: get a osd group's samples
operationId: GetOsdGroupSamples
parameters:
- name: group_id
in: path
description: osd group id
required: true
x-exportParamName: GroupId
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/OsdGroupSamplesResp'
400:
description: BadRequest
404:
description: NotFound
500:
description: InternalServerError
security:
- tokenInQuery: []
- tokenInHeader: []
/osd-groups/{group_id}:add-osds:
post:
tags:
- osd-groups
description: Add osds to osd grouop
operationId: AddOsdsToOsdGroup
parameters:
- name: group_id
in: path
description: osd group id
required: true
x-exportParamName: GroupId
schema:
type: integer
format: int64
responses:
202:
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/OsdGroupResp'
400:
description: BadRequest
404:
description: NotFound
409:
description: Conflict
500:
description: InternalServerError
security:
- tokenInQuery: []
- tokenInHeader: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OsdGroupOsdsUpdateReq'
description: osd ids
required: true
/osd-groups/{group_id}:disable-device-type-check:
post:
tags:
- osd-groups
description: Disable device type check when add osd
operationId: DisableDeviceTypeCheck
parameters:
- name: group_id
in: path
description: osd group id
required: true
x-exportParamName: GroupId
schema:
type: integer
format: int64
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OsdGroupResp'
404:
description: NotFound
409:
description: Conflict
500:
description: InternalServerError
security:
- tokenInQuery: []
- tokenInHeader: []
/osd-groups/{group_id}:enable-device-type-check:
post:
tags:
- osd-groups
description: Enable device type check when add osd
operationId: EnableDeviceTypeCheck
parameters:
- name: group_id
in: path
description: osd group id
required: true
x-exportParamName: GroupId
schema:
type: integer
format: int64
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OsdGroupResp'
400:
description: BadRequest
404:
description: NotFound
409:
description: Conflict
500:
description: InternalServerError
security:
- tokenInQuery: []
- tokenInHeader: []
/osd-groups/{group_id}:remove-osds:
post:
tags:
- osd-groups
description: Remove multiple osds from a osd group
operationId: RemoveOsdsFromOsdGroup
parameters:
- name: group_id
in: path
description: osd group id
required: true
x-exportParamName: GroupId
schema:
type: integer
format: int64
responses:
202:
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/OsdGroupResp'
400:
description: BadRequest
404:
description: NotFound
409:
description: Conflict
500:
description: InternalServerError
security:
- tokenInQuery: []
- tokenInHeader: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OsdGroupOsdsUpdateReq'
description: remove osd ids
required: true
/osd-groups/{group_id}:reweight:
post:
tags:
- osd-groups
description: Reweight pools of osd group
operationId: ReweightOsdGroup
parameters:
- name: group_id
in: path
description: osd group id
required: true
x-exportParamName: GroupId
schema:
type: integer
format: int64
responses:
202:
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/OsdGroupResp'
404:
description: NotFound
409:
description: Conflict
500:
description: InternalServerError
security:
- tokenInQuery: []
- tokenInHeader: []
/osd-groups/{group_id}:set-osd-full-ratio:
post:
tags:
- osd-groups
description: Set osd full ratio of osd group
operationId: SetOsdFullRatio
parameters:
- name: group_id
in: path
description: osd group id
required: true
x-exportParamName: GroupId
schema:
type: integer
format: int64
responses:
202:
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/OsdGroupResp'
400:
description: BadRequest
404:
description: NotFound
409:
description: Conflict
500:
description: InternalServerError
security:
- tokenInQuery: []
- tokenInHeader: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetOsdFullRatioReq'
description: osds full ratio
required: true
/osd-groups/{group_id}:set-qos:
post:
tags:
- osd-groups
description: Set osd group's qos
operationId: SetOsdGroupQos
parameters:
- name: group_id
in: path
description: osd group id
required: true
x-exportParamName: GroupId
schema:
type: integer
format: int64
responses:
202:
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/OsdGroupResp'
400:
description: BadRequest
404:
description: NotFound
500:
description: InternalServerError
security:
- tokenInQuery: []
- tokenInHeader: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OsdGroupSetQosReq'
description: qos info
required: true
components:
schemas:
OsdGroupSamplesResp:
type: object
required:
- osd_group_samples
properties:
osd_group_samples:
type: array
items:
$ref: '#/components/schemas/OsdGroupStat'
title: OsdGroupSamplesResp
example:
osd_group_samples:
- used_kbyte: 6
total_kbyte: 0
create: '2000-01-23T04:56:07.000+00:00'
- used_kbyte: 6
total_kbyte: 0
create: '2000-01-23T04:56:07.000+00:00'
Pool_Nestview:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
title: Pool_Nestview
example:
name: name
id: 5
OsdGroupsResp:
type: object
properties:
osd_groups:
type: array
items:
$ref: '#/components/schemas/OsdGroupRecord'
title: OsdGroupsResp
example:
osd_groups:
- ''
- ''
SetOsdFullRatioReq_OsdGroup:
type: object
required:
- osd_full_ratio
properties:
osd_full_ratio:
type: number
format: double
title: SetOsdFullRatioReq_OsdGroup
example:
osd_full_ratio: 0.8008281904610115
OsdGroupRecord:
title: OsdGroupRecord
allOf:
- $ref: '#/components/schemas/OsdGroup'
- properties:
samples:
type: array
items:
$ref: '#/components/schemas/OsdGroupStat'
description: OsdGroupRecord combine OsdGroup and OsdGroupStat as API response
OsdGroupStat:
type: object
properties:
create:
type: string
format: date-time
total_kbyte:
type: integer
format: int64
used_kbyte:
type: integer
format: int64
title: OsdGroupStat
description: OsdGroupStat defines stat of a osd group
example:
used_kbyte: 6
total_kbyte: 0
create: '2000-01-23T04:56:07.000+00:00'
OsdGroupSetQosReq_OsdGroup:
type: object
required:
- qos
properties:
qos:
$ref: '#/components/schemas/OsdQos'
title: OsdGroupSetQosReq_OsdGroup
example:
qos:
mode: 5
bandwidth: 0
bandwidth_max: 6
id: 5
client_threshold: 1
recovery_rate_type: recovery_rate_type
OsdGroupSetQosReq:
type: object
required:
- osd_group
properties:
osd_group:
$ref: '#/components/schemas/OsdGroupSetQosReq_OsdGroup'
title: OsdGroupSetQosReq
example:
osd_group:
qos:
mode: 5
bandwidth: 0
bandwidth_max: 6
id: 5
client_threshold: 1
recovery_rate_type: recovery_rate_type
OsdGroupResp:
type: object
properties:
osd_group:
$ref: '#/components/schemas/OsdGroupRecord'
title: OsdGroupResp
example:
osd_group: ''
OsdGroupOsdsUpdateReq_OsdGroup:
type: object
required:
- osd_ids
properties:
osd_ids:
type: array
items:
type: integer
format: int64
title: OsdGroupOsdsUpdateReq_OsdGroup
example:
osd_ids:
- 0
- 0
OsdQos:
type: object
properties:
bandwidth:
type: integer
format: int64
bandwidth_max:
type: integer
format: int64
client_threshold:
type: integer
format: int64
id:
type: integer
format: int64
mode:
type: integer
format: int64
recovery_rate_type:
type: string
title: OsdQos
description: OsdQos defines qos for osd
example:
mode: 5
bandwidth: 0
bandwidth_max: 6
id: 5
client_threshold: 1
recovery_rate_type: recovery_rate_type
OsdGroup:
type: object
properties:
action_status:
type: string
create:
type: string
format: date-time
device_type:
type: string
device_type_check_disabled:
type: boolean
failure_domain_type:
type: string
id:
type: integer
format: int64
osd_async_recovery_max_updates:
type: integer
format: int64
osd_full_ratio:
type: number
format: double
osd_num:
type: integer
format: int64
pools:
type: array
items:
$ref: '#/components/schemas/Pool_Nestview'
qos:
$ref: '#/components/schemas/OsdQos'
status:
type: string
update:
type: string
format: date-time
title: OsdGroup
description: OsdGroup defines model of osd group
SetOsdFullRatioReq:
type: object
required:
- osd_group
properties:
osd_group:
$ref: '#/components/schemas/SetOsdFullRatioReq_OsdGroup'
title: SetOsdFullRatioReq
example:
osd_group:
osd_full_ratio: 0.8008281904610115
OsdGroupOsdsUpdateReq:
type: object
required:
- osd_group
properties:
osd_group:
$ref: '#/components/schemas/OsdGroupOsdsUpdateReq_OsdGroup'
title: OsdGroupOsdsUpdateReq
example:
osd_group:
osd_ids:
- 0
- 0
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