---
title: "Resolve media UUIDs for a chat message"
method: GET
path: "/chats/{userUuid}/messages/{messageUuid}/media"
---

# Resolve media UUIDs for a chat message

`GET /chats/{userUuid}/messages/{messageUuid}/media`

## Request

- Base URL: `https://api.fanvue.com`
- URL: `https://api.fanvue.com/chats/{userUuid}/messages/{messageUuid}/media`
- Auth: OAuth 2
  - Authorization code: `https://auth.fanvue.com/oauth2/auth`
  - Token URL: `https://auth.fanvue.com/oauth2/token` scopes: `read:chat`

Resolves means: for each requested `mediaUuid`, lookup that media only within the specified `messageUuid`, then return its chat media payload (metadata + signed variant URLs) or a per-item error.

<Note>The `mediaUuids` query parameter is required and accepts up to 20 UUIDs.</Note>

## Path parameters

- `userUuid` string, uuid, required
- `messageUuid` string, uuid, required

## Query parameters

- `mediaUuids` string, required: Comma-separated list of media UUIDs to resolve (required, max 20)
- `variants` string: Optional comma-separated list of variant types to include

## Headers

- `X-Fanvue-API-Version` string, required

## Response `200`

Resolved media payload map

- object
  - `results` object, required: Map media UUID -> media payload (null when unavailable)
  - `errors` object[], required
    - `mediaUuid` string, uuid, required
    - `code` 'NOT_IN_MESSAGE' | 'INTERNAL', required
    - `message` string, required

## Other responses

- `400`: Bad Request - API version not supported OR validation failed OR invalid UUID
- `401`: Unauthorized Response
- `403`: Unauthorized Response
- `404`: Message not found or not accessible
- `410`: API version no longer supported (sunset)
- `429`: Too many requests - rate limit exceeded

---

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