Removes a related conversation ID from metadata.linkedConversationIds for the source conversation.
/api/conversations/{id}/link/{targetId}Removes a related conversation ID from metadata.linkedConversationIds for the source conversation. If the target ID is not present, the route still returns the updated conversation state without failing. This only removes the soft cross-reference and does not change either conversation's messages or status.
Bearer API key or X-API-Key header.conversations:writeautomation_api)ID of the conversation to link from.
ID of the linked conversation to remove.
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
{
"id": "11111111-1111-4111-8111-111111111111",
"orgId": "22222222-2222-4222-8222-222222222222",
"visitorId": "33333333-3333-4333-8333-333333333333",
"assignedOperatorId": "44444444-4444-4444-8444-444444444444",
"status": "open",
"priority": "normal",
"resolvedBy": null,
"channel": "widget",
"aiActive": true,
"snoozedUntil": null,
"lastMessageAt": "2026-08-03T08:35:00.000Z",
"metadata": {
"linkedConversationIds": []
},
"createdAt": "2026-08-03T08:30:00.000Z",
"updatedAt": "2026-08-03T08:40:00.000Z",
"searchVector": ""
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}curl --request DELETE \
'https://api.convor.io/api/conversations/11111111-1111-4111-8111-111111111111/link/22222222-2222-4222-8222-222222222222' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer convor_sk_...'const response = await fetch("https://api.convor.io/api/conversations/11111111-1111-4111-8111-111111111111/link/22222222-2222-4222-8222-222222222222", {
method: "DELETE",
headers: {
"Accept": "application/json",
"Authorization": "Bearer convor_sk_..."
},
});
const contentType = response.headers.get("content-type") ?? "";
const data = response.status === 204
? null
: contentType.includes("json")
? await response.json()
: contentType.startsWith("text/")
? await response.text()
: await response.blob();
if (!response.ok) {
const message = typeof data === "object" && data !== null
&& "error" in data && typeof data.error === "object"
&& data.error !== null && "message" in data.error
? String(data.error.message)
: "Convor API request failed (" + response.status + ")";
throw new Error(message);
}
console.log(data);Was this page helpful?