Archive or unarchive a conversation
Sets the thread’s status. This is PostZen-local state — Meta has no archive API, so nothing is sent to the platform and a later sync never overwrites it. Requires a read-write API key.
Authorization
bearerAuth PostZen API key.
In: header
Path Parameters
The platform's own conversation (thread) id, as returned in id by the list and search endpoints — not a PostZen document id.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PUT "https://example.com/v1/inbox/conversations/string" \ -H "Content-Type: application/json" \ -d '{ "accountId": "k17d8s9f0a1b2c3d4e5f6g7h8i", "status": "archived" }'{ "success": true, "data": { "id": "t_17845791234567890", "accountId": "k17d8s9f0a1b2c3d4e5f6g7h8i", "status": "archived", "platform": "instagram", "updatedAt": "2026-08-18T16:12:03.000Z" }}{ "error": "Direct messages support Instagram accounts only.", "code": "platformUnsupported", "platform": "tiktok"}{ "error": "Unauthorized"}{ "error": "Reconnect the account to grant PostZen access to its messages.", "code": "platformCapabilityMissing", "platform": "instagram"}{ "error": "That conversation could not be found.", "code": "conversationNotFound"}{ "error": "This connection needs to be reauthorized before its messages can be read.", "code": "connectionDead"}{ "error": "rate_limited", "retryAfter": 30}{ "error": "Failed to create post"}Get a direct message conversation GET
Returns one thread, refreshing PostZen’s stored copy from the platform first. Read-only and read-write API keys are accepted.
Mark a conversation read POST
Moves the thread’s local read watermark to its newest synced message and returns how many incoming messages crossed from unread to read. Nothing is sent to the platform, and reading messages never does this implicitly. Requires a read-write API key.