---
title: "List reusable media"
method: GET
path: "/media"
tags: ["Media"]
---

# List reusable media

`GET /media`

## Request

- Base URL: `https://api.post-quest.com/v1`
- URL: `https://api.post-quest.com/v1/media`
- Auth: HTTP bearer

Requires `media:read`. Returned signed URLs expire after five minutes.

## Query parameters

- `limit` integer
- `offset` integer

## Response `200`

Offset-paginated media.

- MediaListResponse
  - `data` Media[], required
    - `id` string, uuid, required
    - `filename` string, required
    - `original_filename` string, required
    - `mime_type` string, nullable, required
    - `category` string, required
    - `type` string, required
    - `byte_size` integer, required
    - `size_mb` number, required
    - `dimensions` object, required
      - `width` integer, nullable, required
      - `height` integer, nullable, required
    - `width` integer, nullable, required
    - `height` integer, nullable, required
    - `duration_seconds` number, nullable, required
    - `thumbnail_url` string, uri, nullable, required
    - `preview_url` string, uri, nullable, required
    - `original_url` string, uri, nullable, required
    - `url` string, uri, nullable, required
    - `conversion_state` 'ready' | 'pending' | 'not_applicable', required
    - `has_poster` boolean, required
    - `collection` string, required
    - `is_metered` boolean, required
    - `original_removed` boolean, required
    - `original_expires_at` string, date-time, nullable, required
    - `usage_count` integer, required
    - `metadata_status` string, required
    - `created_at` string, date-time, nullable, required
    - `urls_expire_at` string, date-time, required
    - `retention` string, required
  - `meta` PaginationMeta, required
    - `total` integer, required
    - `limit` integer, required
    - `offset` integer, required
    - `timezone` string

## Other responses

- `400`: Malformed request, invalid idempotency key, or credential in the query string.
- `401`: Missing, invalid, expired, revoked, or unbound API key.
- `402`: The workspace does not have effective paid REST access.
- `403`: The key lacks an ability, onboarding is incomplete, or publish-now is disabled.
- `422`: Request fields, platform capability, media, schedule, or quota validation failed.
- `429`: The per-key global or media-specific request limit was exceeded.
- `500`: Unexpected server failure. Internal details are never exposed.

---

[API](https://skmtc.dev/post-quest/apis/postquest-public-api.md) · [All operations](https://skmtc.dev/post-quest/apis/postquest-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/post-quest/apis/postquest-public-api/revisions/089d3c362f35?raw)
