---
title: "Complete image upload"
method: POST
path: "/preview/v2/images/{id}/complete"
tags: ["Images"]
---

# Complete image upload

`POST /preview/v2/images/{id}/complete`

> ⚠️ This endpoint is in [public preview](/preview/roadmap).

Finalize a multipart image upload.

## Path parameters

- `id` string, required — A resource path like 'sfc:image:acme:prod:my-image' _or_ an ID. Resource paths are human-readable but not stable - they change when resources are renamed or moved. IDs are stable and permanent.

## Request body

- SfcApiCompleteUploadRequest — Complete a multipart image upload.
  - `sha256` string, required — Not verified on upload; used during instance boot to verify integrity.

## Response `200`

Upload completed

- SfcApiImageUploadResponse
  - `id` string, required
  - `resource_path` string, required — A resource path for a image resource. Format: sfc:image:<account>:<workspace>:<name>.
  - `owner` string, required
  - `workspace` string, required
  - `name` string, required
  - `object` 'image', required
  - `upload_status` 'started' | 'uploading' | 'completed' | 'failed' | 'revoked', required
  - `sha256` string, nullable
  - `created_at` integer, required — Unix timestamp.

## Other responses

- `400` — Validation failed
- `401` — Unauthorized request
- `404` — Image not found
- `500` — Internal server error

---

[API](https://skmtc.net/sfcompute/apis/san-francisco-compute-documentation.md) · [All operations](https://skmtc.net/sfcompute/apis/san-francisco-compute-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sfcompute/san-francisco-compute-documentation/versions/93dd7661e9bb/schema)
