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

# List content

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

## 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}/content`
- Auth: HTTP bearer

Offset-based paginated content list. Filters to public statuses (draft, scheduled, sent, failed) by default and supports workflow, integration, sorting, and opt-in reviewLifecycle filters.

## Path parameters

- `workspaceId` string, uuid, required

## Query parameters

- `status` 'draft' | 'scheduled' | 'sent' | 'failed'
- `workflowStatus` 'drafting' | 'review' | 'approved' | 'scheduled' | 'published'
- `workflowStatuses` ContentWorkflowStatus[]: Comma-separated or repeated workflow statuses. Takes precedence over workflowStatus when provided.
- `includeReviewLifecycle` boolean: When true, includes reviewLifecycle on list items. Defaults false unless a reviewLifecycle filter is present.
- `reviewLifecyclePhase` 'none' | 'team' | 'client'
- `reviewLifecycleState` 'none' | 'pending' | 'changes_requested' | 'needs_schedule' | 'approved' | 'overridden' | 'cancelled' | 'expired'
- `reviewLifecycleActor` 'none' | 'agency' | 'author' | 'approver' | 'client' | 'system'
- `reviewLifecycleNextAction` 'request_review' | 'send' | 'decide' | 'address_changes' | 'schedule' | 'publish' | 'none'
- `reviewLifecycleBlocksPublishing` boolean: Filter content by whether reviewLifecycle currently blocks scheduling or publishing.
- `reviewLifecycleBlocker` 'missing_schedule' | 'schedule_expired' | 'review_pending' | 'changes_requested' | 'review_cancelled' | 'review_expired'
- `reviewLifecycleBatchId` string, uuid: Filter by reviewLifecycle.clientReview.batchId.
- `reviewLifecycleItemId` string, uuid: Filter by reviewLifecycle.clientReview.itemId.
- `integrationId` string, uuid
- `sortBy` 'createdAt' | 'updatedAt' | 'scheduledAt' | 'priority'
- `sortDirection` 'asc' | 'desc'
- `limit` integer
- `offset` integer

## Response `200`

Paginated content list

