---
title: "Finalize a .cube import: complete multipart upload + create cube row + enqueue provisioning"
method: POST
path: "/spaces/{spaceId}/cubes/imports/{importId}/complete"
tags: ["Imports"]
---

# Finalize a .cube import: complete multipart upload + create cube row + enqueue provisioning

`POST /spaces/{spaceId}/cubes/imports/{importId}/complete`

## Request

- Base URL: `https://krova.cloud/api/v1`
- URL: `https://krova.cloud/api/v1/spaces/{spaceId}/cubes/imports/{importId}/complete`
- Auth: API key in header `X-API-KEY`

## Path parameters

- `spaceId` string, required
- `importId` string, required

## Request body

- object
  - `parts` object[], required
    - `partNumber` integer, required
    - `etag` string, required
  - `config` object, required
    - `vcpus` integer, required
    - `ramMb` integer, required
    - `diskLimitGb` integer, required
    - `imageId` string, required
    - `userData` string, nullable

## Response `200`

Provisioning enqueued

- object
  - `importId` string
  - `cubeId` string
  - `status` 'provisioning'

## Other responses

- `400`: Invalid input
- `403`: Plan limit exceeded
- `409`: Import not in 'uploading' state
- `502`: S3 finalization failed
- `503`: Storage backend unavailable

---

[API](https://skmtc.dev/krova/apis/krova-cloud-api.md) · [All operations](https://skmtc.dev/krova/apis/krova-cloud-api/llms.txt) · [OpenAPI document](https://skmtc.dev/krova/apis/krova-cloud-api/revisions/46bb68281ce1?raw)
