Xiaomi Objects API

The Objects API from Xiaomi — 4 operation(s) for objects.

OpenAPI Specification

xiaomi-objects-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Xiaomi Galaxy FDS Access Control Objects API
  description: Xiaomi Galaxy File Data Storage (FDS) is a cloud object storage service providing a RESTful API for managing files and objects. It supports bucket management, object CRUD operations, access control lists, multipart uploads, and CDN prefetch/refresh operations across multiple regional data centers.
  version: 1.0.0
  contact:
    name: Xiaomi FDS Support
    url: https://docs.api.xiaomi.com/en/fds/
servers:
- url: https://cnbj0.fds.api.xiaomi.com
  description: China Beijing region
- url: https://awsbj0.fds.api.xiaomi.com
  description: China Beijing region (AWS)
- url: https://awssgp0.fds.api.xiaomi.com
  description: Singapore region
security:
- hmacAuth: []
tags:
- name: Objects
paths:
  /{bucketName}/{objectName}:
    put:
      operationId: putObject
      summary: Put Object
      description: Uploads an object to the specified bucket. The request body contains the object content. Supports standard HTTP headers for content type and metadata.
      tags:
      - Objects
      parameters:
      - name: bucketName
        in: path
        required: true
        description: Name of the target bucket.
        schema:
          type: string
      - name: objectName
        in: path
        required: true
        description: Name/key of the object to upload.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/octet-stream:
            schema:
              type: string
              format: binary
      responses:
        '200':
          description: Object uploaded successfully.
        '403':
          description: Forbidden. Authentication or permission error.
        '404':
          description: Bucket not found.
    get:
      operationId: getObject
      summary: Get Object
      description: Retrieves the content of the specified object from the bucket.
      tags:
      - Objects
      parameters:
      - name: bucketName
        in: path
        required: true
        description: Name of the bucket.
        schema:
          type: string
      - name: objectName
        in: path
        required: true
        description: Name/key of the object to retrieve.
        schema:
          type: string
      responses:
        '200':
          description: Object content returned.
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        '404':
          description: Object or bucket not found.
    head:
      operationId: headObject
      summary: Head Object
      description: Retrieves metadata for the specified object without returning the body.
      tags:
      - Objects
      parameters:
      - name: bucketName
        in: path
        required: true
        schema:
          type: string
      - name: objectName
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Object metadata returned in headers.
        '404':
          description: Object not found.
    delete:
      operationId: deleteObject
      summary: Delete Object
      description: Removes the specified object from the bucket.
      tags:
      - Objects
      parameters:
      - name: bucketName
        in: path
        required: true
        schema:
          type: string
      - name: objectName
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Object deleted successfully.
        '404':
          description: Object or bucket not found.
  /{bucketName}?delete:
    post:
      operationId: deleteMultipleObjects
      summary: Delete Multiple Objects
      description: Deletes multiple objects from the bucket in a single request.
      tags:
      - Objects
      parameters:
      - name: bucketName
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteMultipleRequest'
      responses:
        '200':
          description: Objects deletion results returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteMultipleResponse'
  /{bucketName}/{objectName}?restore:
    post:
      operationId: restoreObject
      summary: Restore Object
      description: Restores an archived object for temporary access.
      tags:
      - Objects
      parameters:
      - name: bucketName
        in: path
        required: true
        schema:
          type: string
      - name: objectName
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Object restore initiated.
  /{bucketName}/{objectName}?rename:
    post:
      operationId: renameObject
      summary: Rename Object
      description: Renames an object within the bucket.
      tags:
      - Objects
      parameters:
      - name: bucketName
        in: path
        required: true
        schema:
          type: string
      - name: objectName
        in: path
        required: true
        schema:
          type: string
      - name: newObjectName
        in: query
        required: true
        description: New name for the object.
        schema:
          type: string
      responses:
        '200':
          description: Object renamed successfully.
components:
  schemas:
    DeleteMultipleResponse:
      type: object
      properties:
        deleted:
          type: array
          items:
            type: object
            properties:
              objectName:
                type: string
        errors:
          type: array
          items:
            type: object
            properties:
              objectName:
                type: string
              errorCode:
                type: string
              errorMessage:
                type: string
    DeleteMultipleRequest:
      type: object
      properties:
        objects:
          type: array
          items:
            type: object
            properties:
              objectName:
                type: string
  securitySchemes:
    hmacAuth:
      type: http
      scheme: custom
      description: HMAC-based signature authentication. Requests must include a Date header and Authorization header with HMAC-SHA1 signature.