---
title: "Add Images Route"
method: POST
path: "/addImages"
---

# Add Images Route

`POST /addImages`

## Request

- Base URL: `https://api.pavoot.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.pavoot.com/addImages`
- Auth: none declared

Endpoint for registering multiple images by UUID and queuing tagging tasks to SQS.

Sync on purpose: every call inside add_images blocks (SQLAlchemy, boto3), so as
an async handler a 50-image upload held the event loop for seconds and stalled
every other request on the worker. FastAPI runs sync handlers in its threadpool.

## Request body

- AddImagesRequest
  - `imageIds` string[], required
  - `projectId` integer, required
  - `photographerId` string, required
  - `folderName` string, nullable
  - `presetBrandTags` string[], nullable
  - `presetPersonalizedTags` string[], nullable
  - `presetPersonTags` string[], nullable
  - `presetGeneralTags` string[], nullable
  - `presetCustomCategoryTags` object, nullable
  - `uploadLinkToken` string, nullable
  - `contentSha256ByImageId` object, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

## Changes

- **2026-09-24** `63d2e8ddf053`: 1 info
  - added the new optional request property `contentSha256ByImageId`

[Operation history](https://skmtc.dev/pavoot/apis/pavoot-api/changes/addImages/post.md)

---

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