---
title: "Preview which approval workflow each channel routes to"
method: POST
path: "/v1/workspaces/{workspaceId}/reviews/resolve"
tags: ["Reviews"]
---

# Preview which approval workflow each channel routes to

`POST /v1/workspaces/{workspaceId}/reviews/resolve`

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

Send either `contentIds` for saved content, or `channels` with the root post metadata for content that is not saved yet. Unsaved channels are routed as authored by the caller. Submitting routes what is saved again, so this is only a preview.

## Path parameters

- `workspaceId` string, uuid, required

## Request body

- ResolveReviewDto
  - `contentIds` string[], nullable
  - `postId` string, uuid, nullable
  - `channels` ResolveReviewChannelDto[], nullable
    - `contentId` string, uuid, nullable
    - `integrationId` string, uuid, nullable
    - `postType` string, nullable
  - `labelIds` string[], nullable
  - `pillarIds` string[], nullable
  - `formatIds` string[], nullable
  - `campaignId` string, uuid, nullable

## Response `200`

One resolution per channel

- object
  - `data` PublicReviewResolutionDto[], required
    - `contentId` string, uuid, nullable, required: Null for a channel that is not saved yet.
    - `integrationId` string, uuid, required
    - `platform` string, required
    - `workflow` PublicReviewResolutionWorkflowDto, required
      - `id` string, uuid, required
      - `name` string, required
      - `mode` 'required' | 'suggested', required
      - `stages` PublicApprovalWorkflowStageDto[], required
        - `id` string, uuid, required
        - `position` number, required
        - `kind` 'team' | 'client', required
        - `rule` 'any' | 'all', required
        - `inOrder` boolean, required
        - `deadlineDays` number, nullable, required
        - `participants` PublicApprovalWorkflowParticipantDto[], required
          - `id` string, uuid, required
          - `kind` 'member' | 'role' | 'contact', required
          - `userId` string, uuid: Present for a member.
          - `role` 'manager' | 'editor' | 'creator': Present for a role.
          - `name` string, required
          - `email` string: Present for a client contact.
          - `available` boolean: Present for a member; false once they have left the workspace.
    - `matched` PublicReviewResolutionMatchDto[], required: Empty for the catch-all.
      - `kind` 'channel' | 'platform' | 'post_type' | 'author' | 'author_role' | 'label' | 'pillar' | 'format' | 'campaign', required
      - `value` string, required
      - `label` string, required
    - `updatedAt` string, nullable, required: Saved content as stored now; submit it back as expectedUpdatedAt.
    - `versionId` string, uuid, nullable, required: The version a current review binds; submit it back as expectedVersionId.
  - `meta` unknown, 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)
