---
title: "Get Deal Image Content"
method: GET
path: "/api/v2/deals/{deal_id}/images/{image_id}/content"
tags: ["api-v2-deal-images"]
---

# Get Deal Image Content

`GET /api/v2/deals/{deal_id}/images/{image_id}/content`

## Request

- Base URL: `https://api.lev.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.lev.com/api/v2/deals/{deal_id}/images/{image_id}/content`
- Auth: none declared

302 to a fresh Document Service signed URL for one library picture.

Memo content stores this URL (``deal_image_content_url``) instead of the service's short-lived
signed one, so a memo reopened after that signature expired still shows its pictures. The browser
reaches it through the portal's ``/api/backend`` proxy, which supplies the session's bearer token
and nothing else, so the deal is in the path and the controller resolves the caller's account
context itself before the deal READ policy; readers with no session (the PDF lambda, the public
memo page) never see it — the docgen route swaps it for a signed URL first.

## Path parameters

- `deal_id` integer, required
- `image_id` string, uuid, required

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

## Changes

- **2026-09-18** `717348e9ff46`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/lev/apis/lev-api/changes/api/v2/deals/:deal_id/images/:image_id/content/get.md)

---

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