> ## Documentation Index
> Fetch the complete documentation index at: https://docs.postsyncer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List media

> Paginated media library items across workspaces you can access

## List media

Returns a **paginated** list of media (`data`, `links`, `meta` - same shape as [List posts](/api-reference/posts/list)). Items include `workspace_id`, `folder_id`, `id`, `url`, etc.

### Request

<ParamField query="workspace_id" type="integer">
  Only media in this workspace (must be one you have access to).
</ParamField>

<ParamField query="folder_id" type="integer">
  Only media in this folder (folder must belong to an accessible workspace). Do not use with `root_only`.
</ParamField>

<ParamField query="root_only" type="boolean">
  When true, only items **not** in any folder (`folder_id` null). Do not use with `folder_id`.
</ParamField>

<ParamField query="page" type="integer">
  Page number (default 1).
</ParamField>

<ParamField query="per_page" type="integer">
  Page size (default 50, max 100).
</ParamField>

<RequestExample>
  ```bash theme={null}
  curl -X GET "https://postsyncer.com/api/v1/media?workspace_id=12&per_page=25" \
    -H "Authorization: Bearer YOUR_API_TOKEN"
  ```
</RequestExample>

### Response

`200` - paginated `APIMedia` objects in `data`.

### Errors

`401` · `403` · `422` (invalid filters, e.g. wrong workspace or `folder_id` + `root_only` together)

See [Media overview](/api-reference/media/overview).
