---
title: "Complete an AI asset upload"
method: POST
path: "/ais/{aiId}/assets/{assetId}/complete"
tags: ["ais"]
---

# Complete an AI asset upload

`POST /ais/{aiId}/assets/{assetId}/complete`

## Request

- Base URL: `https://api.darwin.so/api/v1`
- URL: `https://api.darwin.so/api/v1/ais/{aiId}/assets/{assetId}/complete`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

## Path parameters

- `aiId` string, required
- `assetId` string, required

## Response `200`

The verified active asset.

- object
  - `asset` AIAsset, required
    - `id` string, required
    - `aiId` string, required
    - `title` string, required
    - `description` string, nullable
    - `kind` 'image' | 'video' | 'audio' | 'document' | 'data' | 'link' | 'other', required
    - `mimeType` string, nullable
    - `byteSize` integer, nullable
    - `url` string, uri, nullable
    - `previewUrl` string, uri, nullable
    - `visibility` 'PRIVATE' | 'PUBLIC', required
    - `status` string, required
    - `metadata` object, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required

## Other responses

- `400`: The request was invalid.
- `401`: The API key or access token is missing, invalid, expired, or revoked.
- `403`: The principal does not have the required scope or resource access.
- `404`: The resource was not found for this principal.

---

[API](https://skmtc.dev/darwin/apis/darwin-api.md) · [All operations](https://skmtc.dev/darwin/apis/darwin-api/llms.txt) · [OpenAPI document](https://skmtc.dev/darwin/apis/darwin-api/revisions/56166fce7bfb?raw)
