---
title: "List media"
method: GET
path: "/v1/workspaces/{workspaceId}/media"
tags: ["Media"]
---

# List media

`GET /v1/workspaces/{workspaceId}/media`

## Request

- Base URL: `https://api.maevesocial.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.maevesocial.com/v1/workspaces/{workspaceId}/media`
- Auth: HTTP bearer

Cursor-based paginated media listing with optional type, search, state, folder, label, usage, and sort filters.

## Path parameters

- `workspaceId` string, uuid, required

## Query parameters

- `folderId` string, uuid
- `rootOnly` boolean: Only return media in the workspace root folder.
- `labelIds` string[]: Comma-separated media label UUIDs.
- `isUnlabeled` boolean: Only return media with no attached media labels.
- `type` 'image' | 'video' | 'gif'
- `search` string
- `isFavorite` boolean
- `isUsed` boolean
- `isUnused` boolean
- `state` 'active' | 'deleted' | 'all': Media lifecycle state. Active excludes Bin items; deleted returns Bin items.
- `sortBy` 'createdAt' | 'filename' | 'fileSize'
- `order` 'asc' | 'desc'
- `limit` integer
- `cursor` string
- `source` 'client_upload': Only media uploaded through a client upload link.

## Response `200`

Paginated media list

- object
  - `data` PublicMediaListItemDto[], required
    - `id` string, uuid, required
    - `url` string, required
    - `thumbnailUrl` string, nullable, required
    - `type` string, required
    - `filename` string, required
    - `altText` string, nullable, required
    - `notes` string, nullable, required
    - `fileSize` number, required
    - `width` number, required
    - `height` number, required
    - `durationSeconds` number, nullable, required
    - `folderId` string, uuid, nullable, required
    - `isFavorite` boolean, required
    - `isArchived` boolean, required
    - `deletedAt` string, nullable, required: Set when the item is in the media Bin.
    - `deleteAfter` string, nullable, required: Scheduled permanent deletion time for Bin items.
    - `usageCount` number, required
    - `labels` PublicMediaLabelDto[], required: Workspace labels attached to this media item.
      - `id` string, uuid, required
      - `name` string, required
      - `color` string, nullable, required
      - `groupId` string, uuid, nullable
      - `archivedAt` string, nullable
      - `mergedIntoLabelId` string, uuid, nullable
      - `mergedAt` string, nullable
      - `mergedByUserId` string, uuid, nullable
      - `createdAt` string, required
      - `updatedAt` string, required
    - `createdAt` string, required
    - `updatedAt` string, required
  - `meta` CursorPaginationMetaDto, required
    - `limit` number, required
    - `hasMore` boolean, required
    - `nextCursor` string, nullable, required

---

[API](https://skmtc.dev/maevesocial/apis/maeve-social-api.md) · [All operations](https://skmtc.dev/maevesocial/apis/maeve-social-api/llms.txt) · [OpenAPI document](https://skmtc.dev/maevesocial/apis/maeve-social-api/revisions/1b00fd7e4b15?raw)
