---
title: "Get review template media presigned S3 url"
method: GET
path: "/customer-engagement/review-template/media/upload-url"
tags: ["Review Generation"]
---

# Get review template media presigned S3 url

`GET /customer-engagement/review-template/media/upload-url`

## Request

- Base URL: `https://uberall.com/api`
- URL: `https://uberall.com/api/customer-engagement/review-template/media/upload-url`
- Auth: none declared
- TypeScript: <https://skmtc.dev/uberall/apis/uberall-api/docs/customer-engagement/review-template/media/upload-url/get.ts> (a function with typed inputs; its response is checked against the schema)

## Query parameters

- `type` 'LOGO_PHOTO', required: Type of the media to upload
- `contentType` 'image/png' | 'image/jpeg', required: Content type of the media to upload
- `fileName` string, required: File name of the media to upload, used to build the S3 object key

## Response `200`

OK response

- object
  - `mediaId` integer, nullable
  - `message` string, nullable
  - `uploadUrl` string, nullable

## Other responses

- `400`: Invalid ReviewTemplateMediaRequest (failed request validation)
- `403`: User does not have right permission to perform this action
- `500`: Unexpected server error. Handled failures return this endpoint's usual response shape with only the message field set; unhandled failures return the generic error envelope with errorMessage and errorCode instead.

## Changes

> 38 revisions in range; 26 not diffed.

- **2026-08-15** `172d9d1af202`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/uberall/apis/uberall-api/changes/customer-engagement/review-template/media/upload-url/get.md)

---

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