---
title: "Upload Reference Images"
method: POST
path: "/api/v1/ad-campaigns/{profile_id}/upload-reference-images"
tags: ["ad-campaigns", "ad-campaigns"]
---

# Upload Reference Images

`POST /api/v1/ad-campaigns/{profile_id}/upload-reference-images`

## Request

- Base URL: `https://api.trylapis.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.trylapis.com/api/v1/ad-campaigns/{profile_id}/upload-reference-images`
- Auth: HTTP bearer

Upload manual reference images (base64 or http URLs) for a profile.

Called by the dashboard brand review step in manual-reference mode. Images
are moderated, then stored against the profile's Saphire website via
ManualReferenceService, replacing any existing manual references.
The first image is treated as the logo. 1-10 images allowed.

## Path parameters

- `profile_id` integer, required

## Query parameters

- `client_user_id` integer, nullable: Client user ID to view data for

## Headers

- `x-lapis-dev-token` string, nullable
- `x-assume-user-id` integer, nullable

## Request body

- ReferenceImagesUploadRequest: Body for POST /{profile_id}/upload-reference-images.
  - `images` string[], required
  - `formats` string[], nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-17** `ca7247e71a62`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/trylapis/apis/lapiscore-api/changes/api/v1/ad-campaigns/:profile_id/upload-reference-images/post.md)

---

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