- object
  - `data` PublicContentListItemDto[], required
    - `id` string, uuid, required
    - `deliveryMode` 'direct' | 'tiktok_drafts': TikTok delivery destination. tiktok_drafts requires finishing in TikTok even when status is sent.
    - `groupId` string, uuid
    - `organizationalTitle` string, nullable, required: Organizational title shown inside Maeve. Never published.
    - `internalTitle` string, nullable, required
    - `publishTitle` string, nullable, required
    - `origin` 'user_created' | 'platform_import', required: Content origin. platform_import rows are imported reference records and have restricted actions.
    - `allowedActions` PublicContentAllowedActionsDto, required
      - `canEdit` boolean, required
      - `canReschedule` boolean, required
      - `canRetry` boolean, required
      - `canPublishNow` boolean, required
      - `canDelete` boolean, required
      - `canReuseAsDraft` boolean, required
      - `canUpdatePublishedCaption` boolean, required
    - `notes` string, required: Free-form rich-text notes (HTML). Internal — never published. Empty string when none set.
    - `captions` CaptionsDto
      - `canonical` string, nullable
      - `overrides` CaptionOverridesDto
        - `x` string, nullable
        - `linkedin` string, nullable
        - `linkedin-page` string, nullable
        - `youtube` string, nullable
        - `instagram` string, nullable
        - `facebook` string, nullable
        - `threads` string, nullable
        - `tiktok` string, nullable
        - `pinterest` string, nullable
        - `google-business-profile` string, nullable
    - `resolvedCaption` string, required
    - `status` 'draft' | 'pending_approval' | 'rejected' | 'scheduled' | 'sent' | 'failed' | 'cancelled', required
    - `workflowStatus` 'drafting' | 'review' | 'approved' | 'scheduled' | 'published', required
    - `reviewLifecycle` PublicReviewLifecycleDto
      - `phase` 'none' | 'team' | 'client', required
      - `state` 'none' | 'pending' | 'changes_requested' | 'needs_schedule' | 'approved' | 'overridden' | 'cancelled' | 'expired', required
      - `actor` 'none' | 'agency' | 'author' | 'approver' | 'client' | 'system', required
      - `nextAction` 'request_review' | 'send' | 'decide' | 'address_changes' | 'schedule' | 'publish' | 'none', required
      - `blocksPublishing` boolean, required
      - `blockers` PublicReviewLifecycleBlockerDto[], required
        - `code` 'missing_schedule' | 'schedule_expired' | 'review_pending' | 'changes_requested' | 'review_cancelled' | 'review_expired', required
        - `message` string
        - `details` object
      - `progress` PublicReviewLifecycleProgressDto
        - `reviewId` string, uuid, required
        - `itemId` string, uuid, required
        - `label` string, nullable
        - `stageKind` 'team' | 'client', nullable
        - `stagePosition` number, nullable
        - `stageCount` number, required
        - `rule` 'any' | 'all', required
        - `inOrder` boolean, required
        - `waitingOn` object[], required
        - `version` number, required
    - `publishingState` PublicPublishingStateDto, required
      - `code` string, required
      - `phase` string, required
      - `label` string, required
      - `description` string, required
      - `severity` string, required
      - `isTerminal` boolean, required
      - `isEditable` boolean, required
      - `isActionLocked` boolean, required
      - `scheduledAt` string, nullable, required
      - `sentAt` string, nullable, required
      - `lastAttemptAt` string, nullable, required
      - `nextAttemptAt` string, nullable, required
      - `overdueSeconds` number, nullable, required
      - `trigger` string, nullable, required
      - `message` string, nullable, required
    - `scheduledAt` string, nullable, required
    - `sentAt` string, nullable, required
    - `calendarAt` string, nullable, required: Timestamp used for calendar display: sentAt for published content, scheduledAt for planned content.
    - `archivedAt` string, nullable, required
    - `createdAt` string, required
    - `updatedAt` string, required
    - `error` string, nullable, required
    - `failureCategory` 'connection_expired' | 'account_action_required' | 'credits_depleted' | 'platform_rejected' | 'missed_window' | 'publishing_outcome_unknown' | 'temporary_service_issue' | 'unknown', nullable, required: Backend-owned failed-post category. Null unless status is failed.
    - `recommendedAction` 'reconnect_account' | 'retry_after_account_action' | 'retry_now' | 'edit_and_reschedule' | 'reschedule_only' | 'confirm_result' | 'upgrade_billing' | 'delete_only', nullable, required: Backend-recommended recovery action for failed content. Null unless status is failed.
    - `platformDeletedAt` string, nullable, required
    - `platformDeletedByUserId` string, uuid, nullable, required
    - `integrationId` string, uuid, required
    - `platform` string, required
    - `platformUsername` string, required
    - `avatarUrl` string, nullable, required
    - `platformName` string, nullable, required
    - `facebookLinkUrl` string, nullable: Facebook Page feed link URL for Facebook link posts.
    - `facebookCtaType` string, nullable: Facebook Page feed link post CTA button type.
    - `postType` string, required
    - `poll` LinkedInPollDto
      - `question` string, required
      - `options` LinkedInPollOptionDto[], required
        - `text` string, required
      - `duration` 'ONE_DAY' | 'THREE_DAYS' | 'SEVEN_DAYS' | 'FOURTEEN_DAYS', required
      - `voteSelectionType` 'SINGLE_VOTE', nullable
      - `isVoterVisibleToAuthor` boolean, nullable
    - `firstComment` string, nullable, required
    - `shareToFeed` boolean, required
    - `contentMedia` PublicContentMediaAttachmentDto[], required
      - `mediaId` string, uuid, required
      - `order` number, required
      - `type` string, nullable, required
      - `url` string, nullable, required
      - `thumbnailUrl` string, nullable, required
      - `filename` string, nullable, required
      - `crops` object, required
      - `userTags` object[], required
      - `productTags` object[], required
      - `cover` object, nullable, required
    - `media` PublicContentMediaItemDto[], required
      - `id` string, uuid, required
      - `url` string, required
      - `type` string, required
    - `threadSize` number, required
    - `labelIds` string[], required: Workspace label IDs attached to this content.
    - `labels` PublicContentLabelDto[], required: Workspace labels attached to this content.
      - `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
    - `pillarIds` string[], required: Content pillar IDs attached to this content.
    - `pillars` PublicContentPillarDto[], required: Content pillars attached to this content.
      - `id` string, uuid, required
      - `name` string, required
      - `color` string, nullable, required
      - `description` string, nullable
      - `sortOrder` number, required
      - `archivedAt` string, nullable
    - `formatIds` string[], required: Content format IDs attached to this content.
    - `formats` PublicContentFormatDto[], required: Content formats attached to this content.
      - `id` string, uuid, required
      - `name` string, required
      - `color` string, nullable, required
      - `description` string, nullable
      - `sortOrder` number, required
      - `isSeeded` boolean
      - `archivedAt` string, nullable
    - `campaignId` string, uuid, nullable, required
    - `campaignPhaseId` string, uuid, nullable, required
    - `priority` 'urgent' | 'high' | 'medium' | 'low'
    - `assigneeIds` string[], required
    - `assignees` PublicContentAssigneeDto[], required
      - `id` string, uuid, required
      - `displayName` string, required
      - `email` string, required
      - `avatarUrl` string, nullable, required
    - `recurringMetadata` PublicRecurringMetadataDto
      - `seriesId` string, uuid, required: Recurring series this content belongs to.
      - `occurrenceId` string, uuid, required: Recurring occurrence this content was generated from.
      - `occurrenceIndex` number, required: Zero-based position of the occurrence within the series.
      - `seriesVersion` number, required: Series version the occurrence was generated against.
      - `seriesStatus` 'active' | 'cancelled' | 'completed', required
      - `occurrenceStatus` 'pending_generation' | 'scheduled' | 'in_review' | 'published' | 'failed' | 'cancelled' | 'skipped' | 'blocked', required
      - `localDate` string, required: Occurrence date in the series timezone (YYYY-MM-DD).
      - `localTime` string, required: Occurrence time of day in the series timezone (HH:mm).
      - `timezone` string, required: IANA timezone of the recurring series.
      - `isDetached` boolean, required: True when the occurrence has been detached from the series.
      - `currentVersion` number, required: Current version of the series.
      - `errorCode` string, nullable
      - `errorMessage` string, nullable
  - `meta` OffsetPaginationMetaDto, required
    - `limit` number, required
    - `offset` number, required
    - `total` number, required
    - `hasMore` boolean, 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)
