---
title: "Re-queue a failed or uncertain reply; uncertain delivery requires confirmDuplicateRisk"
method: POST
path: "/workspaces/{workspaceId}/inbox/{conversationId}/messages/{messageId}/retry"
tags: ["Inbox"]
---

# Re-queue a failed or uncertain reply; uncertain delivery requires confirmDuplicateRisk

`POST /workspaces/{workspaceId}/inbox/{conversationId}/messages/{messageId}/retry`

## Request

- Base URL: `https://app.communicate.so/api/v1`
- URL: `https://app.communicate.so/api/v1/workspaces/{workspaceId}/inbox/{conversationId}/messages/{messageId}/retry`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `__Secure-better-auth.session_token`
  - API key in cookie `better-auth.session_token`

Use an explicitly scoped user-bound account bearer credential or an application session. Scope grants are intersected with live membership, role, tenant isolation, agent access and plan limits; a credential does not grant an owner role. Invitation acceptance requires the verified recipient email.

## Path parameters

- `workspaceId` string, required
- `conversationId` string, required
- `messageId` string, uuid, required

## Request body

- RetryInboxReplyRequest
  - `confirmDuplicateRisk` boolean

## Response `200`

Re-queue a failed or uncertain reply; uncertain delivery requires confirmDuplicateRisk

- RetryInboxReplyResponse
  - `id` string, required
  - `workspaceId` string, required
  - `conversationId` string, required
  - `agentId` string, required
  - `role` 'human', required
  - `content` string, required
  - `replyToMessageId` string, nullable
  - `channel` 'widget' | 'email', nullable, required
  - `lifecycleStatus` 'queued' | 'sending' | 'sent' | 'undone' | 'failed' | 'uncertain' | 'bounced', required
  - `lifecycleVersion` integer, required
  - `revisionCount` integer, required
  - `authorMemberId` string, nullable, required
  - `createdAt` string, date-time, required
  - `dispatchAfterAt` string, date-time, nullable, required
  - `undoDeadlineAt` string, date-time, nullable, required
  - `sentAt` string, date-time, nullable, required

## Other responses

- `400`: Invalid request, timezone, resource association or confirmation.
- `401`: Missing, invalid, expired or revoked account credential or application session.
- `403`: Required account scope, live verified identity, membership or role permission is missing.
- `404`: Workspace or addressed resource is not visible to this member.
- `500`: Unexpected server failure.
- `503`: Authorization service temporarily unavailable.

---

[API](https://skmtc.dev/communicate/apis/communicate-public-rest-api-2.md) · [All operations](https://skmtc.dev/communicate/apis/communicate-public-rest-api-2/llms.txt) · [OpenAPI document](https://skmtc.dev/communicate/apis/communicate-public-rest-api-2/revisions/db6be3d36733?raw)
