> ## Documentation Index
> Fetch the complete documentation index at: https://docs.upscayl.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Complete Multipart Upload

> This endpoint marks a multipart upload as complete.
It requires the upload ID, a key, and a list of parts with their ETags. This endpoint is used after uploading parts to the multipart URLs generated by the [get-upload-url](/get-upload-url) endpoint.




## OpenAPI

````yaml post /complete-multipart-upload
openapi: 3.0.2
info:
  title: Upscayl Cloud API
  description: |
    API for Upscayl Cloud - An AI-powered image upscaling service.
    Use this API to upscale images, check processing status, and manage uploads.
  version: 1.0.0
  contact:
    name: Upscayl Support
    url: mailto:support@upscayl.org
servers:
  - url: https://api.upscayl.org
    description: Upscayl Server
security: []
paths:
  /complete-multipart-upload:
    post:
      summary: Complete Multipart Upload
      description: >
        This endpoint marks a multipart upload as complete.

        It requires the upload ID, a key, and a list of parts with their ETags.
        This endpoint is used after uploading parts to the multipart URLs
        generated by the [get-upload-url](/get-upload-url) endpoint.
      operationId: completeMultipartUpload
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    uploadId:
                      type: string
                      description: The ID of the multipart upload.
                    key:
                      type: string
                      description: The S3 key where the file is stored.
                    parts:
                      type: array
                      items:
                        type: object
                        properties:
                          PartNumber:
                            type: integer
                            description: The part number.
                          ETag:
                            type: string
                            description: The ETag of the uploaded part.
                      description: A list of parts with their ETags.
                  required:
                    - uploadId
                    - key
                    - parts
      responses:
        '200':
          description: Multipart upload completed successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: success
                  data:
                    type: object
                    properties:
                      status:
                        type: string
                        example: success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                example: 'Bad Request: Missing required parameters'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                example: 'Internal Server Error: Failed to complete upload'
      security:
        - ApiKeyAuth: []
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: >
        API key required to access the API. You can obtain an API key at
        [https://upscayl.org/account/api-keys](https://upscayl.org/account/api-keys)

````