Xiaomi Multipart Upload API

The Multipart Upload API from Xiaomi — 3 operation(s) for multipart upload.

OpenAPI Specification

xiaomi-multipart-upload-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Xiaomi Galaxy FDS Access Control Multipart Upload 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: Multipart Upload
paths:
  /{bucketName}/{objectName}?uploads:
    post:
      operationId: initiateMultipartUpload
      summary: Initiate Multipart Upload
      description: Initiates a multipart upload session and returns an upload ID.
      tags:
      - Multipart Upload
      parameters:
      - name: bucketName
        in: path
        required: true
        schema:
          type: string
      - name: objectName
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Multipart upload initiated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InitiateMultipartResponse'
  /{bucketName}/{objectName}?partNumber={partNumber}&uploadId={uploadId}:
    put:
      operationId: uploadPart
      summary: Upload Part
      description: Uploads a single part in a multipart upload session.
      tags:
      - Multipart Upload
      parameters:
      - name: bucketName
        in: path
        required: true
        schema:
          type: string
      - name: objectName
        in: path
        required: true
        schema:
          type: string
      - name: partNumber
        in: path
        required: true
        schema:
          type: integer
      - name: uploadId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/octet-stream:
            schema:
              type: string
              format: binary
      responses:
        '200':
          description: Part uploaded successfully.
  /{bucketName}/{objectName}?uploadId={uploadId}:
    post:
      operationId: completeMultipartUpload
      summary: Complete Multipart Upload
      description: Completes the multipart upload by assembling all parts.
      tags:
      - Multipart Upload
      parameters:
      - name: bucketName
        in: path
        required: true
        schema:
          type: string
      - name: objectName
        in: path
        required: true
        schema:
          type: string
      - name: uploadId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompleteMultipartRequest'
      responses:
        '200':
          description: Multipart upload completed.
    delete:
      operationId: abortMultipartUpload
      summary: Abort Multipart Upload
      description: Aborts and cleans up an in-progress multipart upload.
      tags:
      - Multipart Upload
      parameters:
      - name: bucketName
        in: path
        required: true
        schema:
          type: string
      - name: objectName
        in: path
        required: true
        schema:
          type: string
      - name: uploadId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Multipart upload aborted.
components:
  schemas:
    InitiateMultipartResponse:
      type: object
      properties:
        bucketName:
          type: string
        objectName:
          type: string
        uploadId:
          type: string
    CompleteMultipartRequest:
      type: object
      properties:
        parts:
          type: array
          items:
            type: object
            properties:
              partNumber:
                type: integer
              etag:
                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.