XSKY os-users API

ObjectStorageUserController provides API for object storage user

Operations 6

GET /os-users/ #
POST /os-users/ #
GET /os-users/{user_id} #
DELETE /os-users/{user_id} #
PATCH /os-users/{user_id} #
GET /os-users/{user_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-os-users-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-os-users-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 Os Users API
  contact: {}
  license:
    name: Commercial
servers:
- url: /v1
tags:
- name: os-users
  description: 'ObjectStorageUserController provides API for object storage user

    '
paths:
  /os-users/:
    get:
      tags:
      - os-users
      description: List object storage users
      operationId: ListObjectStorageUsers
      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/ObjectStorageUsersResp'
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
    post:
      tags:
      - os-users
      description: create object storage user
      operationId: CreateObjectStorageUser
      responses:
        202:
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectStorageUserResp'
        400:
          description: BadRequest
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObjectStorageUserCreateReq'
        description: user info
        required: true
  /os-users/{user_id}:
    get:
      tags:
      - os-users
      description: get object storage user
      operationId: GetObjectStorageUser
      parameters:
      - name: user_id
        in: path
        description: user id
        required: true
        x-exportParamName: UserId
        schema:
          type: integer
          format: int64
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectStorageUserResp'
        404:
          description: NotFound
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
    delete:
      tags:
      - os-users
      description: delete object storage user
      operationId: DeleteObjectStorageUser
      parameters:
      - name: user_id
        in: path
        description: user id
        required: true
        x-exportParamName: UserId
        schema:
          type: integer
          format: int64
      responses:
        202:
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectStorageUserResp'
        404:
          description: NotFound
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
    patch:
      tags:
      - os-users
      description: update object storage user
      operationId: UpdateObjectStorageUser
      parameters:
      - name: user_id
        in: path
        description: user id
        required: true
        x-exportParamName: UserId
        schema:
          type: integer
          format: int64
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectStorageUserResp'
        202:
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectStorageUserResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObjectStorageUserUpdateReq'
        description: user info
        required: true
  /os-users/{user_id}/samples:
    get:
      tags:
      - os-users
      description: get an object storage user's Samples
      operationId: GetObjectStorageUserSamples
      parameters:
      - name: user_id
        in: path
        description: user id
        required: true
        x-exportParamName: UserId
        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/ObjectStorageUserSamplesResp'
        400:
          description: BadRequest
        404:
          description: NotFound
        500:
          description: InternalServerError
      security:
      - tokenInQuery: []
      - tokenInHeader: []
components:
  schemas:
    ObjectStorageUser:
      type: object
      properties:
        bucket_num:
          type: integer
          format: int64
        bucket_quota_max_objects:
          type: integer
          format: int64
        bucket_quota_max_size:
          type: integer
          format: int64
        create:
          type: string
          format: date-time
        display_name:
          type: string
        email:
          type: string
        id:
          type: integer
          format: int64
        location_constraint_enabled:
          type: boolean
        max_buckets:
          type: integer
          format: int64
        name:
          type: string
        op_mask:
          type: string
        parent:
          $ref: '#/components/schemas/ObjectStorageUser_Nestview'
        policy:
          $ref: '#/components/schemas/ObjectStoragePolicy_Nestview'
        policy_polling_enabled:
          type: boolean
        properties:
          $ref: '#/components/schemas/OSUserProperties'
        status:
          type: string
        suspended:
          type: boolean
        update:
          type: string
          format: date-time
        user_quota_max_objects:
          type: integer
          format: int64
        user_quota_max_size:
          type: integer
          format: int64
      title: ObjectStorageUser
      description: ObjectStorageUser is the model of object_storage_user
    ObjectStoragePolicy_Nestview:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
      title: ObjectStoragePolicy_Nestview
      example:
        name: name
        id: 9
    OSUserPropertiesReq:
      type: object
      properties:
        area_code:
          type: string
        contact_person:
          type: string
        email:
          type: string
        mobile:
          type: string
        user_name:
          type: string
        user_type:
          type: integer
          format: int64
      title: OSUserPropertiesReq
      example:
        user_type: 5
        contact_person: contact_person
        user_name: user_name
        area_code: area_code
        mobile: mobile
        email: email
    ObjectStorageUserStat:
      type: object
      properties:
        allocated_objects:
          type: integer
          format: int64
        allocated_size:
          type: integer
          format: int64
        create:
          type: string
          format: date-time
        del_ops_pm:
          type: number
          format: double
        rx_bandwidth_kbyte:
          type: number
          format: double
        rx_ops_pm:
          type: number
          format: double
        total_del_ops:
          type: integer
          format: int64
        total_del_success_ops:
          type: integer
          format: int64
        total_rx_bytes:
          type: integer
          format: int64
        total_rx_ops:
          type: integer
          format: int64
        total_rx_success_ops:
          type: integer
          format: int64
        total_tx_bytes:
          type: integer
          format: int64
        total_tx_ops:
          type: integer
          format: int64
        total_tx_success_ops:
          type: integer
          format: int64
        tx_bandwidth_kbyte:
          type: number
          format: double
        tx_ops_pm:
          type: number
          format: double
      title: ObjectStorageUserStat
      description: ObjectStorageUserStat define the object storage user statistics
      example:
        rx_ops_pm: 5.637376656633329
        total_rx_ops: 3
        allocated_objects: 0
        allocated_size: 6
        tx_ops_pm: 1.4894159098541704
        total_tx_bytes: 4
        total_rx_bytes: 9
        total_tx_success_ops: 1
        total_del_success_ops: 7
        total_rx_success_ops: 2
        total_del_ops: 2
        total_tx_ops: 7
        tx_bandwidth_kbyte: 1.0246457001441578
        del_ops_pm: 1.4658129805029452
        rx_bandwidth_kbyte: 5.962133916683182
        create: '2000-01-23T04:56:07.000+00:00'
    ObjectStorageUserRecord:
      title: ObjectStorageUserRecord
      allOf:
      - $ref: '#/components/schemas/ObjectStorageUser'
      - properties:
          samples:
            type: array
            items:
              $ref: '#/components/schemas/ObjectStorageUserStat'
      description: 'ObjectStorageUserRecord is used to combine ObjectStorageUser and

        ObjectStorageUserStat'
    ObjectStorageUserUpdateReq_Info:
      type: object
      properties:
        bucket_quota_max_objects:
          type: integer
          format: int64
        bucket_quota_max_size:
          type: integer
          format: int64
        display_name:
          type: string
        email:
          type: string
        location_constraint_enabled:
          type: boolean
        max_buckets:
          type: integer
          format: int64
        op_mask:
          type: string
        policy_id:
          type: integer
          format: int64
        policy_polling_enabled:
          type: boolean
        properties:
          $ref: '#/components/schemas/OSUserPropertiesReq'
        suspended:
          type: boolean
        user_quota_max_objects:
          type: integer
          format: int64
        user_quota_max_size:
          type: integer
          format: int64
      title: ObjectStorageUserUpdateReq_Info
      example:
        bucket_quota_max_objects: 0
        policy_id: 5
        max_buckets: 1
        op_mask: op_mask
        user_quota_max_objects: 5
        display_name: display_name
        suspended: true
        policy_polling_enabled: true
        location_constraint_enabled: true
        email: email
        properties:
          user_type: 5
          contact_person: contact_person
          user_name: user_name
          area_code: area_code
          mobile: mobile
          email: email
        bucket_quota_max_size: 6
        user_quota_max_size: 2
    ObjectStorageUserCreateReq_Info:
      type: object
      required:
      - name
      properties:
        bucket_quota_max_objects:
          type: integer
          format: int64
        bucket_quota_max_size:
          type: integer
          format: int64
        display_name:
          type: string
        email:
          type: string
        keys:
          type: array
          items:
            $ref: '#/components/schemas/ObjectStorageKey'
        location_constraint_enabled:
          type: boolean
        max_buckets:
          type: integer
          format: int64
        name:
          type: string
        op_mask:
          type: string
        policy_id:
          type: integer
          format: int64
        policy_polling_enabled:
          type: boolean
        properties:
          $ref: '#/components/schemas/OSUserPropertiesReq'
        user_quota_max_objects:
          type: integer
          format: int64
        user_quota_max_size:
          type: integer
          format: int64
      title: ObjectStorageUserCreateReq_Info
      example:
        bucket_quota_max_objects: 0
        policy_id: 5
        keys:
        - secret_key: secret_key
          reserved: true
          access_key: access_key
          create: '2000-01-23T04:56:07.000+00:00'
          update: '2000-01-23T04:56:07.000+00:00'
          id: 0
          type: type
          user:
            name: name
            id: 1
          status: status
        - secret_key: secret_key
          reserved: true
          access_key: access_key
          create: '2000-01-23T04:56:07.000+00:00'
          update: '2000-01-23T04:56:07.000+00:00'
          id: 0
          type: type
          user:
            name: name
            id: 1
          status: status
        max_buckets: 1
        op_mask: op_mask
        user_quota_max_objects: 2
        display_name: display_name
        policy_polling_enabled: true
        location_constraint_enabled: true
        name: name
        email: email
        properties:
          user_type: 5
          contact_person: contact_person
          user_name: user_name
          area_code: area_code
          mobile: mobile
          email: email
        bucket_quota_max_size: 6
        user_quota_max_size: 7
    ObjectStorageUser_Nestview:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
      title: ObjectStorageUser_Nestview
      example:
        name: name
        id: 1
    ObjectStorageUserUpdateReq:
      type: object
      properties:
        os_user:
          $ref: '#/components/schemas/ObjectStorageUserUpdateReq_Info'
      title: ObjectStorageUserUpdateReq
      example:
        os_user:
          bucket_quota_max_objects: 0
          policy_id: 5
          max_buckets: 1
          op_mask: op_mask
          user_quota_max_objects: 5
          display_name: display_name
          suspended: true
          policy_polling_enabled: true
          location_constraint_enabled: true
          email: email
          properties:
            user_type: 5
            contact_person: contact_person
            user_name: user_name
            area_code: area_code
            mobile: mobile
            email: email
          bucket_quota_max_size: 6
          user_quota_max_size: 2
    OSUserProperties:
      type: object
      properties:
        area_code:
          type: string
        contact_person:
          type: string
        email:
          type: string
        mobile:
          type: string
        user_name:
          type: string
        user_type:
          type: integer
          format: int64
      title: OSUserProperties
      description: OSUserProperties contains properties for a os user.
    ObjectStorageUserCreateReq:
      type: object
      properties:
        os_user:
          $ref: '#/components/schemas/ObjectStorageUserCreateReq_Info'
      title: ObjectStorageUserCreateReq
      example:
        os_user:
          bucket_quota_max_objects: 0
          policy_id: 5
          keys:
          - secret_key: secret_key
            reserved: true
            access_key: access_key
            create: '2000-01-23T04:56:07.000+00:00'
            update: '2000-01-23T04:56:07.000+00:00'
            id: 0
            type: type
            user:
              name: name
              id: 1
            status: status
          - secret_key: secret_key
            reserved: true
            access_key: access_key
            create: '2000-01-23T04:56:07.000+00:00'
            update: '2000-01-23T04:56:07.000+00:00'
            id: 0
            type: type
            user:
              name: name
              id: 1
            status: status
          max_buckets: 1
          op_mask: op_mask
          user_quota_max_objects: 2
          display_name: display_name
          policy_polling_enabled: true
          location_constraint_enabled: true
          name: name
          email: email
          properties:
            user_type: 5
            contact_person: contact_person
            user_name: user_name
            area_code: area_code
            mobile: mobile
            email: email
          bucket_quota_max_size: 6
          user_quota_max_size: 7
    ObjectStorageKey:
      type: object
      properties:
        access_key:
          type: string
        create:
          type: string
          format: date-time
        id:
          type: integer
          format: int64
        reserved:
          type: boolean
        secret_key:
          type: string
        status:
          type: string
        type:
          type: string
        update:
          type: string
          format: date-time
        user:
          $ref: '#/components/schemas/ObjectStorageUser_Nestview'
      title: ObjectStorageKey
      description: ObjectStorageKey defines access key and secret key for object storage
      example:
        secret_key: secret_key
        reserved: true
        access_key: access_key
        create: '2000-01-23T04:56:07.000+00:00'
        update: '2000-01-23T04:56:07.000+00:00'
        id: 0
        type: type
        user:
          name: name
          id: 1
        status: status
    ObjectStorageUserSamplesResp:
      type: object
      required:
      - os_user_samples
      properties:
        os_user_samples:
          type: array
          description: object storage user samples
          items:
            $ref: '#/components/schemas/ObjectStorageUserStat'
      title: ObjectStorageUserSamplesResp
      example:
        os_user_samples:
        - rx_ops_pm: 5.637376656633329
          total_rx_ops: 3
          allocated_objects: 0
          allocated_size: 6
          tx_ops_pm: 1.4894159098541704
          total_tx_bytes: 4
          total_rx_bytes: 9
          total_tx_success_ops: 1
          total_del_success_ops: 7
          total_rx_success_ops: 2
          total_del_ops: 2
          total_tx_ops: 7
          tx_bandwidth_kbyte: 1.0246457001441578
          del_ops_pm: 1.4658129805029452
          rx_bandwidth_kbyte: 5.962133916683182
          create: '2000-01-23T04:56:07.000+00:00'
        - rx_ops_pm: 5.637376656633329
          total_rx_ops: 3
          allocated_objects: 0
          allocated_size: 6
          tx_ops_pm: 1.4894159098541704
          total_tx_bytes: 4
          total_rx_bytes: 9
          total_tx_success_ops: 1
          total_del_success_ops: 7
          total_rx_success_ops: 2
          total_del_ops: 2
          total_tx_ops: 7
          tx_bandwidth_kbyte: 1.0246457001441578
          del_ops_pm: 1.4658129805029452
          rx_bandwidth_kbyte: 5.962133916683182
          create: '2000-01-23T04:56:07.000+00:00'
    ObjectStorageUserResp:
      type: object
      required:
      - os_user
      properties:
        os_user:
          description: object storage user
          $ref: '#/components/schemas/ObjectStorageUserRecord'
      title: ObjectStorageUserResp
      example:
        os_user: ''
    ObjectStorageUsersResp:
      type: object
      required:
      - os_users
      properties:
        os_users:
          type: array
          description: object storage users
          items:
            $ref: '#/components/schemas/ObjectStorageUserRecord'
      title: ObjectStorageUsersResp
      example:
        os_users:
        - ''
        - ''
  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