---
title: "Bulk Upsert"
method: POST
path: "/api/v1/freepik-assets/bulk-upsert"
tags: ["freepikAssets"]
---

# Bulk Upsert

`POST /api/v1/freepik-assets/bulk-upsert`

## Request

- Base URL: `https://api.brandbooster.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.brandbooster.ai/api/v1/freepik-assets/bulk-upsert`
- Auth: none declared

Insert or update assets in one call, deduped on freepik_id.

Idempotent: re-running the same sourcing pass updates rows in place rather
than duplicating them. Null fields in the payload never overwrite stored values.

## Request body

- FreepikAssetBulkUpsertDTO
  - `assets` FreepikAssetItemDTO[], required: Batch to insert or update
    - `freepik_id` integer, nullable: Freepik resource id — dedupe key
    - `title` string, nullable
    - `type` string, nullable: photo / vector / psd
    - `orientation` string, nullable: square / horizontal / vertical
    - `width` integer, nullable
    - `height` integer, nullable
    - `preview_url` string, nullable
    - `detail_url` string, nullable
    - `author_name` string, nullable
    - `license` string, nullable: freemium / premium
    - `downloads` integer, nullable
    - `my_url` string, nullable: GCS URL of the licensed full-res file
    - `tags` string[], nullable: namespaced tags, e.g. niche:security
    - `description` string, nullable
    - `comments` string, nullable
    - `is_dark` boolean, nullable
    - `has_text` boolean, nullable
    - `analysis` object, nullable: {'provenance': {...}, 'vision': {...}}
    - `status` string, nullable: active / retired / removed_from_freepik
    - `licensed_at` string, date-time, nullable
    - `usage_count` integer, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/brandbooster/apis/brandbooster-api.md) - [All operations](https://skmtc.dev/brandbooster/apis/brandbooster-api/llms.txt) - [OpenAPI document](https://skmtc.dev/brandbooster/apis/brandbooster-api/revisions/02d28bde684c?raw)
