---
title: "Create an asset"
method: POST
path: "/api/v1/assets"
tags: ["Assets"]
---

# Create an asset

`POST /api/v1/assets`

## Request

- Base URL: `https://numonic.ai`
- URL: `https://numonic.ai/api/v1/assets`
- Auth: API key in header `x-api-key`

Register a new asset after uploading via signed URL. Triggers metadata extraction and embedding generation.

## Headers

- `X-Tenant-ID` string, uuid, required: Target tenant UUID. Required when API key has access to multiple tenants.

## Request body

- CreateAssetRequest
  - `storagePath` string, required
  - `filename` string, required
  - `mimeType` string, required
  - `title` string
  - `description` string
  - `tags` string[]
  - `collectionH` string
  - `folderId` string, uuid
  - `uploadOrigin` 'human_initiated' | 'agent_generated'
  - `uploadRoute` 'node' | 'watcher' | 'browser-import'
  - `sourceFileLastModified` string, date-time
  - `posterStoragePath` string
  - `posterMimeType` 'image/png' | 'image/jpeg' | 'image/webp'

## Response `201`

Asset created

- AssetCreatedResponse
  - `assetH` string, required: Hash of the newly created asset
  - `interactionH` string, required: Hash of the creation interaction (provenance record)
  - `extractedMetadata` unknown

## Other responses

- `400`: Validation failed

---

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