Overview
Updates a single conversation. This endpoint is used for several distinct operations against the same conversation resource:
- Archive / unarchive
- Mark as spam / not spam
- Mark as read / unread for the business side (
business_unread) - Soft delete (
deleted) - Create, update, complete, or remove a follow-up reminder for the requesting staff member
All fields are optional in the request body — send only the fields you want to change. Only fields that are present in the request body are evaluated.
Available for Staff tokens.
Follow-up flow
Follow-ups in vcita are scoped to a single staff member on a single conversation, and are stored on the underlying Collaborator record (per staff/conversation), not on the conversation itself. Sending follow-up fields on this endpoint always operates on the follow-up record of the staff identified by the bearer token.
The endpoint branches based on the combination of follow_up and archived in the request body:
| Sent fields | Behavior |
|---|---|
follow_up: true, no archived (or archived: false) | Create or update a follow-up for the requesting staff. Creates a Collaborator if one does not already exist. Sets follow_up=true, follow_up_message, and optionally follow_up_date. If the conversation was archived, it is automatically unarchived. If a follow_up_message is provided without a follow_up_date, an internal text message is added to the conversation. |
follow_up: true, archived: true | Remove the follow-up (used to dismiss/snooze). If complete_follow_up: true is also sent, the follow-up is marked as completed. |
follow_up: false | Remove the follow-up. If complete_follow_up: true is also sent, the follow-up is marked as completed. |
Note: The follow-up branch only fires when the request body actually contains a follow_up key, and the add/remove logic only fires when the new follow_up value differs from the current one (with the exception of the follow_up: true, archived: true case, which always removes).
Permitted update fields
Fields outside of the follow-up flow are permitted via Conversation::READ_WRITE_PARAMS: archived, business_unread, spam, deleted, campaign, source_type, mobile. The follow-up fields (follow_up, follow_up_date, follow_up_message, complete_follow_up) are read separately from the request body and are not part of the permitted attributes list.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
