---
title: "Update ticket status, routing and handling; active support requests require explicit dispositions before closure"
method: PATCH
path: "/workspaces/{workspaceId}/inbox/{conversationId}"
tags: ["Inbox"]
---

# Update ticket status, routing and handling; active support requests require explicit dispositions before closure

`PATCH /workspaces/{workspaceId}/inbox/{conversationId}`

## Request

- Base URL: `https://app.communicate.so/api/v1`
- URL: `https://app.communicate.so/api/v1/workspaces/{workspaceId}/inbox/{conversationId}`
- 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

## Request body

- UpdateInboxConversationRequest
  - `status` 'open' | 'snoozed' | 'closed' | 'spam'
  - `assigneeId` string, nullable
  - `priority` 'low' | 'normal' | 'high' | 'urgent'
  - `dueAt` string, date-time, nullable
  - `mode` 'ai' | 'human'
  - `teamId` string, nullable
  - `contactEmail` string, email
  - `notify` boolean
  - `force` boolean
  - `idempotencyKey` string
  - `dispositions` object[]
    - `supportRequestId` string, required
    - `expectedVersion` integer, required
    - `outcome` 'ended_unverified' | 'failed' | 'withdrawn' | 'excluded', required
    - `reason` string, required

## Response `200`

Update ticket status, routing and handling; active support requests require explicit dispositions before closure

- UpdateInboxConversationResponse
  - `conversationId` string, required
  - `workspaceId` string, required
  - `status` 'open' | 'snoozed' | 'closed' | 'spam', required
  - `assigneeId` string, nullable, required
  - `teamId` string, nullable, required
  - `priority` 'low' | 'normal' | 'high' | 'urgent', required
  - `dueAt` string, date-time, nullable, required
  - `updatedAt` string, date-time, required
  - `mode` 'ai' | 'human'

## 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)
